@tucmc/hazel
Version:
Clubs Data Processing Framework
27 lines (26 loc) • 1.12 kB
TypeScript
export declare class DMap<K extends string, V> {
protected content: Record<K, V>;
constructor(content: Record<K, V> | [K, V][] | Record<K, V>[]);
size(): number;
keys(): K[];
values(): V[];
iterable(): [K, V][];
map<R>(c: (key: K, value: V, index: number, obj: Record<K, V>) => R): R[];
sort(c: (a: [K, V], b: [K, V]) => number): DMap<K, V>;
iterateSync(c: (key: K, value: V, index: number, obj: Record<K, V>) => void): void;
iterate(c: (key: K, value: V, index: number, obj: Record<K, V>) => Promise<void>): Promise<void>;
hasKey(c: K): boolean;
filter(matcher: (k: K, v: V) => boolean): DMap<K, V>;
groupBy<G extends string>(keyLocator: (v: V) => G): DMap<G, Record<K, V>[]>;
findKeys(matcher: (v: V) => boolean): K[];
findValues(matcher: (v: V) => boolean): V[];
hasValue(c: V): boolean;
keyMatch(comparable: string[]): K[];
keyDiff(comparable: string[]): K[];
get(key: K): V | undefined;
set(key: K, value: V): void;
insert(value: V): K;
getRecord(): Record<K, V>;
isLive(): boolean;
remove(key: K): Record<K, V>[K];
}