mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
762 B
32 lines
762 B
9 years ago
|
var mapClear = require('./_mapClear'),
|
||
|
mapDelete = require('./_mapDelete'),
|
||
|
mapGet = require('./_mapGet'),
|
||
|
mapHas = require('./_mapHas'),
|
||
|
mapSet = require('./_mapSet');
|
||
|
|
||
|
/**
|
||
|
* Creates a map cache object to store key-value pairs.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Array} [values] The values to cache.
|
||
|
*/
|
||
|
function MapCache(values) {
|
||
|
var index = -1,
|
||
|
length = values ? values.length : 0;
|
||
|
|
||
|
this.clear();
|
||
|
while (++index < length) {
|
||
|
var entry = values[index];
|
||
|
this.set(entry[0], entry[1]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Add functions to the `MapCache`.
|
||
|
MapCache.prototype.clear = mapClear;
|
||
|
MapCache.prototype['delete'] = mapDelete;
|
||
|
MapCache.prototype.get = mapGet;
|
||
|
MapCache.prototype.has = mapHas;
|
||
|
MapCache.prototype.set = mapSet;
|
||
|
|
||
|
module.exports = MapCache;
|