UNPKG

@yookue/ts-multi-map

Version:

Multiple key/value map & range map for typescript

36 lines (35 loc) 1.61 kB
import { type MultiValueMapEntries } from ".."; export declare class MultiValueMap<K, V> implements Omit<Map<K, V[]>, 'delete' | 'forEach' | 'get' | 'has' | 'set' | 'entries' | 'keys' | 'values' | 'push'> { private readonly map; static of<K, V>(entries?: MultiValueMapEntries<K, V>): MultiValueMap<K, V>; constructor(entries?: MultiValueMapEntries<K, V>); get(key: K, defaults?: V[]): V[] | undefined; set(key: K, values: V[]): void; push(key: K, values: V[]): void; clear(): void; keys(): K[]; values(): V[][]; entries(): [K, V[]][]; deleteByKey(key: K): boolean; deleteByKeys(keys: K[]): boolean; deleteByValue(value: V): boolean; deleteByValues(values: V[]): boolean; deleteValueOfKey(key: K, value: V): boolean; forEach(callback: (values?: V[], key?: K) => void, thisArg?: any): void; forEachIndexing(callback: (values?: V[], key?: K, index?: number) => void, thisArg?: any): void; forEachBreakable(callback: (values?: V[], key?: K) => boolean, thisArg?: any): void; hasKey(key: K): boolean; hasKeyValue(key: K, value: V): boolean; hasAnyKeys(keys: K[]): boolean; hasAllKeys(keys: K[]): boolean; hasValue(values: V[], exact?: boolean): boolean; hasAnyValues(values: V[][], exact?: boolean): boolean; hasAllValues(values: V[][], exact?: boolean): boolean; isEmpty(): boolean; isNotEmpty(): boolean; getKey(values: V[], defaults?: K): K | undefined; [Symbol.iterator](): IterableIterator<[K, V[]]>; get size(): number; get [Symbol.toStringTag](): string; toString(): string; }