UNPKG

relay-runtime

Version:

A core runtime for building GraphQL-driven applications.

60 lines (51 loc) 1.94 kB
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * Represents any resource that must be explicitly disposed of. The most common * use-case is as a return value for subscriptions, where calling `dispose()` * would cancel the subscription. */ export interface Disposable { dispose: DisposeFn; } export type DataID = string; export interface Variables { [name: string]: any; } export interface OperationType { readonly variables: Variables; readonly response: unknown; readonly rawResponse?: unknown | undefined; } export type VariablesOf<TQuery extends OperationType> = TQuery['variables']; export type DisposeFn = () => void; /** * Settings for how a query response may be cached. * * - `force`: causes a query to be issued unconditionally, irrespective of the * state of any configured response cache. * - `poll`: causes a query to live update by polling at the specified interval * in milliseconds. (This value will be passed to setTimeout.) * - `liveConfigId`: causes a query to live update by calling GraphQLLiveQuery, * it represents a configuration of gateway when doing live query * - `metadata`: user-supplied metadata. * - `transactionId`: a user-supplied value, intended for use as a unique id for * a given instance of executing an operation. */ export interface CacheConfig { force?: boolean | null | undefined; poll?: number | null | undefined; liveConfigId?: string | null | undefined; metadata?: { [key: string]: unknown } | undefined; transactionId?: string | null | undefined; } /** * Experimental */ export type FetchQueryFetchPolicy = 'store-or-network' | 'network-only'; export type FetchPolicy = FetchQueryFetchPolicy | 'store-and-network' | 'store-only'; export type RenderPolicy = 'full' | 'partial';