@graphql-yoga/plugin-persisted-operations
Version:
Persisted Operations plugin for GraphQL Yoga.
26 lines (25 loc) • 1.27 kB
TypeScript
import { DocumentNode } from 'graphql';
import { GraphQLParams, Plugin, PromiseOrValue } from 'graphql-yoga';
export type ExtractPersistedOperationId = (params: GraphQLParams) => null | string;
export declare const defaultExtractPersistedOperationId: ExtractPersistedOperationId;
type AllowArbitraryOperationsHandler = (request: Request) => PromiseOrValue<boolean>;
export type UsePersistedOperationsOptions = {
/**
* A function that fetches the persisted operation
*/
getPersistedOperation(key: string): PromiseOrValue<DocumentNode | string | null>;
/**
* Whether to allow execution of arbitrary GraphQL operations aside from persisted operations.
*/
allowArbitraryOperations?: boolean | AllowArbitraryOperationsHandler;
/**
* The path to the persisted operation id
*/
extractPersistedOperationId?: ExtractPersistedOperationId;
/**
* Whether to skip validation of the persisted operation
*/
skipDocumentValidation?: boolean;
};
export declare function usePersistedOperations<TPluginContext extends Record<string, any>>({ allowArbitraryOperations, extractPersistedOperationId, getPersistedOperation, skipDocumentValidation, }: UsePersistedOperationsOptions): Plugin<TPluginContext>;
export {};