UNPKG

gqty

Version:

The No-GraphQL Client for TypeScript

36 lines (35 loc) 1.93 kB
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;