gqty
Version:
The No-GraphQL Client for TypeScript
36 lines (35 loc) • 1.93 kB
TypeScript
import type { ExecutionResult } from 'graphql';
import type { Client as SseClient } from 'graphql-sse';
import type { CloseEvent } from 'ws';
import type { FetchOptions } from '.';
import type { Cache } from '../Cache';
import { GQtyError } from '../Error';
import type { Selection } from '../Selection';
import type { Debugger } from './debugger';
import { type GQtyWsClient } from './subscriber';
export type ResolverFetchOptions = Omit<FetchOptions, 'subscriber'> & {
subscriber?: SseClient | GQtyWsClient;
};
export type FetchSelectionsOptions = {
cache?: Cache;
debugger?: Debugger;
extensions?: Record<string, unknown>;
fetchOptions: ResolverFetchOptions;
operationName?: string;
};
export type QueryExtensions = {
type: string;
hash: string;
};
export type FetchResult<TData extends Record<string, unknown> = Record<string, unknown>> = Omit<ExecutionResult<TData>, 'errors'> & {
error?: Error | GQtyError;
};
export declare const fetchSelections: <TData extends Record<string, unknown> = Record<string, unknown>>(selections: Set<Selection>, { cache, debugger: debug, extensions: customExtensions, fetchOptions, operationName, }: FetchSelectionsOptions) => Promise<FetchResult<TData>[]>;
export type SubscribeSelectionOptions = FetchSelectionsOptions & {
onComplete?: () => void;
onSubscribe?: () => void;
};
export type SubscriptionCallback<TData extends Record<string, unknown>> = (result: FetchResult<TData>) => void;
export type Unsubscribe = () => void;
export declare const subscribeSelections: <TData extends Record<string, unknown> = Record<string, unknown>>(selections: Set<Selection>, fn: SubscriptionCallback<TData>, { cache, debugger: debug, extensions: customExtensions, fetchOptions: { subscriber }, operationName, onSubscribe, onComplete, }: SubscribeSelectionOptions) => Unsubscribe;
export declare const isCloseEvent: (input: unknown) => input is CloseEvent;