@cran/gql.core
Version:
Cran/GraphQL Core Utilities
18 lines (17 loc) • 658 B
TypeScript
import type { GraphQLSchema } from "graphql/type/schema";
import type { IResolvers, TypeSource } from "@graphql-tools/utils";
export declare enum PluginPhase {
PREPARE = 0,
DEFAULT = 1,
FINALIZE = 2
}
export declare type PluginTransformer = (schema: GraphQLSchema) => GraphQLSchema;
export declare type PluginTransformers = {
[Phase in PluginPhase]?: PluginTransformer;
};
export interface Plugin<Context = any> {
typeDefs?: TypeSource;
resolvers?: IResolvers<any, Context>;
transformer?: PluginTransformer | PluginTransformers;
}
export declare function composePlugins<Context>(plugins: Array<Plugin<Context>>): Plugin<Context>;