@graphql-tools/utils
Version:
Common package containing utils and types for GraphQL tools
19 lines (18 loc) • 777 B
TypeScript
import { DocumentNode, GraphQLSchema, BuildSchemaOptions } from 'graphql';
import { GraphQLParseOptions } from './Interfaces.js';
export interface Source {
document?: DocumentNode;
schema?: GraphQLSchema;
rawSDL?: string;
location?: string;
}
export declare type BaseLoaderOptions = GraphQLParseOptions & BuildSchemaOptions & {
cwd?: string;
ignore?: string | string[];
};
export declare type WithList<T> = T | T[];
export declare type ElementOf<TList> = TList extends Array<infer TElement> ? TElement : never;
export interface Loader<TOptions extends BaseLoaderOptions = BaseLoaderOptions> {
load(pointer: string, options?: TOptions): Promise<Source[] | null | never>;
loadSync?(pointer: string, options?: TOptions): Source[] | null | never;
}