openapi-to-graphql-harshith
Version:
Generates a GraphQL schema for a given OpenAPI Specification (OAS)
36 lines (35 loc) • 1.5 kB
TypeScript
/**
* Functions to translate JSON schema to GraphQL (input) object types.
*/
import { PreprocessingData } from './types/preprocessing_data';
import { Operation, DataDefinition } from './types/operation';
import { ParameterObject } from './types/oas3';
import { Args } from './types/graphql';
import { GraphQLOutputType, GraphQLInputType } from 'graphql';
import crossFetch from 'cross-fetch';
declare type GetArgsParams<TSource, TContext, TArgs> = {
requestPayloadDef?: DataDefinition;
parameters: ParameterObject[];
operation?: Operation;
data: PreprocessingData<TSource, TContext, TArgs>;
fetch: typeof crossFetch;
};
declare type CreateOrReuseComplexTypeParams<TSource, TContext, TArgs> = {
def: DataDefinition;
operation?: Operation;
iteration?: number;
isInputObjectType?: boolean;
data: PreprocessingData<TSource, TContext, TArgs>;
fetch: typeof crossFetch;
};
/**
* Creates and returns a GraphQL type for the given JSON schema.
*/
export declare function getGraphQLType<TSource, TContext, TArgs>({ def, operation, data, iteration, isInputObjectType, fetch }: CreateOrReuseComplexTypeParams<TSource, TContext, TArgs>): GraphQLOutputType | GraphQLInputType;
/**
* Creates the arguments for resolving a field
*
* Arguments that are provided via options will be ignored
*/
export declare function getArgs<TSource, TContext, TArgs>({ requestPayloadDef, parameters, operation, data, fetch }: GetArgsParams<TSource, TContext, TArgs>): Args;
export {};