blob: 6468b0647f7dbd3b14c3f16bcf05d5dfe7c6f433 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var 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 */
13function 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`.
24SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
25SetCache.prototype.has = setCacheHas;
26
27module.exports = SetCache;