UNPKG

@orbit/identity-map

Version:

Orbit identity map to manage model instances.

22 lines (21 loc) 981 B
import { IdentitySerializer } from './identity-serializer'; export interface IdentityMapSettings<Identity> { serializer: IdentitySerializer<Identity>; } export declare class IdentityMap<Identity, Model> implements Map<Identity, Model> { protected _serializer: IdentitySerializer<Identity>; protected _map: Map<string, Model>; constructor(settings: IdentityMapSettings<Identity>); get(identity: Identity): Model | undefined; set(identity: Identity, record: Model): this; has(identity: Identity): boolean; delete(identity: Identity): boolean; entries(): IterableIterator<[Identity, Model]>; keys(): IterableIterator<Identity>; values(): IterableIterator<Model>; [Symbol.iterator](): IterableIterator<[Identity, Model]>; clear(): void; forEach(callbackFn: (record: Model, identity: Identity, map: IdentityMap<Identity, Model>) => void, thisArg?: unknown): void; get size(): number; get [Symbol.toStringTag](): string; }