| import Maybe from '../tsutils/Maybe'; |
| import { Location, DocumentNode, StringValueNode } from '../language/ast'; |
| import { |
| GraphQLSchemaValidationOptions, |
| GraphQLSchema, |
| GraphQLSchemaNormalizedConfig, |
| } from '../type/schema'; |
| |
| interface Options 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; |
| } |
| |
| /** |
| * Produces a new schema given an existing schema and a document which may |
| * contain GraphQL type extensions and definitions. The original schema will |
| * remain unaltered. |
| * |
| * Because a schema represents a graph of references, a schema cannot be |
| * extended without effectively making an entire copy. We do not know until it's |
| * too late if subgraphs remain unchanged. |
| * |
| * This algorithm copies the provided schema, applying extensions while |
| * producing the copy. The original schema remains unaltered. |
| * |
| * Accepts options as a third argument: |
| * |
| * - commentDescriptions: |
| * Provide true to use preceding comments as the description. |
| * |
| */ |
| export function extendSchema( |
| schema: GraphQLSchema, |
| documentAST: DocumentNode, |
| options?: Options, |
| ): GraphQLSchema; |
| |
| /** |
| * @internal |
| */ |
| export function extendSchemaImpl( |
| schemaConfig: GraphQLSchemaNormalizedConfig, |
| documentAST: DocumentNode, |
| options?: Options, |
| ): GraphQLSchemaNormalizedConfig; |
| |
| /** |
| * Given an ast node, returns its string description. |
| * @deprecated: provided to ease adoption and will be removed in v16. |
| * |
| * Accepts options as a second argument: |
| * |
| * - commentDescriptions: |
| * Provide true to use preceding comments as the description. |
| * |
| */ |
| export function getDescription( |
| node: { readonly description?: StringValueNode; readonly loc?: Location }, |
| options?: Maybe<{ commentDescriptions?: boolean }>, |
| ): string | undefined; |