import { _ as _MapCache } from './_MapCache.js';
import { _ as _setCacheAdd } from './_setCacheAdd.js';
import { _ as _setCacheHas } from './_setCacheHas.js';

var MapCache = _MapCache,
    setCacheAdd = _setCacheAdd,
    setCacheHas = _setCacheHas;

/**
 *
 * Creates an array cache object to store unique values.
 *
 * @private
 * @constructor
 * @param {Array} [values] The values to cache.
 */
function SetCache(values) {
  var index = -1,
      length = values == null ? 0 : values.length;

  this.__data__ = new MapCache;
  while (++index < length) {
    this.add(values[index]);
  }
}

// Add methods to `SetCache`.
SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
SetCache.prototype.has = setCacheHas;

var _SetCache = SetCache;

export { _SetCache as _ };
//# sourceMappingURL=_SetCache.js.map
