UNPKG

graphql-modules

Version:

Create reusable, maintainable, testable and extendable GraphQL modules

25 lines (24 loc) 1.01 kB
import { Injector, ReflectiveInjector } from '../di'; import { ResolvedProvider } from '../di/resolution'; import type { InternalAppContext, ModulesMap } from './application'; export type ExecutionContextBuilder<TContext extends { [key: string]: any; } = {}> = (context: TContext) => ExecutionContextEnv & { runWithContext<TReturn = any>(cb: (env: ExecutionContextEnv) => TReturn): TReturn; }; export type ExecutionContextEnv = { context: InternalAppContext; ɵdestroy(): void; ɵinjector: Injector; }; export declare function createContextBuilder({ appInjector, modulesMap, appLevelOperationProviders, singletonGlobalProvidersMap, operationGlobalProvidersMap, }: { appInjector: ReflectiveInjector; appLevelOperationProviders: ResolvedProvider[]; singletonGlobalProvidersMap: { [key: string]: string; }; operationGlobalProvidersMap: { [key: string]: string; }; modulesMap: ModulesMap; }): ExecutionContextBuilder<GraphQLModules.GlobalContext>;