2017-05-05 22 views
0

在GraphQLScalarTypeConfig的定义是:GraphQL中valueAST的含义是什么?

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

见:http://graphql.org/graphql-js/type/#graphqlscalartype

什么的valueASTparseLiteral?: (valueAST: Value) => ?InternalType;完整表达的意思?

我知道“parseLiteral?”意思是parseLiteral是可选的,但其余的行?

回答

1

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

所以行name: string;意味着字段name是类型string

然而,在3案件serializeparseValueparseLiteral实际上是一个功能!因此,您在冒号后看到的是该函数的输入并返回类型。

你问parseLiteral?: (valueAST: Value) => ?InternalType;线意味着我们有一个可选(因为你已经说的)被称为parseLiteral功能和需要为输入参数的AST和回报类型的值?InternalType

+0

谢谢!我假设你是Facebook开发人员。你的解释很好!如果facebook在ref文档中记录这种语法,或者在GQL文档中编写关于此语法规则和文档的文档,那么更好。所以很多开发人员可以节省谷歌时间! – Gerd