{"version":3,"file":"uniqBy.mjs","sources":["../../../../node_modules/ramda/es/uniqBy.js"],"sourcesContent":["import _Set from \"./internal/_Set.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\n\nvar uniqBy =\n/*#__PURE__*/\n_curry2(function uniqBy(fn, list) {\n  var set = new _Set();\n  var result = [];\n  var idx = 0;\n  var appliedItem, item;\n\n  while (idx < list.length) {\n    item = list[idx];\n    appliedItem = fn(item);\n\n    if (set.add(appliedItem)) {\n      result.push(item);\n    }\n\n    idx += 1;\n  }\n\n  return result;\n});\n\nexport default uniqBy;"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEG,IAAC,MAAM;AACV;AACA,OAAO,CAAC,SAAS,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;AAClC,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE;AACtB,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,IAAI,GAAG,GAAG,CAAC;AACb,EAAE,IAAI,WAAW,EAAE,IAAI;;AAEvB,EAAE,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;AACpB,IAAI,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;;AAE1B,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,IAAI;;AAEJ,IAAI,GAAG,IAAI,CAAC;AACZ,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf,CAAC;;;;","x_google_ignoreList":[0]}