UNPKG

@envelop/types

Version:
19 lines (18 loc) 1.13 kB
import { Plugin } from './plugin.js'; import { ExecuteFunction, ExecutionResult, ParseFunction, SubscribeFunction, ValidateFunction } from './graphql.js'; import { ArbitraryObject, Spread, PromiseOrValue, AsyncIterableIteratorOrValue } from './utils.js'; import { PerformParams } from './hooks.js'; export { ArbitraryObject } from './utils.js'; export declare type EnvelopContextFnWrapper<TFunction extends Function, ContextType = unknown> = (context: ContextType) => TFunction; export declare type GetEnvelopedFn<PluginsContext> = { <InitialContext extends ArbitraryObject>(initialContext?: InitialContext): { execute: ExecuteFunction; validate: ValidateFunction; subscribe: SubscribeFunction; parse: ParseFunction; contextFactory: <ContextExtension>(contextExtension?: ContextExtension) => PromiseOrValue<Spread<[InitialContext, PluginsContext, ContextExtension]>>; schema: any; perform: <ContextExtension = unknown>(params: PerformParams, contextExtension?: ContextExtension) => Promise<AsyncIterableIteratorOrValue<ExecutionResult>>; }; _plugins: Plugin[]; };