@orbit/identity-map
Version:
Orbit identity map to manage model instances.
22 lines (21 loc) • 981 B
TypeScript
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;
}