UNPKG

@xyh19/multi-map

Version:

Map which Allow Multiple Values for the same Key

35 lines (33 loc) 1.08 kB
declare class MultiMap<K, V> { constructor(entries?: Iterable<(readonly [K, V])> | null, unique?: boolean); get(key: K): Iterable<V>; set(key: K, ...values: V[]): void; has(key: K, value?: V): boolean; delete(key: K, value?: V): boolean; clear(): void; keys(): IterableIterator<K>; values(): IterableIterator<V>; entries(): IterableIterator<[K, V]>; [Symbol.iterator](): IterableIterator<[K, V]>; readonly size: number; readonly count: number; } declare class MultiWeakMap<K extends object, V> { constructor(entries?: Iterable<(readonly [K, V])> | null, unique?: boolean); get(key: K): Iterable<V>; set(key: K, ...values: V[]): void; has(key: K, value?: V): boolean; delete(key: K, value?: V): boolean; } declare global { interface Array<T> { delete(item: T): boolean; clear(): void; } interface Set<T> { readonly length: number; push(...items: T[]): void; includes(item: T): boolean; } } export { MultiMap, MultiWeakMap };