inversify-graphql
Version:
Builds dependency-inverted GraphQL schemas with InversifyJS
32 lines (31 loc) • 1.94 kB
TypeScript
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>;