MixedTupleMap
A memory-efficient Map which accepts multiple objects as a key. This lib is one of the several possible cache for memoize-immutable, but it can suit other use-cases as it implements a usual Map API.
Install
npm install --save MixedTupleMap
This lib has no dependency, but requires a native implementation of WeakMap.
Usage
Restrictions. This map should be used when:
var MixedTupleMap = ; var cache = ; var keyPart1 = {};var keyPart2 = 'yolo';var keyPart3 = ;var value = any: 'thing'; // Note that following keyPart tuples are wrapped in new arrays that are !==// (otherwise a WeakMap would have been enough).cache; cache === true;cache === value;
When should you use this map?
This map is the best alternative to a WeakMap, when you need keys composed
of multiple parts that mix primitive and non-primitive types. Note shouldn't be used if ALL parts
of the key are likely to have primitive types
(number
, string
, boolean
, undefined
or even null
).
Author
License
MPL-2.0