1.2.0 • Published 7 years ago
@seangenabe/multikey-map v1.2.0
multikey-map
A Map-like structure with array keys
Usage
import { MultikeyMap } from "@seangenabe/multikey-map"
const map = new MultikeyMap<[number, number, number], string>()
map.set([1, 2, 3], "a")
map.get([1, 2, 3]) // "a"- All
Mapmethods are implemented except that the keys are arrays. - Empty array keys (
[]) are supported. - Storing keys differing in lengths are supported.
- Keys must always be an array.
- Insertion order is not kept.
Map implementation
get size(): numberget(key: K): V | undefinedset(key: K, value: V): thisdelete(key: K): booleanhas(key: K): booleanclear(): voidentries(): IterableIterator<[K, V>][Symbol.iterator](): IterableIterator<[K, V]>keys(): IterableIterator<K>values(): IterableIterator<V>forEach(callbackFn: (value: V, key: K, map: this) => void, thisArg?: any): voidget [Symbol.toStringTag](): string
map.setKV(key, value)
setKV(key: K, value: V): booleanSame as set except it returns a boolean indicating whether the value has been inserted. Otherwise, the value has replaced an existing value.
map.prefixEntries(prefixKey)
prefixEntries(prefixKey: SubArray<K>): IterableIterator<[K, V]>Returns all entries whose key starts with the given prefix.