UNPKG

@data-client/normalizr

Version:

Normalizes and denormalizes JSON according to schema for Redux and Flux applications

46 lines (45 loc) 2.07 kB
import { EndpointInterface } from './EndpointInterface.js'; import { ErrorTypes } from './ErrorTypes.js'; import { ExpiryStatusInterface } from '../Expiry.js'; import { Queryable } from '../interface.js'; import { DenormalizeNullable } from '../types.js'; export interface SnapshotInterface { /** * Gets the (globally referentially stable) response for a given endpoint/args pair from state given. * @see https://dataclient.io/docs/api/Snapshot#getResponse */ getResponse<E extends Pick<EndpointInterface, 'key' | 'schema' | 'invalidIfStale'>>(endpoint: E, ...args: readonly any[]): { data: DenormalizeNullable<E['schema']>; expiryStatus: ExpiryStatusInterface; expiresAt: number; }; /** * Gets the (globally referentially stable) response for a given endpoint/args pair from state given. * @see https://dataclient.io/docs/api/Snapshot#getResponseMeta */ getResponseMeta<E extends Pick<EndpointInterface, 'key' | 'schema' | 'invalidIfStale'>>(endpoint: E, ...args: readonly any[]): { data: DenormalizeNullable<E['schema']>; expiryStatus: ExpiryStatusInterface; expiresAt: number; }; /** @see https://dataclient.io/docs/api/Snapshot#getError */ getError: <E extends Pick<EndpointInterface, 'key'>, Args extends readonly [ ...Parameters<E['key']> ]>(endpoint: E, ...args: Args) => ErrorTypes | undefined; /** * Retrieved memoized value for any Querable schema * @see https://dataclient.io/docs/api/Snapshot#get */ get<S extends Queryable>(schema: S, ...args: readonly any[]): any; /** * Queries the store for a Querable schema; providing related metadata * @see https://dataclient.io/docs/api/Snapshot#getQueryMeta */ getQueryMeta<S extends Queryable>(schema: S, ...args: readonly any[]): { data: any; countRef: () => () => void; }; readonly fetchedAt: number; readonly abort: Error; } //# sourceMappingURL=SnapshotInterface.d.ts.map