GraphQL ロゴGraphQL

graphql/utilities

graphql/utilities モジュールには、GraphQL言語と型オブジェクトで使用するための一般的な便利な計算が含まれています。graphql/utilitiesモジュールまたはルートのgraphqlモジュールからインポートできます。例:

import { introspectionQuery } from "graphql" // ES6
var { introspectionQuery } = require("graphql") // CommonJS

概要#

イントロスペクション

スキーマ言語

ビジター

値の検証

イントロスペクション#

introspectionQuery#

var introspectionQuery: string

サーバーの型システムを再現するのに十分な情報を得るために、サーバーのイントロスペクションシステムをクエリする GraphQL クエリ。

buildClientSchema#

function buildClientSchema(
introspection: IntrospectionQuery
): GraphQLSchema

クライアントツールで使用する GraphQLSchema を構築します。

クライアントがイントロスペクションクエリを実行した結果に基づいて、GraphQLSchemaインスタンスを作成して返します。これはすべてのGraphQL.jsツールで使用できますが、イントロスペクションは「リゾルバー」、「parse」または「serialize」関数やその他のサーバー内部メカニズムを表さないため、クエリを実行するために使用することはできません。

スキーマの表現#

buildSchema#

function buildSchema(source: string | Source): GraphQLSchema {

GraphQL スキーマ言語から GraphQLSchema オブジェクトを作成します。スキーマはデフォルトのリゾルバーを使用します。GraphQL スキーマ言語の詳細については、スキーマ言語ドキュメントまたはこのスキーマ言語チートシートを参照してください。

printSchema#

function printSchema(schema: GraphQLSchema): string {

指定されたスキーマをスキーマ言語形式で出力します。

printIntrospectionSchema#

function printIntrospectionSchema(schema: GraphQLSchema): string {

組み込みのイントロスペクションスキーマをスキーマ言語形式で出力します。

buildASTSchema#

function buildASTSchema(
ast: SchemaDocument,
queryTypeName: string,
mutationTypeName: ?string
): GraphQLSchema

これは、graphql/language/schemaparseSchemaIntoASTで生成されたスキーマドキュメントのASTを受け取り、GraphQLSchemaインスタンスを構築します。これは、すべてのGraphQL.jsツールで使用できますが、イントロスペクションは「リゾルバー」、「parse」または「serialize」関数やその他のサーバー内部メカニズムを表さないため、クエリを実行するために使用することはできません。

typeFromAST#

function typeFromAST(
schema: GraphQLSchema,
inputTypeAST: Type
): ?GraphQLType

GraphQL AST に表示される型名とスキーマを指定すると、そのスキーマに対応する GraphQLType を返します。

astFromValue#

function astFromValue(
value: any,
type: GraphQLInputType
): ?Value

JavaScript 値に基づいて GraphQL 入力値 AST を生成します。

オプションで、GraphQL型を提供することができ、値プリミティブを区別するために使用されます。

ビジター#

TypeInfo#

class TypeInfo {
constructor(schema: GraphQLSchema)
getType(): ?GraphQLOutputType {
getParentType(): ?GraphQLCompositeType {
getInputType(): ?GraphQLInputType {
getFieldDef(): ?GraphQLFieldDefinition {
getDirective(): ?GraphQLDirective {
getArgument(): ?GraphQLArgument {
}

TypeInfo は、GraphQL スキーマが与えられた場合に、enter(node) および leave(node) を呼び出すことで、再帰的な降下中に GraphQL ドキュメント AST の任意の時点での現在のフィールドと型定義を追跡できるユーティリティクラスです。

値の検証#

isValidJSValue#

function isValidJSValue(value: any, type: GraphQLInputType): string[]

JavaScript 値と GraphQL 型を指定して、その型に対して値が受け入れられるかどうかを判断します。これは主に、クエリ変数のランタイム値を検証するのに役立ちます。

isValidLiteralValue#

function isValidLiteralValue(
type: GraphQLInputType,
valueAST: Value
): string[]

入力型が与えられた場合に値リテラル AST が有効かどうかを判断するバリデーター用のユーティリティ。

これはリテラル値のみを検証し、変数は正しい型の値を提供すると想定されていることに注意してください。

続きを読む →graphql/validation