UNPKG

@data-client/normalizr

Version:

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

72 lines (71 loc) 2.48 kB
import { EntityTable, NormalizedIndex, INormalizeDelegate, Mergeable } from '../interface.js'; import { POJODelegate } from '../delegate/Delegate.js'; /** Full normalize() logic for POJO state */ export declare class NormalizeDelegate extends POJODelegate implements INormalizeDelegate { readonly entitiesMeta: { [entityKey: string]: { [pk: string]: { date: number; expiresAt: number; fetchedAt: number; }; }; }; readonly meta: { fetchedAt: number; date: number; expiresAt: number; }; checkLoop: (entityKey: string, pk: string, input: object) => boolean; protected newEntities: Map<string, Map<string, any>>; protected newIndexes: Map<string, Map<string, any>>; constructor(state: { entities: EntityTable; indexes: NormalizedIndex; entitiesMeta: { [entityKey: string]: { [pk: string]: { date: number; expiresAt: number; fetchedAt: number; }; }; }; }, actionMeta: { fetchedAt: number; date: number; expiresAt: number; }); protected getNewEntity(key: string, pk: string): any; protected getNewEntities(key: string): Map<string, any>; protected getNewIndexes(key: string): Map<string, any>; /** Updates an entity using merge lifecycles when it has previously been set */ mergeEntity(schema: Mergeable & { indexes?: any; }, pk: string, incomingEntity: any): void; /** Sets an entity overwriting any previously set values */ setEntity(schema: { key: string; indexes?: any; }, pk: string, entity: any, meta?: { fetchedAt: number; date: number; expiresAt: number; }): void; /** Invalidates an entity, potentially triggering suspense */ invalidate({ key }: { key: string; }, pk: string): void; protected _setEntity(key: string, pk: string, entity: any): void; protected _setMeta(key: string, pk: string, meta: { fetchedAt: number; date: number; expiresAt: number; }): void; getMeta(key: string, pk: string): { date: number; expiresAt: number; fetchedAt: number; }; } //# sourceMappingURL=NormalizeDelegate.d.ts.map