Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql-toolset / dist / typings.d.ts
Size: Mime:
import { Request as ExpressRequest, Response as ExpressResponse } from 'express';
export { OneRequestContextBase } from '@skava/request';
import { DataSources } from 'apollo-server-core/dist/graphqlOptions';
import { ApolloError } from 'apollo-server';
import { GraphQLResponse as ApolloGraphQLResponse } from 'apollo-server-core/src/requestpipelineapi';
/**
 * === logger ===
 */
export declare type LogMapKeyType = 'info' | 'error' | 'debug' | 'warn';
export declare type LogMapType = Map<LogMapKeyType, Set<string | any>>;
export interface PinoLogFn {
    (msg: string, ...args: any[]): void;
    (obj: object, msg?: string, ...args: any[]): void;
}
export declare type CompatibleLogger<Base = unknown> = (Base extends unknown ? {
    [key: string]: any;
} : Base) & {
    info: PinoLogFn;
    error: PinoLogFn;
    debug: PinoLogFn;
    warn: PinoLogFn;
};
/**
 * ========= graphqls =========
 */
export interface ResolverArgs<Args = any> {
    [key: string]: string | number | boolean | ResolverArgs<Args> | ResolverArgs[] | undefined | any;
}
export interface ResolverInfo {
    cacheControl: any;
    directives: any;
}
export interface ResolverContext {
    req: ExpressRequest;
    res: ExpressResponse;
    request: Request;
    dataSources: DataSources<ResolverContext>;
}
export interface ResolverObj {
    self: any;
}
export declare type ResolverFunction<Type = any> = (obj: ResolverObj, args: ResolverArgs, context: ResolverContext, info: ResolverInfo) => Promise<Type> | Type;
export interface ResolverType<Type = any> {
    [key: string]: ResolverFunction;
}
export interface ResolverExport<Type = any> {
    Query?: ResolverType<Type>;
    Mutation?: ResolverType<Type>;
}
export interface FactoryArgs {
    query: any;
    [key: string]: any;
}
export declare type GraphQLResponse<Response extends object> = ApolloGraphQLResponse & {
    error?: ApolloError;
    data?: Response;
};
export declare type AsyncGraphQLResponse<Response extends object> = Promise<GraphQLResponse<Response>>;