graphql/validation
モジュールは、GraphQLの結果を生成する際のバリデーションフェーズを担当します。このモジュールは、graphql/validation
モジュールからでも、ルートのgraphql
モジュールからでもインポートできます。例:
import { validate } from "graphql/validation" // ES6var { validate } = require("graphql/validation") // CommonJS
function validate( schema: GraphQLSchema, ast: Document, rules?: Array<any>): Array<GraphQLError>
仕様の「バリデーション」セクションを実装します。
バリデーションは同期的に実行され、発生したエラーの配列を返します。エラーが発生せず、ドキュメントが有効な場合は空の配列を返します。
特定のバリデーションルールのリストを指定できます。指定しない場合は、GraphQL仕様で定義されているデフォルトのルールのリストが使用されます。
各バリデーションルールは、ビジター(language/visitor APIを参照)を返す関数です。ビジターメソッドは、無効な場合はGraphQLError、またはGraphQLErrorの配列を返すことが期待されます。
ビジターは、visitSpreadFragments: true
を指定することもできます。これにより、ビジターの動作が変更され、トップレベルで定義されたフラグメントをスキップし、代わりにスプレッドが発生するたびにそれらのフラグメントを訪問するようになります。
var specifiedRules: Array<(context: ValidationContext): any>
このセットには、GraphQL仕様で定義されているすべてのバリデーションルールが含まれています。