UNPKG

inversify-graphql

Version:

Builds dependency-inverted GraphQL schemas with InversifyJS

32 lines (31 loc) 1.94 kB
import { interfaces, Container } from 'inversify'; import { InversifyPartialMap } from './partial-map'; import { GraphQLSchema, GraphQLNamedType } from 'graphql'; import { IInversifyExtensibleNode, InversifyObjectTypeBuilder, IExtSchema, InversifyObjectTypeBuilderBase } from './object-builder'; import { IInversifyExtensibleSchema } from './interfaces'; export declare class InversifyExtensibleNode<TSource = any, TContext = any> implements IInversifyExtensibleNode { private readonly extensions; typeName: string; useParentExtensions: boolean; for(name: string): this; /** Merge the given field list definitions in the current node */ merge(...fields: interfaces.Newable<InversifyPartialMap<TSource, TContext>>[]): this; buildType(): interfaces.Newable<InversifyObjectTypeBuilder<any, any>>; } export declare class InversifyExtensibleSchema<TContext = any> implements IExtSchema, IInversifyExtensibleSchema<TContext> { readonly query: InversifyExtensibleNode<void, TContext>; readonly mutation: InversifyExtensibleNode<void, TContext>; readonly subscription: InversifyExtensibleNode<void, TContext>; readonly nodes: Map<any, InversifyExtensibleNode<any, TContext>>; container: Container; private parents; private orphanTypes; constructor(name: string, container: Container); private create; get<TSource = any>(typeToExtend: string | interfaces.Newable<InversifyObjectTypeBuilderBase<TSource, TContext, any>>): InversifyExtensibleNode<TSource, TContext>; addTypes(...additionalTypes: GraphQLNamedType[]): this; getNoCreate<TSource = any>(extendedType: string, ctor: any, which: 'all' | 'noDirect' | 'none'): InversifyExtensibleNode<TSource, TContext>[]; concat(...otherSchema: this[]): this; build(): GraphQLSchema; } export declare function extensibleSchema<TContext = any>(name: string, container: Container): IInversifyExtensibleSchema<TContext>;