unique-list
Version:
A mix of an Array an a Map.
23 lines (22 loc) • 703 B
TypeScript
export interface UniqueListId<TValue> {
(value: TValue): string | number;
}
export declare class UniqueList<TValue> {
private uniqueCallBack;
private hash;
private list;
length: number;
constructor(uniqueCallBack: UniqueListId<TValue>, initialValues?: TValue[]);
hasItem(id: string | number): boolean;
get(id: string | number): TValue;
getAllKeys(): {};
getAll(): TValue[];
getAt(idx: number): TValue;
setAt(idx: number, item: TValue): void;
hasItems(): boolean;
push(item: TValue): void;
pushAll(items: TValue[]): void;
insertAt(item: TValue, idx: number): void;
remove(item: TValue): void;
clear(): void;
}