valueAST在GraphQL中的含义是什么?

valueAST在GraphQL中的含义是什么?,graphql,Graphql,在GraphQLScalarTypeConfig的定义中: type GraphQLScalarTypeConfig<InternalType> = { name: string; description?: ?string; serialize: (value: mixed) => ?InternalType; parseValue?: (value: mixed) => ?InternalType; parseLiteral?: (valueAST

在GraphQLScalarTypeConfig的定义中:

type GraphQLScalarTypeConfig<InternalType> = {
  name: string;
  description?: ?string;
  serialize: (value: mixed) => ?InternalType;
  parseValue?: (value: mixed) => ?InternalType;
  parseLiteral?: (valueAST: Value) => ?InternalType;
}
见:

valueAST和parseLiteral的完整表达式的含义是什么?:valueAST:Value=>?InternalType


我知道吗?mean parseLiteral是可选的,但行的其余部分?

AST==抽象语法树

所有GraphQL查询都在AST数据结构中转换。AST是图形QL内部查询处理的基础


我假设valueAST:Value=>?InternalType;平均值:valueAST是一种内部GraphQL类型。

关于显示的代码,首先要注意的是,每个冒号后面都跟在指定字段的类型后面

所以行名为:string;表示字段名的类型为字符串

但是,在serialize、parseValue和parseLiteral三种情况下,类型实际上是一个函数!因此,在冒号后面看到的是该函数的输入和返回类型


您询问的关于parseLiteral?:valueAST:Value=>?InternalType的行;这意味着我们有一个可选函数,如您所说,该函数名为parseLiteral,它接受AST作为输入参数,并返回类型为?InternalType的值。

谢谢!我假设你是facebook的开发者。你的解释很好!如果facebook在ref文档中记录这种语法,或者在GQL文档中写一个关于这种语法规则的文档和链接,效果会更好。所以很多开发者可以节省谷歌的时间!!!