graphql-mocks
Version:
Tools for setting up graphql test resolvers
31 lines (30 loc) • 1.49 kB
TypeScript
import { GraphQLFieldResolver, GraphQLField, GraphQLTypeResolver, GraphQLScalarType } from 'graphql';
import { PackOptions } from './pack/types';
type ManagedContext = {
[key: string]: any;
pack?: PackOptions;
};
export type ObjectField = GraphQLField<any, any>;
export type FieldResolver<Source = any, Context = any, Args = any, Result = any> = GraphQLFieldResolver<Source, Context, Args, Result>;
export type TypeResolver<Source = any, Context = any> = GraphQLTypeResolver<Source, Context>;
export type ResolverParent<Resolver extends FieldResolver = FieldResolver> = Parameters<Resolver>[0];
export type ResolverArgs<Resolver extends FieldResolver = FieldResolver> = Parameters<Resolver>[1];
export type ResolverContext = ManagedContext;
export type ResolverInfo<Resolver extends FieldResolver = FieldResolver> = Parameters<Resolver>[3];
export type BasicScalarDefinition = {
serialize?: GraphQLScalarType['serialize'];
parseValue?: GraphQLScalarType['parseValue'];
parseLiteral?: GraphQLScalarType['parseLiteral'];
};
export type ScalarMap = {
[typename: string]: GraphQLScalarType | BasicScalarDefinition;
};
export type ResolverMap<TFieldResolver = FieldResolver, TTypeResolver = TypeResolver> = {
[typeName: string]: {
[fieldName: string]: TFieldResolver;
} & {
__resolveType?: TTypeResolver;
};
};
export type ResolverMapMiddleware = (map: ResolverMap, packOptions: PackOptions) => ResolverMap | Promise<ResolverMap>;
export {};