{"version":3,"file":"_Set.mjs","sources":["../../../../../node_modules/ramda/es/internal/_Set.js"],"sourcesContent":["import _includes from \"./_includes.js\";\n\nvar _Set =\n/*#__PURE__*/\nfunction () {\n  function _Set() {\n    /* globals Set */\n    this._nativeSet = typeof Set === 'function' ? new Set() : null;\n    this._items = {};\n  }\n\n  // until we figure out why jsdoc chokes on this\n  // @param item The item to add to the Set\n  // @returns {boolean} true if the item did not exist prior, otherwise false\n  //\n  _Set.prototype.add = function (item) {\n    return !hasOrAdd(item, true, this);\n  }; //\n  // @param item The item to check for existence in the Set\n  // @returns {boolean} true if the item exists in the Set, otherwise false\n  //\n\n\n  _Set.prototype.has = function (item) {\n    return hasOrAdd(item, false, this);\n  }; //\n  // Combines the logic for checking whether an item is a member of the set and\n  // for adding a new item to the set.\n  //\n  // @param item       The item to check or add to the Set instance.\n  // @param shouldAdd  If true, the item will be added to the set if it doesn't\n  //                   already exist.\n  // @param set        The set instance to check or add to.\n  // @return {boolean} true if the item already existed, otherwise false.\n  //\n\n\n  return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n  var type = typeof item;\n  var prevSize, newSize;\n\n  switch (type) {\n    case 'string':\n    case 'number':\n      // distinguish between +0 and -0\n      if (item === 0 && 1 / item === -Infinity) {\n        if (set._items['-0']) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items['-0'] = true;\n          }\n\n          return false;\n        }\n      } // these types can all utilise the native Set\n\n\n      if (set._nativeSet !== null) {\n        if (shouldAdd) {\n          prevSize = set._nativeSet.size;\n\n          set._nativeSet.add(item);\n\n          newSize = set._nativeSet.size;\n          return newSize === prevSize;\n        } else {\n          return set._nativeSet.has(item);\n        }\n      } else {\n        if (!(type in set._items)) {\n          if (shouldAdd) {\n            set._items[type] = {};\n            set._items[type][item] = true;\n          }\n\n          return false;\n        } else if (item in set._items[type]) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items[type][item] = true;\n          }\n\n          return false;\n        }\n      }\n\n    case 'boolean':\n      // set._items['boolean'] holds a two element array\n      // representing [ falseExists, trueExists ]\n      if (type in set._items) {\n        var bIdx = item ? 1 : 0;\n\n        if (set._items[type][bIdx]) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items[type][bIdx] = true;\n          }\n\n          return false;\n        }\n      } else {\n        if (shouldAdd) {\n          set._items[type] = item ? [false, true] : [true, false];\n        }\n\n        return false;\n      }\n\n    case 'function':\n      // compare functions for reference equality\n      if (set._nativeSet !== null) {\n        if (shouldAdd) {\n          prevSize = set._nativeSet.size;\n\n          set._nativeSet.add(item);\n\n          newSize = set._nativeSet.size;\n          return newSize === prevSize;\n        } else {\n          return set._nativeSet.has(item);\n        }\n      } else {\n        if (!(type in set._items)) {\n          if (shouldAdd) {\n            set._items[type] = [item];\n          }\n\n          return false;\n        }\n\n        if (!_includes(item, set._items[type])) {\n          if (shouldAdd) {\n            set._items[type].push(item);\n          }\n\n          return false;\n        }\n\n        return true;\n      }\n\n    case 'undefined':\n      if (set._items[type]) {\n        return true;\n      } else {\n        if (shouldAdd) {\n          set._items[type] = true;\n        }\n\n        return false;\n      }\n\n    case 'object':\n      if (item === null) {\n        if (!set._items['null']) {\n          if (shouldAdd) {\n            set._items['null'] = true;\n          }\n\n          return false;\n        }\n\n        return true;\n      }\n\n    /* falls through */\n\n    default:\n      // reduce the search size of heterogeneous sets by creating buckets\n      // for each type.\n      type = Object.prototype.toString.call(item);\n\n      if (!(type in set._items)) {\n        if (shouldAdd) {\n          set._items[type] = [item];\n        }\n\n        return false;\n      } // scan through all previously applied items\n\n\n      if (!_includes(item, set._items[type])) {\n        if (shouldAdd) {\n          set._items[type].push(item);\n        }\n\n        return false;\n      }\n\n      return true;\n  }\n} // A simple Set type that honours R.equals semantics\n\n\nexport default _Set;"],"names":[],"mappings":"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","x_google_ignoreList":[0]}