@pulzar/core
Version:
Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support
50 lines • 1.55 kB
TypeScript
import type { FastifyInstance } from "fastify";
export interface GraphQLResolverContext {
request: any;
reply: any;
app: FastifyInstance;
user?: any;
traceId?: string;
}
export interface GraphQLResolver {
[key: string]: any;
}
export interface GraphQLSubscriptionResolver {
subscribe: AsyncIterator<any> | (() => AsyncIterator<any>);
resolve?: (payload: any, args: any, context: GraphQLResolverContext, info: any) => any;
}
export interface MercuriusAdapterOptions {
schema?: string;
subscriptions?: boolean;
playground?: boolean;
path?: string;
jit?: number;
cache?: boolean | number;
}
export declare class MercuriusAdapter {
private app?;
private options;
private resolvers;
private schema;
private initialized;
constructor(options?: Partial<MercuriusAdapterOptions>);
initialize(app: FastifyInstance): Promise<void>;
setSchema(schema: string): void;
addResolver(typeName: string, resolvers: any): void;
executeQuery(query: string, variables?: any, context?: any): Promise<any>;
private dynamicImportMercurius;
private buildResolvers;
private getDefaultSchema;
private createMockMercurius;
private getPlaygroundHTML;
getStats(): {
initialized: boolean;
schema: boolean;
resolvers: number;
path: string;
};
shutdown(): Promise<void>;
}
export declare function Resolver(typeName?: string): (target: any) => any;
export default MercuriusAdapter;
//# sourceMappingURL=mercurius-adapter.d.ts.map