GraphQL ppx中捕获并集的ReasonML多态性变体

GraphQL ppx中捕获并集的ReasonML多态性变体,graphql,apollo,reason,ppx,polymorphic-variants,Graphql,Apollo,Reason,Ppx,Polymorphic Variants,我在ppx中的联合解释多态变体时遇到了麻烦 在我的浏览器中,使用Js.log我发现一个对象 {__typename: "MultipleChoiceQuestion", id: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBaseId: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBase: {…}, choices: Array(4

我在ppx中的联合解释多态变体时遇到了麻烦

在我的浏览器中,使用
Js.log
我发现一个对象

{__typename: "MultipleChoiceQuestion", id: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBaseId: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBase: {…}, choices: Array(4)}choices: (4) [{…}, {…}, {…}, {…}]
使用如下所示的graphql查询:

module Fields = [%graphql
  {|
    fragment TestFields on Test {
      questions {
        __typename
        ...on LongAnswerQuestion {
          ...LongAnswerQuestionFields
        }
        ...on MultipleChoiceQuestion {
          ...MultipleChoiceQuestionFields
        }
        ...on TrueFalseQuestion {
          ...TrueFalseQuestionFields
        }
        ...on FillInTheBlankQuestion {
          ...FillInTheBlankQuestionFields
        }
      }
   |}
 ];
多态变体正在返回:

{__typename: "MultipleChoiceQuestion", id: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBaseId: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBase: {…}, choices: Array(4)}choices: (4) [{…}, {…}, {…}, {…}]
LongAnswerQuestion q
undefined
通过此处捕获:

  Js.log("Question_Model obj");
  Js.log(obj);
  switch (obj) {
  | `LongAnswerQuestion(q) =>{
    Js.log("LongAnswerQuestion q");
    Js.log(q);
    q
    |> LongAnswerQuestion.Model.objectToId
    |> Schema.LongAnswerQuestion.idToString
    |> q => UnionSchema.Question.LongAnswer(q)
  }
  | `MultipleChoiceQuestion(q) =>{
    Js.log("MultipleChoiceQuestion q");
    Js.log(q);
    q
    |> MultipleChoiceQuestion.Model.objectToId
    |> Schema.MultipleChoiceQuestion.idToString
    |> q => UnionSchema.Question.MultipleChoice(q)
   }
   ...
我使用的是
“reason apollo客户端”:“1.0.0-beta.0”
“@reasonml community/graphql ppx”:“1.0.1”