UNPKG

2.7 kBTypeScriptView Raw
1/**
2 * Functions to create resolve functions.
3 */
4import { ParameterObject } from './types/oas3';
5import { Operation } from './types/operation';
6import { ResolveFunction, SubscriptionContext } from './types/graphql';
7import { PreprocessingData } from './types/preprocessing_data';
8import { GraphQLFieldResolver } from 'graphql';
9import { ConnectOptions, RequestOptions } from './types/options';
10import { MeshPubSub } from '@graphql-mesh/types';
11declare type GetResolverParams<TSource, TContext, TArgs> = {
12 operation: Operation;
13 argsFromLink?: Record<string, string>;
14 payloadName?: string;
15 responseName?: string;
16 data: PreprocessingData<TSource, TContext, TArgs>;
17 baseUrl?: string;
18 requestOptions?: RequestOptions<TSource, TContext, TArgs>;
19 fetch?: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
20 qs?: Record<string, string>;
21};
22declare type GetSubscribeParams<TSource, TContext, TArgs> = {
23 operation: Operation;
24 argsFromLink?: {
25 [key: string]: string;
26 };
27 payloadName?: string;
28 data: PreprocessingData<TSource, TContext, TArgs>;
29 baseUrl?: string;
30 connectOptions?: ConnectOptions;
31 pubsub: MeshPubSub;
32};
33export declare function getSubscribe<TSource, TContext, TArgs>({ operation, payloadName, data, baseUrl, connectOptions, pubsub, }: GetSubscribeParams<TSource, TContext, TArgs>): GraphQLFieldResolver<TSource, SubscriptionContext, TArgs>;
34export declare function getPublishResolver<TSource, TContext, TArgs>({ operation, responseName, data, }: GetResolverParams<TSource, TContext, TArgs>): GraphQLFieldResolver<TSource, TContext, TArgs>;
35export declare type ResolverMiddleware<TSource, TContext, TArgs> = (getResolverParams: () => GetResolverParams<TSource, TContext, TArgs>, factory: ResolverFactory) => ResolveFunction;
36declare type ResolverFactory = typeof getResolver;
37/**
38 * Creates and returns a resolver function that performs API requests for the
39 * given GraphQL query
40 */
41export declare function getResolver<TSource, TContext, TArgs>(getResolverParams: () => GetResolverParams<TSource, TContext, TArgs>): ResolveFunction;
42/**
43 * Extracts data from the GraphQL arguments of a particular field
44 *
45 * Replaces the path parameter in the given path with values in the given args.
46 * Furthermore adds the query parameters for a request.
47 */
48export declare function extractRequestDataFromArgs<TSource, TContext, TArgs>(path: string, parameters: ParameterObject[], args: TArgs, // NOTE: argument keys are sanitized!
49data: PreprocessingData<TSource, TContext, TArgs>): {
50 path: string;
51 qs: {
52 [key: string]: string;
53 };
54 headers: {
55 [key: string]: string;
56 };
57};
58export {};