@benzene/core
Version:
Fast, minimal, agnostic GraphQL Libraries
20 lines (19 loc) • 1.21 kB
TypeScript
import { DocumentNode, ExecutionArgs, ExecutionResult, FormattedExecutionResult, GraphQLArgs, GraphQLError, GraphQLFormattedError, GraphQLSchema, SubscriptionArgs } from "graphql";
import { BenzeneGraphQLArgs, CompiledResult, ContextFn, Maybe, Options, ValueOrPromise } from "./types";
export default class Benzene<TContext = any, TExtra = any> {
private lru;
schema: GraphQLSchema;
private validateFn;
private validationRules?;
formatErrorFn: (error: GraphQLError) => GraphQLFormattedError;
contextFn?: ContextFn<TContext, TExtra>;
private compileQuery;
constructor(options: Options<TContext, TExtra>);
compile(query: string | DocumentNode, operationName?: Maybe<string>): CompiledResult | ExecutionResult;
formatExecutionResult(result: ExecutionResult): FormattedExecutionResult;
graphql({ source, contextValue, variableValues, operationName, rootValue, }: Partial<GraphQLArgs> & {
source: string;
}): Promise<FormattedExecutionResult>;
execute(args: BenzeneGraphQLArgs<ExecutionArgs>): ValueOrPromise<ExecutionResult>;
subscribe(args: BenzeneGraphQLArgs<SubscriptionArgs>): Promise<AsyncIterableIterator<ExecutionResult> | ExecutionResult>;
}