2017-05-05 53 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