@data-client/endpoint
Version:
Declarative Network Interface Definitions
23 lines (22 loc) • 1.25 kB
TypeScript
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