UNPKG

graphql-composer

Version:
40 lines (39 loc) 1.46 kB
import { GraphQLSchema, GraphQLDirective } from "graphql"; import { Wrapper, Removable, GQLAnyType, SchemaConfig } from "../.."; import { Buildable } from "../../classes/Buildable"; export declare class Schema<ExtensionsType = any> extends Buildable<GraphQLSchema, ExtensionsType> { protected static _config: SchemaConfig; protected _directives: GraphQLDirective[]; static get config(): SchemaConfig; protected _types: GQLAnyType[]; get types(): GQLAnyType<any, any>[]; protected constructor(); /** * Create a new schema * @param types The type list to build */ static create(...types: (GQLAnyType | Wrapper)[]): Schema<any>; setConfig(config: SchemaConfig): this; /** * Set the type list to build * @param types The type list to build */ setTypes(...types: (GQLAnyType | Wrapper)[]): this; /** * Add a type to the list to build * @param types The type list to build */ addTypes(...types: (GQLAnyType | Wrapper)[]): this; /** * Remove some types to the list * @param types The type list to remove */ removeTypes(...types: Removable<GQLAnyType>): this; setDirectives(...directives: GraphQLDirective[]): this; addDirectives(...directives: GraphQLDirective[]): this; removeDirectives(...directives: GraphQLDirective[]): this; /** * Build the schema and all the types contained in it */ build(): GraphQLSchema; }