@cortexql/ts2graphql
Version:
A TypeScrpt transpiler to GraphQL for your project
72 lines (71 loc) • 3.51 kB
TypeScript
import { TypeDoc2GraphQLOptions, TypeDoc2GraphQLPaths, TypeDoc2GraphQL, Parser } from './utils/TypeDoc2GraphQL';
import { IResolvers, IResolverValidationOptions } from 'graphql-tools/dist/Interfaces';
import { GraphQLObjectType, GraphQLNamedType, GraphQLSchema, GraphQLResolveInfo } from 'graphql';
import { Validator } from './utils/Validator';
export * from './utils/TypeDoc2GraphQL';
export * from './utils/Validator';
export interface SourceMapField {
sanitize?: Parser[];
validate?: Parser[];
sanitizeArgs?: {
[arg: string]: Parser[];
};
validateArgs?: {
[arg: string]: Parser[];
};
}
export interface SourceMap {
name: string;
type: string;
fields?: {
[field: string]: SourceMapField;
};
values?: {
[key: string]: number | string;
};
}
export interface TypeScript2GraphQLPaths extends TypeDoc2GraphQLPaths {
root: string;
validators: string;
scalars: string;
}
export interface TypeScript2GraphQLOptions extends TypeDoc2GraphQLOptions {
paths?: Partial<TypeDoc2GraphQLPaths> & Partial<TypeScript2GraphQLPaths>;
}
export declare type Resolver<T, A extends {} | void = void, C extends any = any> = (args: A, context: C, info?: GraphQLResolveInfo) => T | Promise<T>;
export declare type AsyncIteratorSubscriber<T, A extends {} | void = void, C extends any = any> = (args: A, context: C, info?: GraphQLResolveInfo) => AsyncIterator<T> | AsyncIterableIterator<T>;
export declare namespace Observable {
interface Disposable {
dispose(): void;
}
interface Observable<T> {
subscribe(onNext?: (value: T) => void, onError?: (exception: any) => void, onCompleted?: () => void): Disposable;
}
}
export declare type ObservableSubscriber<T, A extends {} | void = void, C extends any = any> = (args: A, context: C, info?: GraphQLResolveInfo) => Observable.Observable<T>;
export declare type Subscriber<T, A extends {} | void = void, C extends any = any> = AsyncIteratorSubscriber<T, A, C> | ObservableSubscriber<T, A, C>;
export declare type SubscriptionResolver<T, A extends {} | void = void, C extends any = any> = Resolver<T, A, C>;
export declare function graphqlParseOutput(value: any, context: any, info: any): Promise<any>;
export declare function getValidator(rootPath: string, validatorDir: string): Validator;
export declare function getScalars(rootPath: string, scalarsDir: string): GraphQLNamedType[];
export declare class TypeScript2GraphQL extends TypeDoc2GraphQL {
protected rootPath: string;
protected paths: TypeScript2GraphQLPaths;
constructor(options?: TypeScript2GraphQLOptions);
generate(): void;
restoreSourceMap(type: GraphQLNamedType, map: SourceMap): void;
restoreSchema(inputDir?: string): GraphQLSchema;
dumpSchema(outputDir?: string): void;
getSourceMap(type: any): void | SourceMap;
injectParserHandlerOnObjectType(type: GraphQLObjectType): void;
injectParserHandler(schema: GraphQLSchema): void;
addResolveFunctionsToSchema(schema: GraphQLSchema, resolveFunctions: IResolvers, resolverValidationOptions?: IResolverValidationOptions): void;
getSource(type: any): string;
getMethodResolvers(dir: string, name: string): IResolvers;
getTypeResolvers(schema: GraphQLSchema): IResolvers;
getResolvers(schema: GraphQLSchema): IResolvers;
getSchemaConfig(): any;
getSchema(): GraphQLSchema;
getSchemaWithResolvers(): GraphQLSchema;
restoreSchemaWithResolvers(inputDir?: string): GraphQLSchema;
}