@zuu/owl
Version:
Zuu's Experimental GraphQL Implementation
31 lines (30 loc) • 1.17 kB
TypeScript
import { GraphQLScalarType } from "graphql";
import { ValidatorOptions } from "class-validator";
import { PubSubEngine, PubSubOptions } from "graphql-subscriptions";
import { AuthChecker, AuthMode } from "../interfaces";
import { Middleware } from "../interfaces/Middleware";
export declare type DateScalarMode = "isoDate" | "timestamp";
export interface ScalarsTypeMap {
type: Function;
scalar: GraphQLScalarType;
}
export interface BuildContextOptions {
dateScalarMode?: DateScalarMode;
scalarsMap?: ScalarsTypeMap[];
validate?: boolean | ValidatorOptions;
authChecker?: AuthChecker<any, any>;
authMode?: AuthMode;
pubSub?: PubSubEngine | PubSubOptions;
globalMiddlewares?: Array<Middleware<any>>;
}
export declare abstract class BuildContext {
static dateScalarMode: DateScalarMode;
static scalarsMaps: ScalarsTypeMap[];
static validate: boolean | ValidatorOptions;
static authChecker?: AuthChecker<any, any>;
static authMode: AuthMode;
static pubSub: PubSubEngine;
static globalMiddlewares: Array<Middleware<any>>;
static create(options: BuildContextOptions): void;
static reset(): void;
}