gqty
Version:
The No-GraphQL Client for TypeScript
109 lines (108 loc) • 4.49 kB
TypeScript
import type { BaseGeneratedSchema, FetchOptions, SchemaContext } from '../..';
import type { Cache } from '../../Cache';
import type { ScalarsEnumsHash, Schema } from '../../Schema';
import type { Selectable } from '../../Selectable';
import type { createDebugger } from '../debugger';
import type { Resolvers } from '../resolvers';
import { type LegacyHydrateCache } from './hydrateCache';
import { type LegacyInlineResolved } from './inlineResolved';
import { type LegacyMutate } from './mutate';
import { type LegacyPrefetch } from './prefetch';
import { type LegacyPrepareRender } from './prepareRender';
import type { LegacyQueryFetcher } from './queryFetcher';
import { type LegacyRefetch } from './refetch';
import { type LegacyResolved } from './resolved';
import type { LegacySubscriptionsClient } from './subscriptionsClient';
import { type LegacyTrack } from './track';
export { type LegacyHydrateCache, type LegacyHydrateCacheOptions, } from './hydrateCache';
export { type LegacyInlineResolveOptions, type LegacyInlineResolved, } from './inlineResolved';
export { type LegacyMutate, type LegacyMutateHelpers } from './mutate';
export { type LegacyPrefetch } from './prefetch';
export { type LegacyQueryFetcher } from './queryFetcher';
export { type LegacyRefetch } from './refetch';
export { type LegacyResolveOptions, type LegacyResolved } from './resolved';
export { type LegacySelection } from './selection';
export { type LegacySubscribeEvents, type LegacySubscriptionsClient, } from './subscriptionsClient';
export { type LegacyTrack, type LegacyTrackCallInfo, type LegacyTrackCallType, type LegacyTrackOptions, } from './track';
export type CreateLegacyClientOptions<TSchema extends BaseGeneratedSchema> = {
accessor: TSchema;
cache: Cache;
context: SchemaContext;
debugger: ReturnType<typeof createDebugger>;
fetchOptions: FetchOptions;
resolvers: Resolvers<TSchema>;
scalars: ScalarsEnumsHash;
schema: Readonly<Schema>;
__depthLimit?: number;
};
export type LegacyClientOptions = {
queryFetcher?: LegacyQueryFetcher;
scalarsEnumsHash?: ScalarsEnumsHash;
subscriptionsClient?: LegacySubscriptionsClient;
};
/**
* Subscribing to selections made by global accessors, exposed for testing
* purpose.
*/
export type SelectionSubscriber = (fn: Selectable['select']) => () => void;
export type LegacyClient<TSchema extends BaseGeneratedSchema> = {
/**
* @deprecated Use the new `resolve()` method.
*/
resolved: LegacyResolved;
/**
* @deprecated Use the new `resolve()` method.
*/
inlineResolved: LegacyInlineResolved;
/**
* @deprecated Use the new `resolve()` method.
*/
mutate: LegacyMutate<TSchema>;
/**
* @deprecated Use the new `subscribe()` method.
*/
track: LegacyTrack;
/**
* @deprecated Use the new `resolve()` method.
*/
prefetch: LegacyPrefetch<TSchema>;
/**
* @deprecated Use the new `resolve()` method.
*/
refetch: LegacyRefetch<TSchema>;
/**
* Captures selections made with a fake render, fetches them and returns the
* result.
*/
prepareRender: LegacyPrepareRender;
/**
* @deprecated The new cache hydration has no `shouldRefetch` option. It
* always skip `no-cache` and `no-store` queries, and refetches according
* to cache expiry.
*/
hydrateCache: LegacyHydrateCache;
/**
* @deprecated Please migrate from global accessors to locally scoped
* accessors, i.e. `resolve({ query } => {})` or
* `subscribe({ query } => {})`.
*/
query: TSchema['query'];
/**
* @deprecated Please migrate from global accessors to locally scoped
* accessors, i.e. `resolve({ mutation } => {})` or
* `subscribe({ mutation } => {})`.
*/
mutation: TSchema['mutation'];
/**
* @deprecated Please migrate from global accessors to locally scoped
* accessors, i.e. `resolve({ subscription } => {})` or
* `subscribe({ subscription } => {})`.
*/
subscription: TSchema['subscription'];
/** Exposed for testing purpose. */
subscribeLegacySelections: SelectionSubscriber;
};
export type CreateLegacyMethodOptions<TSchema extends BaseGeneratedSchema> = CreateLegacyClientOptions<TSchema> & {
subscribeLegacySelections: SelectionSubscriber;
};
export declare const createLegacyClient: <TSchema extends BaseGeneratedSchema>(options: CreateLegacyClientOptions<TSchema>) => LegacyClient<TSchema>;