graphql-composer
Version:
Create your GraphQL API using composition!
40 lines (39 loc) • 1.46 kB
TypeScript
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;
}