import { DocumentNode } from '../language/ast'; import { Source } from '../language/source'; import { GraphQLSchema, GraphQLSchemaValidationOptions } from '../type/schema'; import { ParseOptions } from '../language/parser'; interface BuildSchemaOptions extends GraphQLSchemaValidationOptions { /** * Descriptions are defined as preceding string literals, however an older * experimental version of the SDL supported preceding comments as * descriptions. Set to true to enable this deprecated behavior. * This option is provided to ease adoption and will be removed in v16. * * Default: false */ commentDescriptions?: boolean; /** * Set to true to assume the SDL is valid. * * Default: false */ assumeValidSDL?: boolean; } /** * This takes the ast of a schema document produced by the parse function in * src/language/parser.js. * * If no schema definition is provided, then it will look for types named Query * and Mutation. * * Given that AST it constructs a GraphQLSchema. The resulting schema * has no resolve methods, so execution will use default resolvers. * * Accepts options as a second argument: * * - commentDescriptions: * Provide true to use preceding comments as the description. * */ export function buildASTSchema( documentAST: DocumentNode, options?: BuildSchemaOptions, ): GraphQLSchema; /** * A helper function to build a GraphQLSchema directly from a source * document. */ export function buildSchema( source: string | Source, options?: BuildSchemaOptions & ParseOptions, ): GraphQLSchema;