time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

_SetCache.js (632B)


      1 var MapCache = require('./_MapCache'),
      2     setCacheAdd = require('./_setCacheAdd'),
      3     setCacheHas = require('./_setCacheHas');
      4 
      5 /**
      6  *
      7  * Creates an array cache object to store unique values.
      8  *
      9  * @private
     10  * @constructor
     11  * @param {Array} [values] The values to cache.
     12  */
     13 function SetCache(values) {
     14   var index = -1,
     15       length = values == null ? 0 : values.length;
     16 
     17   this.__data__ = new MapCache;
     18   while (++index < length) {
     19     this.add(values[index]);
     20   }
     21 }
     22 
     23 // Add methods to `SetCache`.
     24 SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
     25 SetCache.prototype.has = setCacheHas;
     26 
     27 module.exports = SetCache;