UNPKG

@data-client/endpoint

Version:

Declarative Network Interface Definitions

23 lines (22 loc) 1.25 kB
import { SnapshotInterface } from './SnapshotInterface.js'; import { ResolveType } from './utility.js'; export * from './utility.js'; export * from './ErrorTypes.js'; export type FetchFunction<A extends readonly any[] = any, R = any> = (...args: A) => Promise<R>; export interface EndpointExtraOptions<F extends FetchFunction = FetchFunction> { /** Default data expiry length, will fall back to NetworkManager default if not defined */ readonly dataExpiryLength?: number; /** Default error expiry length, will fall back to NetworkManager default if not defined */ readonly errorExpiryLength?: number; /** Poll with at least this frequency in miliseconds */ readonly pollFrequency?: number; /** Marks cached resources as invalid if they are stale */ readonly invalidIfStale?: boolean; /** Determines whether to throw or fallback to */ errorPolicy?(error: any): 'hard' | 'soft' | undefined; /** Enables optimistic updates for this request - uses return value as assumed network response */ getOptimisticResponse?(snap: SnapshotInterface, ...args: Parameters<F>): ResolveType<F>; /** User-land extra data to send */ readonly extra?: any; } //# sourceMappingURL=types.d.ts.map