@graphql-tools/external-fragment-loader
Version:
A GraphQL loader that resolves cross-package fragment dependencies from external packages
26 lines (25 loc) • 1.39 kB
TypeScript
import type { DocumentNode } from 'graphql';
import type { Loader, Source } from '@graphql-tools/utils';
import type { ExternalFragmentLoaderOptions } from './options.js';
/**
* Custom-loader entry point for `@graphql-tools/load`.
*
* Custom loaders must return a single DocumentNode (or Source). By default,
* use the synchronous resolver so this entry point works for both
* `loadTypedefs` and `loadTypedefsSync`. Set `options.async` to use the
* asynchronous resolver from an asynchronous load call.
*/
type AsyncExternalFragmentLoaderOptions = ExternalFragmentLoaderOptions & {
async: true;
};
type SyncExternalFragmentLoaderOptions = ExternalFragmentLoaderOptions & {
async?: false;
};
export default function externalFragmentLoader(_pointer: string, options: AsyncExternalFragmentLoaderOptions): Promise<DocumentNode>;
export default function externalFragmentLoader(_pointer: string, options: SyncExternalFragmentLoaderOptions): DocumentNode;
export default function externalFragmentLoader(_pointer: string, options: ExternalFragmentLoaderOptions): DocumentNode | Promise<DocumentNode>;
export declare class ExternalFragmentLoader implements Loader<ExternalFragmentLoaderOptions> {
load(_pointer: string, options: ExternalFragmentLoaderOptions): Promise<Source[]>;
loadSync(_pointer: string, options: ExternalFragmentLoaderOptions): Source[];
}
export {};