UNPKG

2.89 kBTypeScriptView Raw
1import type { ExecutionResult } from 'graphql';
2import type { ApolloClientOptions, MutationOptions as CoreMutationOptions, QueryOptions as CoreQueryOptions, SubscriptionOptions as CoreSubscriptionOptions, WatchFragmentOptions as CoreWatchFragmentOptions, WatchQueryOptions as CoreWatchQueryOptions, FetchResult, OperationVariables, TypedDocumentNode } from '@apollo/client/core';
3export type EmptyObject = {
4 [key: string]: any;
5};
6export type ResultOf<T extends TypedDocumentNode> = T extends TypedDocumentNode<infer R> ? R : never;
7export type VariablesOf<T extends TypedDocumentNode> = T extends TypedDocumentNode<any, infer V> ? V : never;
8export interface ExtraSubscriptionOptions {
9 useZone?: boolean;
10}
11export type MutationResult<TData = any> = FetchResult<TData> & {
12 loading?: boolean;
13};
14export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
15export interface WatchQueryOptionsAlone<TVariables extends OperationVariables = EmptyObject, TData = any> extends Omit<WatchQueryOptions<TVariables, TData>, 'query' | 'variables'> {
16}
17export interface QueryOptionsAlone<TVariables = EmptyObject, TData = any> extends Omit<CoreQueryOptions<TVariables, TData>, 'query' | 'variables'> {
18}
19export interface MutationOptionsAlone<TData = EmptyObject, TVariables = any> extends Omit<MutationOptions<TData, TVariables>, 'mutation' | 'variables'> {
20}
21export interface SubscriptionOptionsAlone<TVariables = EmptyObject, TData = any> extends Omit<CoreSubscriptionOptions<TVariables, TData>, 'query' | 'variables'> {
22}
23export interface WatchQueryOptions<TVariables extends OperationVariables = EmptyObject, TData = any> extends CoreWatchQueryOptions<TVariables, TData> {
24 /**
25 * Observable starts with `{ loading: true }`.
26 * There's a big chance the next major version will enable that by default.
27 *
28 * Disabled by default
29 */
30 useInitialLoading?: boolean;
31}
32export interface MutationOptions<TData = any, TVariables = EmptyObject> extends CoreMutationOptions<TData, TVariables> {
33 /**
34 * Observable starts with `{ loading: true }`.
35 * There's a big chance the next major version will enable that by default.
36 *
37 * Disabled by default
38 */
39 useMutationLoading?: boolean;
40}
41export interface WatchFragmentOptions<TData = any, TVariables = EmptyObject> extends CoreWatchFragmentOptions<TData, TVariables> {
42}
43export interface SubscriptionResult<TData> extends ExecutionResult<TData> {
44}
45export type NamedOptions = Record<string, ApolloClientOptions<any>>;
46export type Flags = {
47 /**
48 * Observable starts with `{ loading: true }`.
49 * There's a big chance the next major version will enable that by default.
50 *
51 * Disabled by default
52 */
53 useInitialLoading?: boolean;
54 /**
55 * Observable starts with `{ loading: true }`.
56 *
57 * Disabled by default
58 */
59 useMutationLoading?: boolean;
60};