graphql
Version:
A Query Language and Runtime which can target any service.
36 lines (35 loc) • 1.49 kB
TypeScript
/** @category Introspection */
import type { GraphQLSchemaValidationOptions } from "../type/schema.js";
import { GraphQLSchema } from "../type/schema.js";
import type { IntrospectionQuery } from "./getIntrospectionQuery.js";
/**
* Build a GraphQLSchema for use by client tools.
*
* Given the result of a client running the introspection query, creates and
* returns a GraphQLSchema instance which can be then used with all graphql-js
* tools, but cannot be used to execute a query, as introspection does not
* represent the "resolver", "parse" or "serialize" functions or any other
* server-internal mechanisms.
*
* This function expects a complete introspection result. Don't forget to check
* the "errors" field of a server response before calling this function.
* @param introspection - Introspection result data to build from.
* @param options - Optional configuration for this operation.
* @returns The client schema represented by the introspection result.
* @example
* ```ts
* import {
* buildClientSchema,
* introspectionFromSchema,
* buildSchema,
* } from 'graphql/utilities';
*
* const schema = buildSchema('type Query { hello: String }');
* const clientSchema = buildClientSchema(introspectionFromSchema(schema), {
* assumeValid: true,
* });
*
* clientSchema.getQueryType().name; // => 'Query'
* ```
*/
export declare function buildClientSchema(introspection: IntrospectionQuery, options?: GraphQLSchemaValidationOptions): GraphQLSchema;