ramda-adjunct 3.4.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +984 -0
  2. package/README.md +2 -2
  3. package/dist/RA.node.js +127 -41
  4. package/dist/RA.node.min.js +1 -1
  5. package/dist/RA.web.js +127 -41
  6. package/dist/RA.web.min.js +1 -1
  7. package/dist/RA.web.standalone.js +1224 -528
  8. package/dist/RA.web.standalone.min.js +1 -1
  9. package/es/concatAll.js +2 -1
  10. package/es/dispatch.js +1 -1
  11. package/es/ensureArray.js +1 -1
  12. package/es/flattenDepth.js +1 -1
  13. package/es/flattenProp.js +1 -1
  14. package/es/index.js +1 -0
  15. package/es/internal/ponyfills/Array.from.js +1 -1
  16. package/es/internal/ponyfills/Promise.allSettled.js +1 -1
  17. package/es/internal/ponyfills/Promise.any.js +1 -1
  18. package/es/isFalse.js +2 -2
  19. package/es/isNegativeZero.js +2 -2
  20. package/es/isPositiveZero.js +2 -2
  21. package/es/isTrue.js +2 -2
  22. package/es/lastP.js +1 -1
  23. package/es/lensTraverse.js +12 -3
  24. package/es/mergeProp.js +1 -1
  25. package/es/pathNotEq.js +4 -4
  26. package/es/propNotEq.js +3 -3
  27. package/es/reduceP.js +2 -2
  28. package/es/reduceRightP.js +2 -2
  29. package/es/renameKey.js +35 -0
  30. package/es/sortByProps.js +1 -1
  31. package/es/spreadProp.js +1 -1
  32. package/lib/allEqual.js +0 -1
  33. package/lib/concatAll.js +2 -1
  34. package/lib/dispatch.js +36 -1
  35. package/lib/ensureArray.js +1 -1
  36. package/lib/flattenDepth.js +1 -1
  37. package/lib/flattenProp.js +1 -1
  38. package/lib/index.js +4 -2
  39. package/lib/internal/ponyfills/Array.from.js +1 -1
  40. package/lib/internal/ponyfills/Promise.allSettled.js +1 -1
  41. package/lib/internal/ponyfills/Promise.any.js +1 -1
  42. package/lib/isFalse.js +1 -1
  43. package/lib/isNegativeZero.js +1 -1
  44. package/lib/isPositiveZero.js +1 -1
  45. package/lib/isSentinelValue.js +1 -2
  46. package/lib/isTrue.js +1 -1
  47. package/lib/lastP.js +1 -1
  48. package/lib/lensTraverse.js +11 -3
  49. package/lib/mergeProp.js +1 -1
  50. package/lib/pathNotEq.js +4 -4
  51. package/lib/propNotEq.js +3 -3
  52. package/lib/reduceP.js +2 -2
  53. package/lib/reduceRightP.js +2 -2
  54. package/lib/renameKey.js +40 -0
  55. package/lib/seq.js +0 -1
  56. package/lib/sortByProps.js +1 -1
  57. package/lib/spreadProp.js +1 -1
  58. package/lib/toInteger32.js +1 -2
  59. package/lib/toUinteger32.js +1 -3
  60. package/package.json +38 -39
  61. package/src/concatAll.js +2 -1
  62. package/src/ensureArray.js +1 -1
  63. package/src/flattenProp.js +1 -1
  64. package/src/index.js +1 -0
  65. package/src/isFalse.js +2 -2
  66. package/src/isNegativeZero.js +2 -2
  67. package/src/isPositiveZero.js +2 -2
  68. package/src/isTrue.js +2 -2
  69. package/src/lensTraverse.js +18 -6
  70. package/src/mergeProp.js +1 -1
  71. package/src/pathNotEq.js +4 -4
  72. package/src/propNotEq.js +3 -3
  73. package/src/renameKey.js +33 -0
  74. package/src/spreadProp.js +1 -1
  75. package/types/index.d.ts +28 -0
  76. package/.nvmrc +0 -1
@@ -74,7 +74,6 @@ var _lengthLte = _interopRequireDefault(__webpack_require__(42385));
74
74
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
75
75
  // Original idea for this function was conceived by https://github.com/jackmellis
76
76
  // in https://github.com/char0n/ramda-adjunct/pull/513.
77
-
78
77
  /**
79
78
  * Returns true if all items in the list are equivalent using `R.equals` for equality comparisons.
80
79
  *
@@ -768,7 +767,8 @@ var leftIdentitySemigroup = {
768
767
  *
769
768
  * concatAll([[1], [2], [3]]); //=> [1, 2, 3]
770
769
  * concatAll(['1', '2', '3']); //=> '123'
771
- * concatAll([]); //=> undefined;
770
+ * concatAll([]); //=> undefined
771
+ * concatAll(null); //=> undefined
772
772
  */
773
773
  var concatAll = (0, _ramda.pipe)((0, _ramda.reduce)(_ramda.concat, leftIdentitySemigroup), (0, _ramda.when)((0, _ramda.identical)(leftIdentitySemigroup), _stubUndefined["default"]));
774
774
  var _default = concatAll;
@@ -1048,7 +1048,42 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
1048
1048
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1049
1049
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
1050
1050
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1051
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1051
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /**
1052
+ * Can be used as a way to compose multiple invokers together to form polymorphic functions,
1053
+ * or functions that exhibit different behaviors based on their argument(s).
1054
+ * Consumes dispatching functions and keep trying to invoke each in turn, until a non-nil value is returned.
1055
+ *
1056
+ * Accepts a list of dispatching functions and returns a new function.
1057
+ * When invoked, this new function is applied to some arguments,
1058
+ * each dispatching function is applied to those same arguments until one of the
1059
+ * dispatching functions returns a non-nil value.
1060
+ *
1061
+ * @func dispatch
1062
+ * @memberOf RA
1063
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}
1064
+ * @category Function
1065
+ * @sig [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> x1 | x2 | ...
1066
+ * @param {!Array} functions A list of functions
1067
+ * @return {*|undefined} Returns the first not-nil value, or undefined if either an empty list is provided or none of the dispatching functions returns a non-nil value
1068
+ * @see {@link RA.isNotNil}
1069
+ * @example
1070
+ *
1071
+ * // returns first non-nil value
1072
+ * const stubNil = () => null;
1073
+ * const stubUndefined = () => undefined;
1074
+ * const addOne = v => v + 1;
1075
+ * const addTwo = v => v + 2;
1076
+ *
1077
+ * RA.dispatch([stubNil, stubUndefined, addOne, addTwo])(1); //=> 2
1078
+ *
1079
+ * // acts as a switch
1080
+ * const fnSwitch = RA.dispatch([
1081
+ * R.ifElse(RA.isString, s => `${s}-join`, RA.stubUndefined),
1082
+ * R.ifElse(RA.isNumber, n => n + 1, RA.stubUndefined),
1083
+ * R.ifElse(RA.isDate, R.T, RA.stubUndefined),
1084
+ * ]);
1085
+ * fnSwitch(1); //=> 2
1086
+ */
1052
1087
  var byArity = (0, _ramda.comparator)(function (a, b) {
1053
1088
  return a.length > b.length;
1054
1089
  });
@@ -1163,7 +1198,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
1163
1198
  * RA.ensureArray(42); //=> [42]
1164
1199
  * RA.ensureArray([42]); //=> [42]
1165
1200
  */
1166
- var ensureArray = (0, _ramda.when)(_isNotArray["default"], _ramda.of);
1201
+ var ensureArray = (0, _ramda.when)(_isNotArray["default"], (0, _ramda.of)(Array));
1167
1202
  var _default = ensureArray;
1168
1203
  exports["default"] = _default;
1169
1204
 
@@ -1752,7 +1787,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
1752
1787
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1753
1788
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
1754
1789
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1755
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1790
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1756
1791
  var flatten1 = (0, _makeFlat2["default"])(false);
1757
1792
 
1758
1793
  /**
@@ -1859,7 +1894,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
1859
1894
  * ); // => { a: 1, c: 3, d: 4, b: { c: 3, d: 4 } };
1860
1895
  */
1861
1896
  var flattenProp = (0, _ramda.curry)(function (prop, obj) {
1862
- return (0, _flattenPath["default"])((0, _ramda.of)(prop), obj);
1897
+ return (0, _flattenPath["default"])((0, _ramda.of)(Array, prop), obj);
1863
1898
  });
1864
1899
  var _default = flattenProp;
1865
1900
  exports["default"] = _default;
@@ -2191,7 +2226,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
2191
2226
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2192
2227
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
2193
2228
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2194
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2229
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2195
2230
  var copyArray = function copyArray(items, mapFn, thisArg) {
2196
2231
  var boundMapFn = (0, _isNotUndefined["default"])(thisArg) ? (0, _ramda.bind)(mapFn, thisArg) : mapFn;
2197
2232
  return (0, _isNotUndefined["default"])(mapFn) ? _toConsumableArray(items).map(boundMapFn) : _toConsumableArray(items);
@@ -2357,7 +2392,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
2357
2392
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2358
2393
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
2359
2394
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2360
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2395
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2361
2396
  var onFulfill = function onFulfill(value) {
2362
2397
  return {
2363
2398
  status: 'fulfilled',
@@ -2398,7 +2433,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
2398
2433
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2399
2434
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
2400
2435
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2401
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2436
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2402
2437
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
2403
2438
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
2404
2439
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
@@ -3189,7 +3224,7 @@ var _ramda = __webpack_require__(36);
3189
3224
  * RA.isFalse(new Boolean(false)); // => false
3190
3225
  */
3191
3226
 
3192
- var isFalse = (0, _ramda.identical)(false);
3227
+ var isFalse = (0, _ramda.curryN)(1, (0, _ramda.identical)(false));
3193
3228
  var _default = isFalse;
3194
3229
  exports["default"] = _default;
3195
3230
 
@@ -3754,7 +3789,7 @@ var _ramda = __webpack_require__(36);
3754
3789
  * RA.isNegativeZero(0); //=> false
3755
3790
  * RA.isNegativeZero(null); //=> false
3756
3791
  */
3757
- var isNegativeZero = (0, _ramda.identical)(-0);
3792
+ var isNegativeZero = (0, _ramda.curryN)(1, (0, _ramda.identical)(-0));
3758
3793
  var _default = isNegativeZero;
3759
3794
  exports["default"] = _default;
3760
3795
 
@@ -5346,7 +5381,7 @@ var _ramda = __webpack_require__(36);
5346
5381
  * RA.isPositiveZero(-0); //=> false
5347
5382
  * RA.isPositiveZero(null); //=> false
5348
5383
  */
5349
- var isPositiveZero = (0, _ramda.identical)(+0);
5384
+ var isPositiveZero = (0, _ramda.curryN)(1, (0, _ramda.identical)(+0));
5350
5385
  var _default = isPositiveZero;
5351
5386
  exports["default"] = _default;
5352
5387
 
@@ -5590,8 +5625,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
5590
5625
  * RA.isSentinelValue('-1'); //=> false
5591
5626
  * RA.isSentinelValue(1); //=> false
5592
5627
  * RA.isSentinelValue([-1]); //=> false
5593
- */
5594
- // eslint-disable-next-line no-bitwise
5628
+ */ // eslint-disable-next-line no-bitwise
5595
5629
  var isSentinelValue = (0, _ramda.curryN)(1, function (val) {
5596
5630
  return (0, _isInteger["default"])(val) && ~val === 0;
5597
5631
  });
@@ -5813,7 +5847,7 @@ var _ramda = __webpack_require__(36);
5813
5847
  * RA.isTrue(new Boolean(true)); // => false
5814
5848
  */
5815
5849
 
5816
- var isTrue = (0, _ramda.identical)(true);
5850
+ var isTrue = (0, _ramda.curryN)(1, (0, _ramda.identical)(true));
5817
5851
  var _default = isTrue;
5818
5852
  exports["default"] = _default;
5819
5853
 
@@ -6026,7 +6060,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
6026
6060
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6027
6061
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6028
6062
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6029
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6063
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6030
6064
  /**
6031
6065
  * Returns a promise that is fulfilled by the last given promise to be fulfilled,
6032
6066
  * or rejected with an array of rejection reasons if all of the given promises are rejected.
@@ -6533,8 +6567,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
6533
6567
  * @since {@link https://char0n.github.io/ramda-adjunct/2.7.0|2.7.0}
6534
6568
  * @category Relation
6535
6569
  * @typedef Lens s a = Functor f => (a -> f a) -> s -> f s
6570
+ * @sig fantasy-land/of :: TypeRep f => f ~> a → f a
6536
6571
  * @sig Applicative f => (a -> f a) -> Lens s a
6537
- * @param {!function} of The Applicative-returning function
6572
+ * @sig Applicative f => TypeRep f -> Lens s a
6573
+ * @param {!Object|!Function} TypeRepresentative with an `of` or `fantasy-land/of` method
6538
6574
  * @return {!function} The Traversable lens
6539
6575
  * @see {@link http://ramdajs.com/docs/#lens|R.lens}, {@link http://ramdajs.com/docs/#traverse|R.traverse}
6540
6576
  *
@@ -6550,11 +6586,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
6550
6586
  *
6551
6587
  * R.set(maybeLens, Maybe.Just(1), [Maybe.just(2), Maybe.Just(3)]); // => Maybe.Just([1, 1])
6552
6588
  */
6553
- var lensTraverse = (0, _ramda.curryN)(1, function (of) {
6589
+ /* eslint-disable no-nested-ternary */
6590
+ var lensTraverse = (0, _ramda.curryN)(1, function (F) {
6591
+ var of = typeof F['fantasy-land/of'] === 'function' ? F['fantasy-land/of'] : typeof F.of === 'function' ? F.of : F;
6592
+ var TypeRep = {
6593
+ 'fantasy-land/of': of
6594
+ };
6554
6595
  return (0, _ramda.curry)(function (toFunctorFn, target) {
6555
- return _Identity["default"].of((0, _ramda.traverse)(of, (0, _ramda.pipe)(toFunctorFn, (0, _ramda.prop)('value')), target));
6596
+ return _Identity["default"].of((0, _ramda.traverse)(TypeRep, (0, _ramda.pipe)(toFunctorFn, (0, _ramda.prop)('value')), target));
6556
6597
  });
6557
6598
  });
6599
+ /* eslint-enable */
6558
6600
  var _default = lensTraverse;
6559
6601
  exports["default"] = _default;
6560
6602
 
@@ -6848,7 +6890,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
6848
6890
  * ); //=> { outer: { foo: 3, bar: 4 } };
6849
6891
  */
6850
6892
  var mergeProp = (0, _ramda.curry)(function (p, subj, obj) {
6851
- return (0, _mergePath["default"])((0, _ramda.of)(p), subj, obj);
6893
+ return (0, _mergePath["default"])((0, _ramda.of)(Array, p), subj, obj);
6852
6894
  });
6853
6895
  var _default = mergeProp;
6854
6896
  exports["default"] = _default;
@@ -7623,10 +7665,10 @@ var _ramda = __webpack_require__(36);
7623
7665
  * @memberOf RA
7624
7666
  * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}
7625
7667
  * @category Relation
7626
- * @sig [Idx] => a => {a} => Boolean
7627
- * @sig Idx = String | Int
7628
- * @param {Array} path The path of the nested property to use
7668
+ * @sig a => [Idx] => {a} => Boolean
7669
+ * @sig Idx = String | Int | Symbol
7629
7670
  * @param {a} val The value to compare the nested property with
7671
+ * @param {Array} path The path of the nested property to use
7630
7672
  * @param {Object} object The object to check the nested property in
7631
7673
  * @return {boolean} Returns Boolean `false` if the value equals the nested object property, `true` otherwise
7632
7674
  * @see {@link http://ramdajs.com/docs/#pathEq|R.pathEq}
@@ -7636,7 +7678,7 @@ var _ramda = __webpack_require__(36);
7636
7678
  * const user2 = { address: { zipCode: 55555 } };
7637
7679
  * const user3 = { name: 'Bob' };
7638
7680
  * const users = [ user1, user2, user3 ];
7639
- * const isFamous = R.pathNotEq(['address', 'zipCode'], 90210);
7681
+ * const isFamous = RA.pathNotEq(90210, ['address', 'zipCode']);
7640
7682
  * R.filter(isFamous, users); //=> [ user2, user3 ]
7641
7683
  */
7642
7684
  /* eslint-enable max-len */
@@ -7779,9 +7821,9 @@ var _ramda = __webpack_require__(36);
7779
7821
  * @memberOf RA
7780
7822
  * @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
7781
7823
  * @category Relation
7782
- * @sig String -> a -> Object -> Boolean
7783
- * @param {String} name The property to pick
7824
+ * @sig a -> String -> Object -> Boolean
7784
7825
  * @param {a} val The value to compare to
7826
+ * @param {String} name The property to pick
7785
7827
  * @param {Object} object The object, that presumably contains value under the property
7786
7828
  * @return {boolean} Comparison result
7787
7829
  * @see {@link http://ramdajs.com/docs/#propEq|R.propEq}
@@ -7792,7 +7834,7 @@ var _ramda = __webpack_require__(36);
7792
7834
  * const rusty = { name: 'Rusty', age: 10, hair: 'brown' };
7793
7835
  * const alois = { name: 'Alois', age: 15, disposition: 'surly' };
7794
7836
  * const kids = [abby, fred, rusty, alois];
7795
- * const hasNotBrownHair = RA.propNotEq('hair', 'brown');
7837
+ * const hasNotBrownHair = RA.propNotEq('brown', 'hair');
7796
7838
  *
7797
7839
  * R.filter(hasNotBrownHair, kids); //=> [abby, alois]
7798
7840
  */
@@ -7907,8 +7949,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
7907
7949
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7908
7950
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7909
7951
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7910
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
7911
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
7952
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7953
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
7912
7954
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7913
7955
  /* eslint-disable max-len */
7914
7956
  /**
@@ -8018,8 +8060,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
8018
8060
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8019
8061
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8020
8062
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8021
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8022
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
8063
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8064
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
8023
8065
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8024
8066
  // in older ramda versions the order of the arguments is flipped
8025
8067
  var flipArgs = (0, _ramda.pipe)((0, _ramda.reduceRight)(_ramda.concat, ''), (0, _ramda.equals)('ba'))(['a', 'b']);
@@ -8152,6 +8194,53 @@ exports["default"] = _default;
8152
8194
 
8153
8195
  /***/ }),
8154
8196
 
8197
+ /***/ 87706:
8198
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8199
+
8200
+ "use strict";
8201
+
8202
+
8203
+ exports.__esModule = true;
8204
+ exports["default"] = void 0;
8205
+ var _ramda = __webpack_require__(36);
8206
+ var _renameKeys2 = _interopRequireDefault(__webpack_require__(46351));
8207
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8208
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8209
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8210
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
8211
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8212
+ /**
8213
+ * Creates a new object with the own properties of the provided object, but a
8214
+ * single key is renamed from `oldKey` to `newKey`.
8215
+ *
8216
+ * Keep in mind that in the case of keys conflict is behavior undefined and
8217
+ * the result may vary between various JS engines!
8218
+ *
8219
+ * @func renameKey
8220
+ * @memberOf RA
8221
+ * @since {@link https://char0n.github.io/ramda-adjunct/4.1.0|v4.1.0}
8222
+ * @category Object
8223
+ * @sig (String a, String b) => a -> b -> {a: *} -> {b: *}
8224
+ * @param {!string} oldKey
8225
+ * @param {!string} newKey
8226
+ * @param {!Object} obj
8227
+ * @return {!Object} New object with renamed key
8228
+ * @see {@link https://github.com/ramda/ramda/wiki/Cookbook#rename-key-of-an-object|Ramda Cookbook}, {@link RA.renameKeyWith|renameKeyWith}
8229
+ * @example
8230
+ *
8231
+ * const input = { firstName: 'Elisia', age: 22, type: 'human' };
8232
+ *
8233
+ * RA.renameKey('firstName', 'name')(input);
8234
+ * //=> { name: 'Elisia', age: 22, type: 'human' }
8235
+ */
8236
+ var renameKey = (0, _ramda.curry)(function (oldKey, newKey, obj) {
8237
+ return (0, _renameKeys2["default"])(_defineProperty({}, oldKey, newKey), obj);
8238
+ });
8239
+ var _default = renameKey;
8240
+ exports["default"] = _default;
8241
+
8242
+ /***/ }),
8243
+
8155
8244
  /***/ 11052:
8156
8245
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8157
8246
 
@@ -8479,7 +8568,6 @@ var _ramda = __webpack_require__(36);
8479
8568
  * )('test'); //=> 'PREFIX TEST'
8480
8569
  */
8481
8570
  /* eslint-enable max-len */
8482
-
8483
8571
  var seq = (0, _ramda.curry)(function (fns, x) {
8484
8572
  return (0, _ramda.tap)(function (tx) {
8485
8573
  return (0, _ramda.map)(function (fn) {
@@ -8764,7 +8852,7 @@ var _ramda = __webpack_require__(36);
8764
8852
  function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
8765
8853
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8766
8854
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8767
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8855
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8768
8856
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8769
8857
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8770
8858
  /**
@@ -8873,7 +8961,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
8873
8961
  * RA.spreadProp('b', { a: 1, b: { c: 3, d: 4 } }); // => { a: 1, c: 3, d: 4 };
8874
8962
  */
8875
8963
  var spreadProp = (0, _ramda.curry)(function (prop, obj) {
8876
- return (0, _spreadPath["default"])((0, _ramda.of)(prop), obj);
8964
+ return (0, _spreadPath["default"])((0, _ramda.of)(Array, prop), obj);
8877
8965
  });
8878
8966
  var _default = spreadProp;
8879
8967
  exports["default"] = _default;
@@ -9165,8 +9253,7 @@ var _ramda = __webpack_require__(36);
9165
9253
  *
9166
9254
  * RA.toInteger32(2 ** 35); // => 0
9167
9255
  * RA.toInteger32(2 ** 30); // => 1073741824
9168
- */
9169
- // eslint-disable-next-line no-bitwise
9256
+ */ // eslint-disable-next-line no-bitwise
9170
9257
  var toInteger32 = (0, _ramda.curryN)(1, function (val) {
9171
9258
  return val >> 0;
9172
9259
  });
@@ -9236,9 +9323,7 @@ var _ramda = __webpack_require__(36);
9236
9323
  * RA.toInteger32(2 ** 35); // => 0
9237
9324
  * RA.toInteger32(2 ** 31); // => 2147483648
9238
9325
  * RA.toInteger32(2 ** 30); // => 1073741824
9239
- */
9240
-
9241
- // eslint-disable-next-line no-bitwise
9326
+ */ // eslint-disable-next-line no-bitwise
9242
9327
  var toUinteger32 = (0, _ramda.curryN)(1, function (val) {
9243
9328
  return val >>> 0;
9244
9329
  });
@@ -9832,6 +9917,67 @@ module.exports = addIndex;
9832
9917
 
9833
9918
  /***/ }),
9834
9919
 
9920
+ /***/ 16160:
9921
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9922
+
9923
+ var _concat =
9924
+ /*#__PURE__*/
9925
+ __webpack_require__(14011);
9926
+
9927
+ var _curry1 =
9928
+ /*#__PURE__*/
9929
+ __webpack_require__(76224);
9930
+
9931
+ var curryN =
9932
+ /*#__PURE__*/
9933
+ __webpack_require__(2220);
9934
+ /**
9935
+ * As with `addIndex`, `addIndexRight` creates a new list iteration function
9936
+ * from an existing one by adding two new parameters to its callback function:
9937
+ * the current index, and the entire list.
9938
+ *
9939
+ * Unlike `addIndex`, `addIndexRight` iterates from the right to the left.
9940
+ *
9941
+ * @func
9942
+ * @memberOf R
9943
+ * @since v0.29.0
9944
+ * @category Function
9945
+ * @category List
9946
+ * @sig ((a ... -> b) ... -> [a] -> *) -> (a ..., Int, [a] -> b) ... -> [a] -> *)
9947
+ * @param {Function} fn A list iteration function that does not pass index or list to its callback
9948
+ * @return {Function} An altered list iteration function that passes (item, index, list) to its callback
9949
+ * @example
9950
+ *
9951
+ * const revmap = (fn, ary) => R.map(fn, R.reverse(ary));
9952
+ * const revmapIndexed = R.addIndexRight(revmap);
9953
+ * revmapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);
9954
+ * //=> [ '5-r', '4-a', '3-b', '2-o', '1-o', '0-f' ]
9955
+ */
9956
+
9957
+
9958
+ var addIndexRight =
9959
+ /*#__PURE__*/
9960
+ _curry1(function addIndex(fn) {
9961
+ return curryN(fn.length, function () {
9962
+ var origFn = arguments[0];
9963
+ var list = arguments[arguments.length - 1];
9964
+ var idx = list.length - 1;
9965
+ var args = Array.prototype.slice.call(arguments, 0);
9966
+
9967
+ args[0] = function () {
9968
+ var result = origFn.apply(this, _concat(arguments, [idx, list]));
9969
+ idx -= 1;
9970
+ return result;
9971
+ };
9972
+
9973
+ return fn.apply(this, args);
9974
+ });
9975
+ });
9976
+
9977
+ module.exports = addIndexRight;
9978
+
9979
+ /***/ }),
9980
+
9835
9981
  /***/ 82515:
9836
9982
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9837
9983
 
@@ -9989,7 +10135,7 @@ __webpack_require__(20793);
9989
10135
  * @sig [(*... -> Boolean)] -> (*... -> Boolean)
9990
10136
  * @param {Array} predicates An array of predicates to check
9991
10137
  * @return {Function} The combined predicate
9992
- * @see R.anyPass
10138
+ * @see R.anyPass, R.both
9993
10139
  * @example
9994
10140
  *
9995
10141
  * const isQueen = R.propEq('rank', 'Q');
@@ -10255,7 +10401,7 @@ __webpack_require__(20793);
10255
10401
  * @sig [(*... -> Boolean)] -> (*... -> Boolean)
10256
10402
  * @param {Array} predicates An array of predicates to check
10257
10403
  * @return {Function} The combined predicate
10258
- * @see R.allPass
10404
+ * @see R.allPass, R.either
10259
10405
  * @example
10260
10406
  *
10261
10407
  * const isClub = R.propEq('suit', '♣');
@@ -10312,7 +10458,7 @@ __webpack_require__(61894);
10312
10458
  /**
10313
10459
  * ap applies a list of functions to a list of values.
10314
10460
  *
10315
- * Dispatches to the `ap` method of the second argument, if present. Also
10461
+ * Dispatches to the `ap` method of the first argument, if present. Also
10316
10462
  * treats curried functions as applicatives.
10317
10463
  *
10318
10464
  * @func
@@ -10757,7 +10903,7 @@ _curry3(function assocPath(path, val, obj) {
10757
10903
  var idx = path[0];
10758
10904
 
10759
10905
  if (path.length > 1) {
10760
- var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};
10906
+ var nextObj = !isNil(obj) && _has(idx, obj) && typeof obj[idx] === 'object' ? obj[idx] : _isInteger(path[1]) ? [] : {};
10761
10907
  val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);
10762
10908
  }
10763
10909
 
@@ -10901,7 +11047,7 @@ __webpack_require__(4041);
10901
11047
  * @param {Function} f A predicate
10902
11048
  * @param {Function} g Another predicate
10903
11049
  * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.
10904
- * @see R.either, R.and
11050
+ * @see R.either, R.allPass, R.and
10905
11051
  * @example
10906
11052
  *
10907
11053
  * const gt10 = R.gt(R.__, 10)
@@ -11134,7 +11280,7 @@ __webpack_require__(76224);
11134
11280
  var clone =
11135
11281
  /*#__PURE__*/
11136
11282
  _curry1(function clone(value) {
11137
- return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);
11283
+ return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, true);
11138
11284
  });
11139
11285
 
11140
11286
  module.exports = clone;
@@ -11360,7 +11506,7 @@ var reverse =
11360
11506
  __webpack_require__(65814);
11361
11507
  /**
11362
11508
  * Performs right-to-left function composition using transforming function. The last function may have
11363
- * any arity; the remaining functions must be unary.
11509
+ * any arity; the remaining functions must be unary. Unlike `compose`, functions are passed in an array.
11364
11510
  *
11365
11511
  * **Note:** The result of composeWith is not automatically curried. Transforming function is not used
11366
11512
  * on the last argument.
@@ -11678,7 +11824,7 @@ _curry2(function constructN(n, Fn) {
11678
11824
  }
11679
11825
 
11680
11826
  return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11681
- switch (arguments.length) {
11827
+ switch (n) {
11682
11828
  case 1:
11683
11829
  return new Fn($0);
11684
11830
 
@@ -11903,6 +12049,25 @@ __webpack_require__(2220);
11903
12049
  * - `g(_, 2)(1, 3)`
11904
12050
  * - `g(_, 2)(_, 3)(1)`
11905
12051
  *
12052
+ * Please note that default parameters don't count towards a [function arity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length)
12053
+ * and therefore `curry` won't work well with those:
12054
+ *
12055
+ * ```
12056
+ * const h = R.curry((a, b, c = 2) => a + b + c);
12057
+ *
12058
+ * h(40);
12059
+ * //=> function (waits for `b`)
12060
+ *
12061
+ * h(39)(1);
12062
+ * //=> 42
12063
+ *
12064
+ * h(1)(2, 3);
12065
+ * //=> 6
12066
+ *
12067
+ * h(1)(2)(7);
12068
+ * //=> Error! (`3` is not a function!)
12069
+ * ```
12070
+ *
11906
12071
  * @func
11907
12072
  * @memberOf R
11908
12073
  * @since v0.1.0
@@ -12215,6 +12380,9 @@ __webpack_require__(16370);
12215
12380
  * const l1 = [{a: 1}, {a: 2}, {a: 3}];
12216
12381
  * const l2 = [{a: 3}, {a: 4}];
12217
12382
  * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]
12383
+ *
12384
+ * R.differenceWith(R.equals, [1, 2, 3, 3, 3], []); //=> [1, 2, 3]
12385
+ * R.differenceWith(R.equals, [1, 2, 3, 3, 3], [1]); //=> [2, 3]
12218
12386
  */
12219
12387
 
12220
12388
 
@@ -12629,9 +12797,9 @@ var dropRepeats =
12629
12797
  /*#__PURE__*/
12630
12798
  _curry1(
12631
12799
  /*#__PURE__*/
12632
- _dispatchable([],
12633
- /*#__PURE__*/
12634
- _xdropRepeatsWith(equals),
12800
+ _dispatchable([], function () {
12801
+ return _xdropRepeatsWith(equals);
12802
+ },
12635
12803
  /*#__PURE__*/
12636
12804
  dropRepeatsWith(equals)));
12637
12805
 
@@ -12639,6 +12807,62 @@ module.exports = dropRepeats;
12639
12807
 
12640
12808
  /***/ }),
12641
12809
 
12810
+ /***/ 91591:
12811
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12812
+
12813
+ var _curry2 =
12814
+ /*#__PURE__*/
12815
+ __webpack_require__(79002);
12816
+
12817
+ var _dispatchable =
12818
+ /*#__PURE__*/
12819
+ __webpack_require__(34793);
12820
+
12821
+ var _xdropRepeatsWith =
12822
+ /*#__PURE__*/
12823
+ __webpack_require__(6234);
12824
+
12825
+ var dropRepeatsWith =
12826
+ /*#__PURE__*/
12827
+ __webpack_require__(43432);
12828
+
12829
+ var eqBy =
12830
+ /*#__PURE__*/
12831
+ __webpack_require__(24486);
12832
+ /**
12833
+ * Returns a new list without any consecutively repeating elements,
12834
+ * based upon the value returned by applying the supplied function to
12835
+ * each list element. [`R.equals`](#equals) is used to determine equality.
12836
+ *
12837
+ * Acts as a transducer if a transformer is given in list position.
12838
+ *
12839
+ * @func
12840
+ * @memberOf R
12841
+ * @since v0.29.0
12842
+ * @category List
12843
+ * @sig (a -> b) -> [a] -> [a]
12844
+ * @param {Function} fn A function used to produce a value to use during comparisons.
12845
+ * @param {Array} list The array to consider.
12846
+ * @return {Array} `list` without repeating elements.
12847
+ * @see R.transduce
12848
+ * @example
12849
+ *
12850
+ * R.dropRepeatsBy(Math.abs, [1, -1, -1, 2, 3, -4, 4, 2, 2]); //=> [1, 2, 3, -4, 2]
12851
+ */
12852
+
12853
+
12854
+ var dropRepeatsBy =
12855
+ /*#__PURE__*/
12856
+ _curry2(function (fn, list) {
12857
+ return _dispatchable([], function () {
12858
+ return _xdropRepeatsWith(eqBy(fn));
12859
+ }, dropRepeatsWith(eqBy(fn)))(list);
12860
+ });
12861
+
12862
+ module.exports = dropRepeatsBy;
12863
+
12864
+ /***/ }),
12865
+
12642
12866
  /***/ 43432:
12643
12867
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12644
12868
 
@@ -12811,7 +13035,7 @@ __webpack_require__(18384);
12811
13035
  * @param {Function} f a predicate
12812
13036
  * @param {Function} g another predicate
12813
13037
  * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.
12814
- * @see R.both, R.or
13038
+ * @see R.both, R.anyPass, R.or
12815
13039
  * @example
12816
13040
  *
12817
13041
  * const gt10 = x => x > 10;
@@ -13149,6 +13373,10 @@ module.exports = evolve;
13149
13373
  /***/ 51383:
13150
13374
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13151
13375
 
13376
+ var _arrayReduce =
13377
+ /*#__PURE__*/
13378
+ __webpack_require__(20854);
13379
+
13152
13380
  var _curry2 =
13153
13381
  /*#__PURE__*/
13154
13382
  __webpack_require__(79002);
@@ -13165,10 +13393,6 @@ var _isObject =
13165
13393
  /*#__PURE__*/
13166
13394
  __webpack_require__(8291);
13167
13395
 
13168
- var _reduce =
13169
- /*#__PURE__*/
13170
- __webpack_require__(39488);
13171
-
13172
13396
  var _xfilter =
13173
13397
  /*#__PURE__*/
13174
13398
  __webpack_require__(11383);
@@ -13190,6 +13414,7 @@ __webpack_require__(90368);
13190
13414
  * @memberOf R
13191
13415
  * @since v0.1.0
13192
13416
  * @category List
13417
+ * @category Object
13193
13418
  * @sig Filterable f => (a -> Boolean) -> f a -> f a
13194
13419
  * @param {Function} pred
13195
13420
  * @param {Array} filterable
@@ -13210,7 +13435,7 @@ var filter =
13210
13435
  _curry2(
13211
13436
  /*#__PURE__*/
13212
13437
  _dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (pred, filterable) {
13213
- return _isObject(filterable) ? _reduce(function (acc, key) {
13438
+ return _isObject(filterable) ? _arrayReduce(function (acc, key) {
13214
13439
  if (pred(filterable[key])) {
13215
13440
  acc[key] = filterable[key];
13216
13441
  }
@@ -13744,7 +13969,7 @@ __webpack_require__(44285);
13744
13969
  * @param {Array} list The array to group
13745
13970
  * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements
13746
13971
  * that produced that key when passed to `fn`.
13747
- * @see R.reduceBy, R.transduce, R.indexBy
13972
+ * @see R.reduceBy, R.transduce, R.indexBy, R.collectBy
13748
13973
  * @example
13749
13974
  *
13750
13975
  * const byGrade = R.groupBy(function(student) {
@@ -14128,10 +14353,6 @@ module.exports = head;
14128
14353
  var _objectIs =
14129
14354
  /*#__PURE__*/
14130
14355
  __webpack_require__(21361);
14131
-
14132
- var _curry2 =
14133
- /*#__PURE__*/
14134
- __webpack_require__(79002);
14135
14356
  /**
14136
14357
  * Returns true if its arguments are identical, false otherwise. Values are
14137
14358
  * identical if they reference the same memory. `NaN` is identical to `NaN`;
@@ -14139,6 +14360,8 @@ __webpack_require__(79002);
14139
14360
  *
14140
14361
  * Note this is merely a curried version of ES6 `Object.is`.
14141
14362
  *
14363
+ * `identical` does not support the `__` placeholder.
14364
+ *
14142
14365
  * @func
14143
14366
  * @memberOf R
14144
14367
  * @since v0.15.0
@@ -14159,9 +14382,33 @@ __webpack_require__(79002);
14159
14382
  */
14160
14383
 
14161
14384
 
14162
- var identical =
14163
- /*#__PURE__*/
14164
- _curry2(_objectIs);
14385
+ var identical = function (a, b) {
14386
+ switch (arguments.length) {
14387
+ case 0:
14388
+ return identical;
14389
+
14390
+ case 1:
14391
+ return function () {
14392
+ return function unaryIdentical(_b) {
14393
+ switch (arguments.length) {
14394
+ case 0:
14395
+ return unaryIdentical;
14396
+
14397
+ default:
14398
+ return _objectIs(a, _b);
14399
+ }
14400
+ };
14401
+ }();
14402
+
14403
+ default:
14404
+ return _objectIs(a, b);
14405
+ }
14406
+ }; // In order to support Cross-origin Window objects as arguments to identical,
14407
+ // it cannot be implemented as _curry2(_objectIs).
14408
+ // The reason is that _curry2 checks if a function argument is the placeholder __
14409
+ // by accessing a paritcular property. However, across URL origins access
14410
+ // to most properties of Window is forbidden.
14411
+
14165
14412
 
14166
14413
  module.exports = identical;
14167
14414
 
@@ -14220,6 +14467,8 @@ __webpack_require__(2220);
14220
14467
  * Creates a function that will process either the `onTrue` or the `onFalse`
14221
14468
  * function depending upon the result of the `condition` predicate.
14222
14469
  *
14470
+ * Note that `ifElse` takes its arity from the longest of the three functions passed to it.
14471
+ *
14223
14472
  * @func
14224
14473
  * @memberOf R
14225
14474
  * @since v0.8.0
@@ -14336,6 +14585,7 @@ module.exports.T = __webpack_require__(53007);
14336
14585
  module.exports.__ = __webpack_require__(34923);
14337
14586
  module.exports.add = __webpack_require__(63073);
14338
14587
  module.exports.addIndex = __webpack_require__(45582);
14588
+ module.exports.addIndexRight = __webpack_require__(16160);
14339
14589
  module.exports.adjust = __webpack_require__(82515);
14340
14590
  module.exports.all = __webpack_require__(22626);
14341
14591
  module.exports.allPass = __webpack_require__(57735);
@@ -14385,6 +14635,7 @@ module.exports.drop = __webpack_require__(78821);
14385
14635
  module.exports.dropLast = __webpack_require__(50898);
14386
14636
  module.exports.dropLastWhile = __webpack_require__(62520);
14387
14637
  module.exports.dropRepeats = __webpack_require__(74649);
14638
+ module.exports.dropRepeatsBy = __webpack_require__(91591);
14388
14639
  module.exports.dropRepeatsWith = __webpack_require__(43432);
14389
14640
  module.exports.dropWhile = __webpack_require__(51008);
14390
14641
  module.exports.either = __webpack_require__(14087);
@@ -14432,6 +14683,7 @@ module.exports.invoker = __webpack_require__(25189);
14432
14683
  module.exports.is = __webpack_require__(9443);
14433
14684
  module.exports.isEmpty = __webpack_require__(42157);
14434
14685
  module.exports.isNil = __webpack_require__(13657);
14686
+ module.exports.isNotNil = __webpack_require__(91533);
14435
14687
  module.exports.join = __webpack_require__(18231);
14436
14688
  module.exports.juxt = __webpack_require__(55389);
14437
14689
  module.exports.keys = __webpack_require__(90368);
@@ -14541,6 +14793,7 @@ module.exports.splitWhenever = __webpack_require__(83709);
14541
14793
  module.exports.startsWith = __webpack_require__(60830);
14542
14794
  module.exports.subtract = __webpack_require__(29454);
14543
14795
  module.exports.sum = __webpack_require__(36945);
14796
+ module.exports.swap = __webpack_require__(59776);
14544
14797
  module.exports.symmetricDifference = __webpack_require__(16722);
14545
14798
  module.exports.symmetricDifferenceWith = __webpack_require__(7776);
14546
14799
  module.exports.tail = __webpack_require__(43656);
@@ -15177,6 +15430,25 @@ module.exports = _arrayFromIterator;
15177
15430
 
15178
15431
  /***/ }),
15179
15432
 
15433
+ /***/ 20854:
15434
+ /***/ ((module) => {
15435
+
15436
+ function _arrayReduce(reducer, acc, list) {
15437
+ var index = 0;
15438
+ var length = list.length;
15439
+
15440
+ while (index < length) {
15441
+ acc = reducer(acc, list[index]);
15442
+ index += 1;
15443
+ }
15444
+
15445
+ return acc;
15446
+ }
15447
+
15448
+ module.exports = _arrayReduce;
15449
+
15450
+ /***/ }),
15451
+
15180
15452
  /***/ 80649:
15181
15453
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15182
15454
 
@@ -15293,32 +15565,31 @@ __webpack_require__(36433);
15293
15565
  *
15294
15566
  * @private
15295
15567
  * @param {*} value The value to be copied
15296
- * @param {Array} refFrom Array containing the source references
15297
- * @param {Array} refTo Array containing the copied source references
15298
15568
  * @param {Boolean} deep Whether or not to perform deep cloning.
15299
15569
  * @return {*} The copied value.
15300
15570
  */
15301
15571
 
15302
15572
 
15303
- function _clone(value, refFrom, refTo, deep) {
15304
- var copy = function copy(copiedValue) {
15305
- var len = refFrom.length;
15306
- var idx = 0;
15573
+ function _clone(value, deep, map) {
15574
+ map || (map = new _ObjectMap()); // this avoids the slower switch with a quick if decision removing some milliseconds in each run.
15307
15575
 
15308
- while (idx < len) {
15309
- if (value === refFrom[idx]) {
15310
- return refTo[idx];
15311
- }
15576
+ if (_isPrimitive(value)) {
15577
+ return value;
15578
+ }
15312
15579
 
15313
- idx += 1;
15580
+ var copy = function copy(copiedValue) {
15581
+ // Check for circular and same references on the object graph and return its corresponding clone.
15582
+ var cachedCopy = map.get(value);
15583
+
15584
+ if (cachedCopy) {
15585
+ return cachedCopy;
15314
15586
  }
15315
15587
 
15316
- refFrom[idx] = value;
15317
- refTo[idx] = copiedValue;
15588
+ map.set(value, copiedValue);
15318
15589
 
15319
15590
  for (var key in value) {
15320
- if (value.hasOwnProperty(key)) {
15321
- copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];
15591
+ if (Object.prototype.hasOwnProperty.call(value, key)) {
15592
+ copiedValue[key] = deep ? _clone(value[key], true, map) : value[key];
15322
15593
  }
15323
15594
  }
15324
15595
 
@@ -15358,13 +15629,88 @@ function _clone(value, refFrom, refTo, deep) {
15358
15629
 
15359
15630
  module.exports = _clone;
15360
15631
 
15632
+ function _isPrimitive(param) {
15633
+ var type = typeof param;
15634
+ return param == null || type != 'object' && type != 'function';
15635
+ }
15636
+
15637
+ var _ObjectMap =
15638
+ /*#__PURE__*/
15639
+ function () {
15640
+ function _ObjectMap() {
15641
+ this.map = {};
15642
+ this.length = 0;
15643
+ }
15644
+
15645
+ _ObjectMap.prototype.set = function (key, value) {
15646
+ const hashedKey = this.hash(key);
15647
+ let bucket = this.map[hashedKey];
15648
+
15649
+ if (!bucket) {
15650
+ this.map[hashedKey] = bucket = [];
15651
+ }
15652
+
15653
+ bucket.push([key, value]);
15654
+ this.length += 1;
15655
+ };
15656
+
15657
+ _ObjectMap.prototype.hash = function (key) {
15658
+ let hashedKey = [];
15659
+
15660
+ for (var value in key) {
15661
+ hashedKey.push(Object.prototype.toString.call(key[value]));
15662
+ }
15663
+
15664
+ return hashedKey.join();
15665
+ };
15666
+
15667
+ _ObjectMap.prototype.get = function (key) {
15668
+ /**
15669
+ * depending on the number of objects to be cloned is faster to just iterate over the items in the map just because the hash function is so costly,
15670
+ * on my tests this number is 180, anything above that using the hash function is faster.
15671
+ */
15672
+ if (this.length <= 180) {
15673
+ for (const p in this.map) {
15674
+ const bucket = this.map[p];
15675
+
15676
+ for (let i = 0; i < bucket.length; i += 1) {
15677
+ const element = bucket[i];
15678
+
15679
+ if (element[0] === key) {
15680
+ return element[1];
15681
+ }
15682
+ }
15683
+ }
15684
+
15685
+ return;
15686
+ }
15687
+
15688
+ const hashedKey = this.hash(key);
15689
+ const bucket = this.map[hashedKey];
15690
+
15691
+ if (!bucket) {
15692
+ return;
15693
+ }
15694
+
15695
+ for (let i = 0; i < bucket.length; i += 1) {
15696
+ const element = bucket[i];
15697
+
15698
+ if (element[0] === key) {
15699
+ return element[1];
15700
+ }
15701
+ }
15702
+ };
15703
+
15704
+ return _ObjectMap;
15705
+ }();
15706
+
15361
15707
  /***/ }),
15362
15708
 
15363
15709
  /***/ 9039:
15364
15710
  /***/ ((module) => {
15365
15711
 
15366
15712
  function _cloneRegExp(pattern) {
15367
- return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));
15713
+ return new RegExp(pattern.source, pattern.flags ? pattern.flags : (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '') + (pattern.dotAll ? 's' : ''));
15368
15714
  }
15369
15715
 
15370
15716
  module.exports = _cloneRegExp;
@@ -15449,6 +15795,49 @@ module.exports = _createPartialApplicator;
15449
15795
 
15450
15796
  /***/ }),
15451
15797
 
15798
+ /***/ 71351:
15799
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15800
+
15801
+ var _isArrayLike =
15802
+ /*#__PURE__*/
15803
+ __webpack_require__(3219);
15804
+
15805
+ var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';
15806
+
15807
+ function _createReduce(arrayReduce, methodReduce, iterableReduce) {
15808
+ return function _reduce(xf, acc, list) {
15809
+ if (_isArrayLike(list)) {
15810
+ return arrayReduce(xf, acc, list);
15811
+ }
15812
+
15813
+ if (list == null) {
15814
+ return acc;
15815
+ }
15816
+
15817
+ if (typeof list['fantasy-land/reduce'] === 'function') {
15818
+ return methodReduce(xf, acc, list, 'fantasy-land/reduce');
15819
+ }
15820
+
15821
+ if (list[symIterator] != null) {
15822
+ return iterableReduce(xf, acc, list[symIterator]());
15823
+ }
15824
+
15825
+ if (typeof list.next === 'function') {
15826
+ return iterableReduce(xf, acc, list);
15827
+ }
15828
+
15829
+ if (typeof list.reduce === 'function') {
15830
+ return methodReduce(xf, acc, list, 'reduce');
15831
+ }
15832
+
15833
+ throw new TypeError('reduce: list must be array or iterable');
15834
+ };
15835
+ }
15836
+
15837
+ module.exports = _createReduce;
15838
+
15839
+ /***/ }),
15840
+
15452
15841
  /***/ 76224:
15453
15842
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15454
15843
 
@@ -16014,38 +16403,59 @@ var _isArrayLike =
16014
16403
  /*#__PURE__*/
16015
16404
  __webpack_require__(3219);
16016
16405
 
16017
- var _reduce =
16406
+ var _xArrayReduce =
16018
16407
  /*#__PURE__*/
16019
- __webpack_require__(39488);
16408
+ __webpack_require__(93703);
16020
16409
 
16021
- var _xfBase =
16410
+ var _xReduce =
16411
+ /*#__PURE__*/
16412
+ __webpack_require__(89632);
16413
+
16414
+ var _xfBase =
16022
16415
  /*#__PURE__*/
16023
16416
  __webpack_require__(93714);
16024
16417
 
16025
- var preservingReduced = function (xf) {
16026
- return {
16027
- '@@transducer/init': _xfBase.init,
16028
- '@@transducer/result': function (result) {
16029
- return xf['@@transducer/result'](result);
16030
- },
16031
- '@@transducer/step': function (result, input) {
16032
- var ret = xf['@@transducer/step'](result, input);
16033
- return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;
16034
- }
16418
+ var tInit = '@@transducer/init';
16419
+ var tStep = '@@transducer/step';
16420
+ var tResult = '@@transducer/result';
16421
+
16422
+ var XPreservingReduced =
16423
+ /*#__PURE__*/
16424
+ function () {
16425
+ function XPreservingReduced(xf) {
16426
+ this.xf = xf;
16427
+ }
16428
+
16429
+ XPreservingReduced.prototype[tInit] = _xfBase.init;
16430
+ XPreservingReduced.prototype[tResult] = _xfBase.result;
16431
+
16432
+ XPreservingReduced.prototype[tStep] = function (result, input) {
16433
+ var ret = this.xf[tStep](result, input);
16434
+ return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;
16035
16435
  };
16036
- };
16037
16436
 
16038
- var _flatCat = function _xcat(xf) {
16039
- var rxf = preservingReduced(xf);
16040
- return {
16041
- '@@transducer/init': _xfBase.init,
16042
- '@@transducer/result': function (result) {
16043
- return rxf['@@transducer/result'](result);
16044
- },
16045
- '@@transducer/step': function (result, input) {
16046
- return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);
16047
- }
16437
+ return XPreservingReduced;
16438
+ }();
16439
+
16440
+ var XFlatCat =
16441
+ /*#__PURE__*/
16442
+ function () {
16443
+ function XFlatCat(xf) {
16444
+ this.xf = new XPreservingReduced(xf);
16445
+ }
16446
+
16447
+ XFlatCat.prototype[tInit] = _xfBase.init;
16448
+ XFlatCat.prototype[tResult] = _xfBase.result;
16449
+
16450
+ XFlatCat.prototype[tStep] = function (result, input) {
16451
+ return !_isArrayLike(input) ? _xArrayReduce(this.xf, result, [input]) : _xReduce(this.xf, result, input);
16048
16452
  };
16453
+
16454
+ return XFlatCat;
16455
+ }();
16456
+
16457
+ var _flatCat = function _xcat(xf) {
16458
+ return new XFlatCat(xf);
16049
16459
  };
16050
16460
 
16051
16461
  module.exports = _flatCat;
@@ -16618,17 +17028,6 @@ module.exports = typeof Object.is === 'function' ? Object.is : _objectIs;
16618
17028
 
16619
17029
  /***/ }),
16620
17030
 
16621
- /***/ 58791:
16622
- /***/ ((module) => {
16623
-
16624
- function _of(x) {
16625
- return [x];
16626
- }
16627
-
16628
- module.exports = _of;
16629
-
16630
- /***/ }),
16631
-
16632
17031
  /***/ 56015:
16633
17032
  /***/ ((module) => {
16634
17033
 
@@ -16671,86 +17070,32 @@ module.exports = _quote;
16671
17070
  /***/ 39488:
16672
17071
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16673
17072
 
16674
- var _isArrayLike =
16675
- /*#__PURE__*/
16676
- __webpack_require__(3219);
16677
-
16678
- var _xwrap =
17073
+ var _arrayReduce =
16679
17074
  /*#__PURE__*/
16680
- __webpack_require__(39874);
17075
+ __webpack_require__(20854);
16681
17076
 
16682
- var bind =
17077
+ var _createReduce =
16683
17078
  /*#__PURE__*/
16684
- __webpack_require__(63195);
16685
-
16686
- function _arrayReduce(xf, acc, list) {
16687
- var idx = 0;
16688
- var len = list.length;
16689
-
16690
- while (idx < len) {
16691
- acc = xf['@@transducer/step'](acc, list[idx]);
17079
+ __webpack_require__(71351);
16692
17080
 
16693
- if (acc && acc['@@transducer/reduced']) {
16694
- acc = acc['@@transducer/value'];
16695
- break;
16696
- }
16697
-
16698
- idx += 1;
16699
- }
16700
-
16701
- return xf['@@transducer/result'](acc);
16702
- }
16703
-
16704
- function _iterableReduce(xf, acc, iter) {
17081
+ function _iterableReduce(reducer, acc, iter) {
16705
17082
  var step = iter.next();
16706
17083
 
16707
17084
  while (!step.done) {
16708
- acc = xf['@@transducer/step'](acc, step.value);
16709
-
16710
- if (acc && acc['@@transducer/reduced']) {
16711
- acc = acc['@@transducer/value'];
16712
- break;
16713
- }
16714
-
17085
+ acc = reducer(acc, step.value);
16715
17086
  step = iter.next();
16716
17087
  }
16717
17088
 
16718
- return xf['@@transducer/result'](acc);
17089
+ return acc;
16719
17090
  }
16720
17091
 
16721
- function _methodReduce(xf, acc, obj, methodName) {
16722
- return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));
17092
+ function _methodReduce(reducer, acc, obj, methodName) {
17093
+ return obj[methodName](reducer, acc);
16723
17094
  }
16724
17095
 
16725
- var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';
16726
-
16727
- function _reduce(fn, acc, list) {
16728
- if (typeof fn === 'function') {
16729
- fn = _xwrap(fn);
16730
- }
16731
-
16732
- if (_isArrayLike(list)) {
16733
- return _arrayReduce(fn, acc, list);
16734
- }
16735
-
16736
- if (typeof list['fantasy-land/reduce'] === 'function') {
16737
- return _methodReduce(fn, acc, list, 'fantasy-land/reduce');
16738
- }
16739
-
16740
- if (list[symIterator] != null) {
16741
- return _iterableReduce(fn, acc, list[symIterator]());
16742
- }
16743
-
16744
- if (typeof list.next === 'function') {
16745
- return _iterableReduce(fn, acc, list);
16746
- }
16747
-
16748
- if (typeof list.reduce === 'function') {
16749
- return _methodReduce(fn, acc, list, 'reduce');
16750
- }
16751
-
16752
- throw new TypeError('reduce: list must be array or iterable');
16753
- }
17096
+ var _reduce =
17097
+ /*#__PURE__*/
17098
+ _createReduce(_arrayReduce, _methodReduce, _iterableReduce);
16754
17099
 
16755
17100
  module.exports = _reduce;
16756
17101
 
@@ -16915,12 +17260,18 @@ function _toString(x, seen) {
16915
17260
  case '[object Date]':
16916
17261
  return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';
16917
17262
 
17263
+ case '[object Map]':
17264
+ return 'new Map(' + recur(Array.from(x)) + ')';
17265
+
16918
17266
  case '[object Null]':
16919
17267
  return 'null';
16920
17268
 
16921
17269
  case '[object Number]':
16922
17270
  return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);
16923
17271
 
17272
+ case '[object Set]':
17273
+ return 'new Set(' + recur(Array.from(x).sort()) + ')';
17274
+
16924
17275
  case '[object String]':
16925
17276
  return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);
16926
17277
 
@@ -16944,12 +17295,77 @@ module.exports = _toString;
16944
17295
 
16945
17296
  /***/ }),
16946
17297
 
16947
- /***/ 15750:
17298
+ /***/ 93703:
17299
+ /***/ ((module) => {
17300
+
17301
+ function _xArrayReduce(xf, acc, list) {
17302
+ var idx = 0;
17303
+ var len = list.length;
17304
+
17305
+ while (idx < len) {
17306
+ acc = xf['@@transducer/step'](acc, list[idx]);
17307
+
17308
+ if (acc && acc['@@transducer/reduced']) {
17309
+ acc = acc['@@transducer/value'];
17310
+ break;
17311
+ }
17312
+
17313
+ idx += 1;
17314
+ }
17315
+
17316
+ return xf['@@transducer/result'](acc);
17317
+ }
17318
+
17319
+ module.exports = _xArrayReduce;
17320
+
17321
+ /***/ }),
17322
+
17323
+ /***/ 89632:
16948
17324
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16949
17325
 
16950
- var _curry2 =
17326
+ var _createReduce =
16951
17327
  /*#__PURE__*/
16952
- __webpack_require__(79002);
17328
+ __webpack_require__(71351);
17329
+
17330
+ var _xArrayReduce =
17331
+ /*#__PURE__*/
17332
+ __webpack_require__(93703);
17333
+
17334
+ var bind =
17335
+ /*#__PURE__*/
17336
+ __webpack_require__(63195);
17337
+
17338
+ function _xIterableReduce(xf, acc, iter) {
17339
+ var step = iter.next();
17340
+
17341
+ while (!step.done) {
17342
+ acc = xf['@@transducer/step'](acc, step.value);
17343
+
17344
+ if (acc && acc['@@transducer/reduced']) {
17345
+ acc = acc['@@transducer/value'];
17346
+ break;
17347
+ }
17348
+
17349
+ step = iter.next();
17350
+ }
17351
+
17352
+ return xf['@@transducer/result'](acc);
17353
+ }
17354
+
17355
+ function _xMethodReduce(xf, acc, obj, methodName) {
17356
+ return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));
17357
+ }
17358
+
17359
+ var _xReduce =
17360
+ /*#__PURE__*/
17361
+ _createReduce(_xArrayReduce, _xMethodReduce, _xIterableReduce);
17362
+
17363
+ module.exports = _xReduce;
17364
+
17365
+ /***/ }),
17366
+
17367
+ /***/ 15750:
17368
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16953
17369
 
16954
17370
  var _reduced =
16955
17371
  /*#__PURE__*/
@@ -16990,11 +17406,11 @@ function () {
16990
17406
  return XAll;
16991
17407
  }();
16992
17408
 
16993
- var _xall =
16994
- /*#__PURE__*/
16995
- _curry2(function _xall(f, xf) {
16996
- return new XAll(f, xf);
16997
- });
17409
+ function _xall(f) {
17410
+ return function (xf) {
17411
+ return new XAll(f, xf);
17412
+ };
17413
+ }
16998
17414
 
16999
17415
  module.exports = _xall;
17000
17416
 
@@ -17003,10 +17419,6 @@ module.exports = _xall;
17003
17419
  /***/ 97034:
17004
17420
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17005
17421
 
17006
- var _curry2 =
17007
- /*#__PURE__*/
17008
- __webpack_require__(79002);
17009
-
17010
17422
  var _reduced =
17011
17423
  /*#__PURE__*/
17012
17424
  __webpack_require__(22157);
@@ -17046,11 +17458,11 @@ function () {
17046
17458
  return XAny;
17047
17459
  }();
17048
17460
 
17049
- var _xany =
17050
- /*#__PURE__*/
17051
- _curry2(function _xany(f, xf) {
17052
- return new XAny(f, xf);
17053
- });
17461
+ function _xany(f) {
17462
+ return function (xf) {
17463
+ return new XAny(f, xf);
17464
+ };
17465
+ }
17054
17466
 
17055
17467
  module.exports = _xany;
17056
17468
 
@@ -17063,10 +17475,6 @@ var _concat =
17063
17475
  /*#__PURE__*/
17064
17476
  __webpack_require__(14011);
17065
17477
 
17066
- var _curry2 =
17067
- /*#__PURE__*/
17068
- __webpack_require__(79002);
17069
-
17070
17478
  var _xfBase =
17071
17479
  /*#__PURE__*/
17072
17480
  __webpack_require__(93714);
@@ -17110,11 +17518,11 @@ function () {
17110
17518
  return XAperture;
17111
17519
  }();
17112
17520
 
17113
- var _xaperture =
17114
- /*#__PURE__*/
17115
- _curry2(function _xaperture(n, xf) {
17116
- return new XAperture(n, xf);
17117
- });
17521
+ function _xaperture(n) {
17522
+ return function (xf) {
17523
+ return new XAperture(n, xf);
17524
+ };
17525
+ }
17118
17526
 
17119
17527
  module.exports = _xaperture;
17120
17528
 
@@ -17123,23 +17531,19 @@ module.exports = _xaperture;
17123
17531
  /***/ 64814:
17124
17532
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17125
17533
 
17126
- var _curry2 =
17127
- /*#__PURE__*/
17128
- __webpack_require__(79002);
17129
-
17130
17534
  var _flatCat =
17131
17535
  /*#__PURE__*/
17132
17536
  __webpack_require__(8530);
17133
17537
 
17134
- var map =
17538
+ var _xmap =
17135
17539
  /*#__PURE__*/
17136
- __webpack_require__(61894);
17540
+ __webpack_require__(72894);
17137
17541
 
17138
- var _xchain =
17139
- /*#__PURE__*/
17140
- _curry2(function _xchain(f, xf) {
17141
- return map(f, _flatCat(xf));
17142
- });
17542
+ function _xchain(f) {
17543
+ return function (xf) {
17544
+ return _xmap(f)(_flatCat(xf));
17545
+ };
17546
+ }
17143
17547
 
17144
17548
  module.exports = _xchain;
17145
17549
 
@@ -17148,10 +17552,6 @@ module.exports = _xchain;
17148
17552
  /***/ 41700:
17149
17553
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17150
17554
 
17151
- var _curry2 =
17152
- /*#__PURE__*/
17153
- __webpack_require__(79002);
17154
-
17155
17555
  var _xfBase =
17156
17556
  /*#__PURE__*/
17157
17557
  __webpack_require__(93714);
@@ -17179,11 +17579,11 @@ function () {
17179
17579
  return XDrop;
17180
17580
  }();
17181
17581
 
17182
- var _xdrop =
17183
- /*#__PURE__*/
17184
- _curry2(function _xdrop(n, xf) {
17185
- return new XDrop(n, xf);
17186
- });
17582
+ function _xdrop(n) {
17583
+ return function (xf) {
17584
+ return new XDrop(n, xf);
17585
+ };
17586
+ }
17187
17587
 
17188
17588
  module.exports = _xdrop;
17189
17589
 
@@ -17192,10 +17592,6 @@ module.exports = _xdrop;
17192
17592
  /***/ 4534:
17193
17593
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17194
17594
 
17195
- var _curry2 =
17196
- /*#__PURE__*/
17197
- __webpack_require__(79002);
17198
-
17199
17595
  var _xfBase =
17200
17596
  /*#__PURE__*/
17201
17597
  __webpack_require__(93714);
@@ -17204,6 +17600,10 @@ var XDropLast =
17204
17600
  /*#__PURE__*/
17205
17601
  function () {
17206
17602
  function XDropLast(n, xf) {
17603
+ if (n <= 0) {
17604
+ return xf;
17605
+ }
17606
+
17207
17607
  this.xf = xf;
17208
17608
  this.pos = 0;
17209
17609
  this.full = false;
@@ -17239,11 +17639,11 @@ function () {
17239
17639
  return XDropLast;
17240
17640
  }();
17241
17641
 
17242
- var _xdropLast =
17243
- /*#__PURE__*/
17244
- _curry2(function _xdropLast(n, xf) {
17245
- return new XDropLast(n, xf);
17246
- });
17642
+ function _xdropLast(n) {
17643
+ return function (xf) {
17644
+ return new XDropLast(n, xf);
17645
+ };
17646
+ }
17247
17647
 
17248
17648
  module.exports = _xdropLast;
17249
17649
 
@@ -17252,18 +17652,14 @@ module.exports = _xdropLast;
17252
17652
  /***/ 34783:
17253
17653
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17254
17654
 
17255
- var _curry2 =
17256
- /*#__PURE__*/
17257
- __webpack_require__(79002);
17258
-
17259
- var _reduce =
17260
- /*#__PURE__*/
17261
- __webpack_require__(39488);
17262
-
17263
17655
  var _xfBase =
17264
17656
  /*#__PURE__*/
17265
17657
  __webpack_require__(93714);
17266
17658
 
17659
+ var _xReduce =
17660
+ /*#__PURE__*/
17661
+ __webpack_require__(89632);
17662
+
17267
17663
  var XDropLastWhile =
17268
17664
  /*#__PURE__*/
17269
17665
  function () {
@@ -17285,7 +17681,7 @@ function () {
17285
17681
  };
17286
17682
 
17287
17683
  XDropLastWhile.prototype.flush = function (result, input) {
17288
- result = _reduce(this.xf['@@transducer/step'], result, this.retained);
17684
+ result = _xReduce(this.xf, result, this.retained);
17289
17685
  this.retained = [];
17290
17686
  return this.xf['@@transducer/step'](result, input);
17291
17687
  };
@@ -17298,11 +17694,11 @@ function () {
17298
17694
  return XDropLastWhile;
17299
17695
  }();
17300
17696
 
17301
- var _xdropLastWhile =
17302
- /*#__PURE__*/
17303
- _curry2(function _xdropLastWhile(fn, xf) {
17304
- return new XDropLastWhile(fn, xf);
17305
- });
17697
+ function _xdropLastWhile(fn) {
17698
+ return function (xf) {
17699
+ return new XDropLastWhile(fn, xf);
17700
+ };
17701
+ }
17306
17702
 
17307
17703
  module.exports = _xdropLastWhile;
17308
17704
 
@@ -17311,10 +17707,6 @@ module.exports = _xdropLastWhile;
17311
17707
  /***/ 6234:
17312
17708
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17313
17709
 
17314
- var _curry2 =
17315
- /*#__PURE__*/
17316
- __webpack_require__(79002);
17317
-
17318
17710
  var _xfBase =
17319
17711
  /*#__PURE__*/
17320
17712
  __webpack_require__(93714);
@@ -17348,11 +17740,11 @@ function () {
17348
17740
  return XDropRepeatsWith;
17349
17741
  }();
17350
17742
 
17351
- var _xdropRepeatsWith =
17352
- /*#__PURE__*/
17353
- _curry2(function _xdropRepeatsWith(pred, xf) {
17354
- return new XDropRepeatsWith(pred, xf);
17355
- });
17743
+ function _xdropRepeatsWith(pred) {
17744
+ return function (xf) {
17745
+ return new XDropRepeatsWith(pred, xf);
17746
+ };
17747
+ }
17356
17748
 
17357
17749
  module.exports = _xdropRepeatsWith;
17358
17750
 
@@ -17361,10 +17753,6 @@ module.exports = _xdropRepeatsWith;
17361
17753
  /***/ 1908:
17362
17754
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17363
17755
 
17364
- var _curry2 =
17365
- /*#__PURE__*/
17366
- __webpack_require__(79002);
17367
-
17368
17756
  var _xfBase =
17369
17757
  /*#__PURE__*/
17370
17758
  __webpack_require__(93714);
@@ -17395,11 +17783,11 @@ function () {
17395
17783
  return XDropWhile;
17396
17784
  }();
17397
17785
 
17398
- var _xdropWhile =
17399
- /*#__PURE__*/
17400
- _curry2(function _xdropWhile(f, xf) {
17401
- return new XDropWhile(f, xf);
17402
- });
17786
+ function _xdropWhile(f) {
17787
+ return function (xf) {
17788
+ return new XDropWhile(f, xf);
17789
+ };
17790
+ }
17403
17791
 
17404
17792
  module.exports = _xdropWhile;
17405
17793
 
@@ -17422,10 +17810,6 @@ module.exports = {
17422
17810
  /***/ 11383:
17423
17811
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17424
17812
 
17425
- var _curry2 =
17426
- /*#__PURE__*/
17427
- __webpack_require__(79002);
17428
-
17429
17813
  var _xfBase =
17430
17814
  /*#__PURE__*/
17431
17815
  __webpack_require__(93714);
@@ -17448,11 +17832,11 @@ function () {
17448
17832
  return XFilter;
17449
17833
  }();
17450
17834
 
17451
- var _xfilter =
17452
- /*#__PURE__*/
17453
- _curry2(function _xfilter(f, xf) {
17454
- return new XFilter(f, xf);
17455
- });
17835
+ function _xfilter(f) {
17836
+ return function (xf) {
17837
+ return new XFilter(f, xf);
17838
+ };
17839
+ }
17456
17840
 
17457
17841
  module.exports = _xfilter;
17458
17842
 
@@ -17461,10 +17845,6 @@ module.exports = _xfilter;
17461
17845
  /***/ 47855:
17462
17846
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17463
17847
 
17464
- var _curry2 =
17465
- /*#__PURE__*/
17466
- __webpack_require__(79002);
17467
-
17468
17848
  var _reduced =
17469
17849
  /*#__PURE__*/
17470
17850
  __webpack_require__(22157);
@@ -17504,11 +17884,11 @@ function () {
17504
17884
  return XFind;
17505
17885
  }();
17506
17886
 
17507
- var _xfind =
17508
- /*#__PURE__*/
17509
- _curry2(function _xfind(f, xf) {
17510
- return new XFind(f, xf);
17511
- });
17887
+ function _xfind(f) {
17888
+ return function (xf) {
17889
+ return new XFind(f, xf);
17890
+ };
17891
+ }
17512
17892
 
17513
17893
  module.exports = _xfind;
17514
17894
 
@@ -17517,10 +17897,6 @@ module.exports = _xfind;
17517
17897
  /***/ 20834:
17518
17898
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17519
17899
 
17520
- var _curry2 =
17521
- /*#__PURE__*/
17522
- __webpack_require__(79002);
17523
-
17524
17900
  var _reduced =
17525
17901
  /*#__PURE__*/
17526
17902
  __webpack_require__(22157);
@@ -17563,11 +17939,11 @@ function () {
17563
17939
  return XFindIndex;
17564
17940
  }();
17565
17941
 
17566
- var _xfindIndex =
17567
- /*#__PURE__*/
17568
- _curry2(function _xfindIndex(f, xf) {
17569
- return new XFindIndex(f, xf);
17570
- });
17942
+ function _xfindIndex(f) {
17943
+ return function (xf) {
17944
+ return new XFindIndex(f, xf);
17945
+ };
17946
+ }
17571
17947
 
17572
17948
  module.exports = _xfindIndex;
17573
17949
 
@@ -17576,10 +17952,6 @@ module.exports = _xfindIndex;
17576
17952
  /***/ 28922:
17577
17953
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17578
17954
 
17579
- var _curry2 =
17580
- /*#__PURE__*/
17581
- __webpack_require__(79002);
17582
-
17583
17955
  var _xfBase =
17584
17956
  /*#__PURE__*/
17585
17957
  __webpack_require__(93714);
@@ -17609,11 +17981,11 @@ function () {
17609
17981
  return XFindLast;
17610
17982
  }();
17611
17983
 
17612
- var _xfindLast =
17613
- /*#__PURE__*/
17614
- _curry2(function _xfindLast(f, xf) {
17615
- return new XFindLast(f, xf);
17616
- });
17984
+ function _xfindLast(f) {
17985
+ return function (xf) {
17986
+ return new XFindLast(f, xf);
17987
+ };
17988
+ }
17617
17989
 
17618
17990
  module.exports = _xfindLast;
17619
17991
 
@@ -17622,10 +17994,6 @@ module.exports = _xfindLast;
17622
17994
  /***/ 36626:
17623
17995
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17624
17996
 
17625
- var _curry2 =
17626
- /*#__PURE__*/
17627
- __webpack_require__(79002);
17628
-
17629
17997
  var _xfBase =
17630
17998
  /*#__PURE__*/
17631
17999
  __webpack_require__(93714);
@@ -17659,11 +18027,11 @@ function () {
17659
18027
  return XFindLastIndex;
17660
18028
  }();
17661
18029
 
17662
- var _xfindLastIndex =
17663
- /*#__PURE__*/
17664
- _curry2(function _xfindLastIndex(f, xf) {
17665
- return new XFindLastIndex(f, xf);
17666
- });
18030
+ function _xfindLastIndex(f) {
18031
+ return function (xf) {
18032
+ return new XFindLastIndex(f, xf);
18033
+ };
18034
+ }
17667
18035
 
17668
18036
  module.exports = _xfindLastIndex;
17669
18037
 
@@ -17672,10 +18040,6 @@ module.exports = _xfindLastIndex;
17672
18040
  /***/ 72894:
17673
18041
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17674
18042
 
17675
- var _curry2 =
17676
- /*#__PURE__*/
17677
- __webpack_require__(79002);
17678
-
17679
18043
  var _xfBase =
17680
18044
  /*#__PURE__*/
17681
18045
  __webpack_require__(93714);
@@ -17698,11 +18062,11 @@ function () {
17698
18062
  return XMap;
17699
18063
  }();
17700
18064
 
17701
- var _xmap =
17702
- /*#__PURE__*/
17703
- _curry2(function _xmap(f, xf) {
17704
- return new XMap(f, xf);
17705
- });
18065
+ var _xmap = function _xmap(f) {
18066
+ return function (xf) {
18067
+ return new XMap(f, xf);
18068
+ };
18069
+ };
17706
18070
 
17707
18071
  module.exports = _xmap;
17708
18072
 
@@ -17711,10 +18075,6 @@ module.exports = _xmap;
17711
18075
  /***/ 81884:
17712
18076
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17713
18077
 
17714
- var _curry3 =
17715
- /*#__PURE__*/
17716
- __webpack_require__(16370);
17717
-
17718
18078
  var _xfBase =
17719
18079
  /*#__PURE__*/
17720
18080
  __webpack_require__(93714);
@@ -17742,11 +18102,11 @@ function () {
17742
18102
  return XPromap;
17743
18103
  }();
17744
18104
 
17745
- var _xpromap =
17746
- /*#__PURE__*/
17747
- _curry3(function _xpromap(f, g, xf) {
17748
- return new XPromap(f, g, xf);
17749
- });
18105
+ function _xpromap(f, g) {
18106
+ return function (xf) {
18107
+ return new XPromap(f, g, xf);
18108
+ };
18109
+ }
17750
18110
 
17751
18111
  module.exports = _xpromap;
17752
18112
 
@@ -17755,9 +18115,9 @@ module.exports = _xpromap;
17755
18115
  /***/ 57744:
17756
18116
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17757
18117
 
17758
- var _curryN =
18118
+ var _clone =
17759
18119
  /*#__PURE__*/
17760
- __webpack_require__(32738);
18120
+ __webpack_require__(45114);
17761
18121
 
17762
18122
  var _has =
17763
18123
  /*#__PURE__*/
@@ -17800,7 +18160,7 @@ function () {
17800
18160
 
17801
18161
  XReduceBy.prototype['@@transducer/step'] = function (result, input) {
17802
18162
  var key = this.keyFn(input);
17803
- this.inputs[key] = this.inputs[key] || [key, this.valueAcc];
18163
+ this.inputs[key] = this.inputs[key] || [key, _clone(this.valueAcc, false)];
17804
18164
  this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);
17805
18165
  return result;
17806
18166
  };
@@ -17808,22 +18168,69 @@ function () {
17808
18168
  return XReduceBy;
17809
18169
  }();
17810
18170
 
17811
- var _xreduceBy =
17812
- /*#__PURE__*/
17813
- _curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {
17814
- return new XReduceBy(valueFn, valueAcc, keyFn, xf);
17815
- });
18171
+ function _xreduceBy(valueFn, valueAcc, keyFn) {
18172
+ return function (xf) {
18173
+ return new XReduceBy(valueFn, valueAcc, keyFn, xf);
18174
+ };
18175
+ }
17816
18176
 
17817
18177
  module.exports = _xreduceBy;
17818
18178
 
17819
18179
  /***/ }),
17820
18180
 
17821
- /***/ 49184:
18181
+ /***/ 4465:
17822
18182
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17823
18183
 
17824
- var _curry2 =
18184
+ var _curry3 =
17825
18185
  /*#__PURE__*/
17826
- __webpack_require__(79002);
18186
+ __webpack_require__(16370);
18187
+
18188
+ var _xfBase =
18189
+ /*#__PURE__*/
18190
+ __webpack_require__(93714);
18191
+
18192
+ var tInit = '@@transducer/init';
18193
+ var tStep = '@@transducer/step';
18194
+
18195
+ var XScan =
18196
+ /*#__PURE__*/
18197
+ function () {
18198
+ function XScan(reducer, acc, xf) {
18199
+ this.xf = xf;
18200
+ this.f = reducer;
18201
+ this.acc = acc;
18202
+ }
18203
+
18204
+ XScan.prototype[tInit] = function () {
18205
+ return this.xf[tStep](this.xf[tInit](), this.acc);
18206
+ };
18207
+
18208
+ XScan.prototype['@@transducer/result'] = _xfBase.result;
18209
+
18210
+ XScan.prototype[tStep] = function (result, input) {
18211
+ if (result['@@transducer/reduced']) {
18212
+ return result;
18213
+ }
18214
+
18215
+ this.acc = this.f(this.acc, input);
18216
+ return this.xf[tStep](result, this.acc);
18217
+ };
18218
+
18219
+ return XScan;
18220
+ }();
18221
+
18222
+ var _xscan =
18223
+ /*#__PURE__*/
18224
+ _curry3(function _xscan(reducer, acc, xf) {
18225
+ return new XScan(reducer, acc, xf);
18226
+ });
18227
+
18228
+ module.exports = _xscan;
18229
+
18230
+ /***/ }),
18231
+
18232
+ /***/ 49184:
18233
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17827
18234
 
17828
18235
  var _reduced =
17829
18236
  /*#__PURE__*/
@@ -17854,11 +18261,11 @@ function () {
17854
18261
  return XTake;
17855
18262
  }();
17856
18263
 
17857
- var _xtake =
17858
- /*#__PURE__*/
17859
- _curry2(function _xtake(n, xf) {
17860
- return new XTake(n, xf);
17861
- });
18264
+ function _xtake(n) {
18265
+ return function (xf) {
18266
+ return new XTake(n, xf);
18267
+ };
18268
+ }
17862
18269
 
17863
18270
  module.exports = _xtake;
17864
18271
 
@@ -17867,10 +18274,6 @@ module.exports = _xtake;
17867
18274
  /***/ 89963:
17868
18275
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17869
18276
 
17870
- var _curry2 =
17871
- /*#__PURE__*/
17872
- __webpack_require__(79002);
17873
-
17874
18277
  var _reduced =
17875
18278
  /*#__PURE__*/
17876
18279
  __webpack_require__(22157);
@@ -17897,11 +18300,11 @@ function () {
17897
18300
  return XTakeWhile;
17898
18301
  }();
17899
18302
 
17900
- var _xtakeWhile =
17901
- /*#__PURE__*/
17902
- _curry2(function _xtakeWhile(f, xf) {
17903
- return new XTakeWhile(f, xf);
17904
- });
18303
+ function _xtakeWhile(f) {
18304
+ return function (xf) {
18305
+ return new XTakeWhile(f, xf);
18306
+ };
18307
+ }
17905
18308
 
17906
18309
  module.exports = _xtakeWhile;
17907
18310
 
@@ -17910,10 +18313,6 @@ module.exports = _xtakeWhile;
17910
18313
  /***/ 59524:
17911
18314
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17912
18315
 
17913
- var _curry2 =
17914
- /*#__PURE__*/
17915
- __webpack_require__(79002);
17916
-
17917
18316
  var _xfBase =
17918
18317
  /*#__PURE__*/
17919
18318
  __webpack_require__(93714);
@@ -17937,11 +18336,11 @@ function () {
17937
18336
  return XTap;
17938
18337
  }();
17939
18338
 
17940
- var _xtap =
17941
- /*#__PURE__*/
17942
- _curry2(function _xtap(f, xf) {
17943
- return new XTap(f, xf);
17944
- });
18339
+ function _xtap(f) {
18340
+ return function (xf) {
18341
+ return new XTap(f, xf);
18342
+ };
18343
+ }
17945
18344
 
17946
18345
  module.exports = _xtap;
17947
18346
 
@@ -17950,10 +18349,6 @@ module.exports = _xtap;
17950
18349
  /***/ 17284:
17951
18350
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17952
18351
 
17953
- var _curry2 =
17954
- /*#__PURE__*/
17955
- __webpack_require__(79002);
17956
-
17957
18352
  var _Set =
17958
18353
  /*#__PURE__*/
17959
18354
  __webpack_require__(8876);
@@ -17981,22 +18376,18 @@ function () {
17981
18376
  return XUniqBy;
17982
18377
  }();
17983
18378
 
17984
- var _xuniqBy =
17985
- /*#__PURE__*/
17986
- _curry2(function _xuniqBy(f, xf) {
17987
- return new XUniqBy(f, xf);
17988
- });
18379
+ function _xuniqBy(f) {
18380
+ return function (xf) {
18381
+ return new XUniqBy(f, xf);
18382
+ };
18383
+ }
17989
18384
 
17990
18385
  module.exports = _xuniqBy;
17991
18386
 
17992
18387
  /***/ }),
17993
18388
 
17994
18389
  /***/ 37130:
17995
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17996
-
17997
- var _curry2 =
17998
- /*#__PURE__*/
17999
- __webpack_require__(79002);
18390
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18000
18391
 
18001
18392
  var _includesWith =
18002
18393
  /*#__PURE__*/
@@ -18030,11 +18421,11 @@ function () {
18030
18421
  return XUniqWith;
18031
18422
  }();
18032
18423
 
18033
- var _xuniqWith =
18034
- /*#__PURE__*/
18035
- _curry2(function _xuniqWith(pred, xf) {
18036
- return new XUniqWith(pred, xf);
18037
- });
18424
+ function _xuniqWith(pred) {
18425
+ return function (xf) {
18426
+ return new XUniqWith(pred, xf);
18427
+ };
18428
+ }
18038
18429
 
18039
18430
  module.exports = _xuniqWith;
18040
18431
 
@@ -18076,10 +18467,6 @@ module.exports = _xwrap;
18076
18467
  /***/ 26921:
18077
18468
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18078
18469
 
18079
- var _includes =
18080
- /*#__PURE__*/
18081
- __webpack_require__(87243);
18082
-
18083
18470
  var _curry2 =
18084
18471
  /*#__PURE__*/
18085
18472
  __webpack_require__(79002);
@@ -18088,9 +18475,9 @@ var _filter =
18088
18475
  /*#__PURE__*/
18089
18476
  __webpack_require__(34877);
18090
18477
 
18091
- var flip =
18478
+ var _Set =
18092
18479
  /*#__PURE__*/
18093
- __webpack_require__(9134);
18480
+ __webpack_require__(8876);
18094
18481
 
18095
18482
  var uniq =
18096
18483
  /*#__PURE__*/
@@ -18117,17 +18504,13 @@ __webpack_require__(90086);
18117
18504
  var intersection =
18118
18505
  /*#__PURE__*/
18119
18506
  _curry2(function intersection(list1, list2) {
18120
- var lookupList, filteredList;
18507
+ var toKeep = new _Set();
18121
18508
 
18122
- if (list1.length > list2.length) {
18123
- lookupList = list1;
18124
- filteredList = list2;
18125
- } else {
18126
- lookupList = list2;
18127
- filteredList = list1;
18509
+ for (var i = 0; i < list1.length; i += 1) {
18510
+ toKeep.add(list1[i]);
18128
18511
  }
18129
18512
 
18130
- return uniq(_filter(flip(_includes)(lookupList), filteredList));
18513
+ return uniq(_filter(toKeep.has.bind(toKeep), list2));
18131
18514
  });
18132
18515
 
18133
18516
  module.exports = intersection;
@@ -18192,10 +18575,6 @@ module.exports = intersperse;
18192
18575
  /***/ 33795:
18193
18576
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18194
18577
 
18195
- var _clone =
18196
- /*#__PURE__*/
18197
- __webpack_require__(45114);
18198
-
18199
18578
  var _curry3 =
18200
18579
  /*#__PURE__*/
18201
18580
  __webpack_require__(16370);
@@ -18204,9 +18583,9 @@ var _isTransformer =
18204
18583
  /*#__PURE__*/
18205
18584
  __webpack_require__(69082);
18206
18585
 
18207
- var _reduce =
18586
+ var _xReduce =
18208
18587
  /*#__PURE__*/
18209
- __webpack_require__(39488);
18588
+ __webpack_require__(89632);
18210
18589
 
18211
18590
  var _stepCat =
18212
18591
  /*#__PURE__*/
@@ -18254,8 +18633,9 @@ __webpack_require__(74745);
18254
18633
 
18255
18634
  var into =
18256
18635
  /*#__PURE__*/
18257
- _curry3(function into(acc, xf, list) {
18258
- return _isTransformer(acc) ? _reduce(xf(acc), acc['@@transducer/init'](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);
18636
+ _curry3(function into(acc, transducer, list) {
18637
+ var xf = transducer(_isTransformer(acc) ? acc : _stepCat(acc));
18638
+ return _xReduce(xf, xf['@@transducer/init'](), list);
18259
18639
  });
18260
18640
 
18261
18641
  module.exports = into;
@@ -18402,11 +18782,10 @@ var toString =
18402
18782
  /*#__PURE__*/
18403
18783
  __webpack_require__(15243);
18404
18784
  /**
18405
- * Turns a named method with a specified arity into a function that can be
18406
- * called directly supplied with arguments and a target object.
18407
- *
18408
- * The returned function is curried and accepts `arity + 1` parameters where
18409
- * the final parameter is the target object.
18785
+ * Given an `arity` (Number) and a `name` (String) the `invoker` function
18786
+ * returns a curried function that takes `arity` arguments and a `context`
18787
+ * object. It will "invoke" the `name`'d function (a method) on the `context`
18788
+ * object.
18410
18789
  *
18411
18790
  * @func
18412
18791
  * @memberOf R
@@ -18419,17 +18798,26 @@ __webpack_require__(15243);
18419
18798
  * @return {Function} A new curried function.
18420
18799
  * @see R.construct
18421
18800
  * @example
18801
+ * // A function with no arguments
18802
+ * const asJson = invoker(0, "json")
18803
+ * // Just like calling .then((response) => response.json())
18804
+ * fetch("http://example.com/index.json").then(asJson)
18422
18805
  *
18423
- * const sliceFrom = R.invoker(1, 'slice');
18806
+ * // A function with one argument
18807
+ * const sliceFrom = invoker(1, 'slice');
18424
18808
  * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'
18425
- * const sliceFrom6 = R.invoker(2, 'slice')(6);
18809
+ *
18810
+ * // A function with two arguments
18811
+ * const sliceFrom6 = invoker(2, 'slice')(6);
18426
18812
  * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'
18427
18813
  *
18428
- * const dog = {
18429
- * speak: async () => 'Woof!'
18430
- * };
18431
- * const speak = R.invoker(0, 'speak');
18432
- * speak(dog).then(console.log) //~> 'Woof!'
18814
+ * // NOTE: You can't simply pass some of the arguments to the initial invoker function.
18815
+ * const firstCreditCardSection = invoker(2, "slice", 0, 4)
18816
+ * firstCreditCardSection("4242 4242 4242 4242") // => Function<...>
18817
+ *
18818
+ * // Since invoker returns a curried function, you may partially apply it to create the function you need.
18819
+ * const firstCreditCardSection = invoker(2, "slice")(0, 4)
18820
+ * firstCreditCardSection("4242 4242 4242 4242") // => "4242"
18433
18821
  *
18434
18822
  * @symb R.invoker(0, 'method')(o) = o['method']()
18435
18823
  * @symb R.invoker(1, 'method')(a, o) = o['method'](a)
@@ -18580,6 +18968,45 @@ module.exports = isNil;
18580
18968
 
18581
18969
  /***/ }),
18582
18970
 
18971
+ /***/ 91533:
18972
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18973
+
18974
+ var isNil =
18975
+ /*#__PURE__*/
18976
+ __webpack_require__(13657);
18977
+
18978
+ var _curry1 =
18979
+ /*#__PURE__*/
18980
+ __webpack_require__(76224);
18981
+ /**
18982
+ * Checks if the input value is not `null` and not `undefined`.
18983
+ *
18984
+ * @func
18985
+ * @memberOf R
18986
+ * @since v0.29.0
18987
+ * @category Type
18988
+ * @sig * -> Boolean
18989
+ * @param {*} x The value to test.
18990
+ * @return {Boolean} `true` if `x` is not `undefined` or not `null`, otherwise `false`.
18991
+ * @example
18992
+ *
18993
+ * R.isNotNil(null); //=> false
18994
+ * R.isNotNil(undefined); //=> false
18995
+ * R.isNotNil(0); //=> true
18996
+ * R.isNotNil([]); //=> true
18997
+ */
18998
+
18999
+
19000
+ var isNotNil =
19001
+ /*#__PURE__*/
19002
+ _curry1(function isNotNil(x) {
19003
+ return !isNil(x);
19004
+ });
19005
+
19006
+ module.exports = isNotNil;
19007
+
19008
+ /***/ }),
19009
+
18583
19010
  /***/ 18231:
18584
19011
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18585
19012
 
@@ -19194,9 +19621,9 @@ var _curry2 =
19194
19621
  /*#__PURE__*/
19195
19622
  __webpack_require__(79002);
19196
19623
 
19197
- var _reduce =
19624
+ var _arrayReduce =
19198
19625
  /*#__PURE__*/
19199
- __webpack_require__(39488);
19626
+ __webpack_require__(20854);
19200
19627
 
19201
19628
  var ap =
19202
19629
  /*#__PURE__*/
@@ -19233,7 +19660,7 @@ var liftN =
19233
19660
  _curry2(function liftN(arity, fn) {
19234
19661
  var lifted = curryN(arity, fn);
19235
19662
  return curryN(arity, function () {
19236
- return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));
19663
+ return _arrayReduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));
19237
19664
  });
19238
19665
  });
19239
19666
 
@@ -19322,6 +19749,10 @@ module.exports = lte;
19322
19749
  /***/ 61894:
19323
19750
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
19324
19751
 
19752
+ var _arrayReduce =
19753
+ /*#__PURE__*/
19754
+ __webpack_require__(20854);
19755
+
19325
19756
  var _curry2 =
19326
19757
  /*#__PURE__*/
19327
19758
  __webpack_require__(79002);
@@ -19334,10 +19765,6 @@ var _map =
19334
19765
  /*#__PURE__*/
19335
19766
  __webpack_require__(36692);
19336
19767
 
19337
- var _reduce =
19338
- /*#__PURE__*/
19339
- __webpack_require__(39488);
19340
-
19341
19768
  var _xmap =
19342
19769
  /*#__PURE__*/
19343
19770
  __webpack_require__(72894);
@@ -19398,7 +19825,7 @@ _dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {
19398
19825
  });
19399
19826
 
19400
19827
  case '[object Object]':
19401
- return _reduce(function (acc, key) {
19828
+ return _arrayReduce(function (acc, key) {
19402
19829
  acc[key] = fn(functor[key]);
19403
19830
  return acc;
19404
19831
  }, {}, keys(functor));
@@ -19543,13 +19970,13 @@ module.exports = mapAccumRight;
19543
19970
  /***/ 90013:
19544
19971
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
19545
19972
 
19546
- var _curry2 =
19973
+ var _arrayReduce =
19547
19974
  /*#__PURE__*/
19548
- __webpack_require__(79002);
19975
+ __webpack_require__(20854);
19549
19976
 
19550
- var _reduce =
19977
+ var _curry2 =
19551
19978
  /*#__PURE__*/
19552
- __webpack_require__(39488);
19979
+ __webpack_require__(79002);
19553
19980
 
19554
19981
  var keys =
19555
19982
  /*#__PURE__*/
@@ -19580,7 +20007,7 @@ __webpack_require__(90368);
19580
20007
  var mapObjIndexed =
19581
20008
  /*#__PURE__*/
19582
20009
  _curry2(function mapObjIndexed(fn, obj) {
19583
- return _reduce(function (acc, key) {
20010
+ return _arrayReduce(function (acc, key) {
19584
20011
  acc[key] = fn(obj[key], key, obj);
19585
20012
  return acc;
19586
20013
  }, {}, keys(obj));
@@ -19698,6 +20125,10 @@ module.exports = mathMod;
19698
20125
  var _curry2 =
19699
20126
  /*#__PURE__*/
19700
20127
  __webpack_require__(79002);
20128
+
20129
+ var toString =
20130
+ /*#__PURE__*/
20131
+ __webpack_require__(15243);
19701
20132
  /**
19702
20133
  * Returns the larger of its two arguments.
19703
20134
  *
@@ -19720,7 +20151,38 @@ __webpack_require__(79002);
19720
20151
  var max =
19721
20152
  /*#__PURE__*/
19722
20153
  _curry2(function max(a, b) {
19723
- return b > a ? b : a;
20154
+ if (a === b) {
20155
+ return b;
20156
+ }
20157
+
20158
+ function safeMax(x, y) {
20159
+ if (x > y !== y > x) {
20160
+ return y > x ? y : x;
20161
+ }
20162
+
20163
+ return undefined;
20164
+ }
20165
+
20166
+ var maxByValue = safeMax(a, b);
20167
+
20168
+ if (maxByValue !== undefined) {
20169
+ return maxByValue;
20170
+ }
20171
+
20172
+ var maxByType = safeMax(typeof a, typeof b);
20173
+
20174
+ if (maxByType !== undefined) {
20175
+ return maxByType === typeof a ? a : b;
20176
+ }
20177
+
20178
+ var stringA = toString(a);
20179
+ var maxByStringValue = safeMax(stringA, toString(b));
20180
+
20181
+ if (maxByStringValue !== undefined) {
20182
+ return maxByStringValue === stringA ? a : b;
20183
+ }
20184
+
20185
+ return b;
19724
20186
  });
19725
20187
 
19726
20188
  module.exports = max;
@@ -19733,6 +20195,10 @@ module.exports = max;
19733
20195
  var _curry3 =
19734
20196
  /*#__PURE__*/
19735
20197
  __webpack_require__(16370);
20198
+
20199
+ var max =
20200
+ /*#__PURE__*/
20201
+ __webpack_require__(21186);
19736
20202
  /**
19737
20203
  * Takes a function and two values, and returns whichever value produces the
19738
20204
  * larger result when passed to the provided function.
@@ -19762,7 +20228,8 @@ __webpack_require__(16370);
19762
20228
  var maxBy =
19763
20229
  /*#__PURE__*/
19764
20230
  _curry3(function maxBy(f, a, b) {
19765
- return f(b) > f(a) ? b : a;
20231
+ var resultB = f(b);
20232
+ return max(f(a), resultB) === resultB ? b : a;
19766
20233
  });
19767
20234
 
19768
20235
  module.exports = maxBy;
@@ -19871,13 +20338,18 @@ var _has =
19871
20338
  /*#__PURE__*/
19872
20339
  __webpack_require__(87684);
19873
20340
  /**
19874
- * Creates a new function that, when invoked, caches the result of calling `fn`
19875
- * for a given argument set and returns the result. Subsequent calls to the
19876
- * memoized `fn` with the same argument set will not result in an additional
19877
- * call to `fn`; instead, the cached result for that set of arguments will be
19878
- * returned.
20341
+ * Takes a string-returning function `keyGen` and a function `fn` and returns
20342
+ * a new function that returns cached results for subsequent
20343
+ * calls with the same arguments.
20344
+ *
20345
+ * When the function is invoked, `keyGen` is applied to the same arguments
20346
+ * and its result becomes the cache key. If the cache contains something
20347
+ * under that key, the function simply returns it and does not invoke `fn` at all.
20348
+ *
20349
+ * Otherwise `fn` is applied to the same arguments and its return value
20350
+ * is cached under that key and returned by the function.
19879
20351
  *
19880
- * Care must be taken when implementing key generation to avoid key collision,
20352
+ * Care must be taken when implementing `keyGen` to avoid key collision,
19881
20353
  * or if tracking references, memory leaks and mutating arguments.
19882
20354
  *
19883
20355
  * @func
@@ -19885,29 +20357,32 @@ __webpack_require__(87684);
19885
20357
  * @since v0.24.0
19886
20358
  * @category Function
19887
20359
  * @sig (*... -> String) -> (*... -> a) -> (*... -> a)
19888
- * @param {Function} fn The function to generate the cache key.
20360
+ * @param {Function} keyGen The function to generate the cache key.
19889
20361
  * @param {Function} fn The function to memoize.
19890
20362
  * @return {Function} Memoized version of `fn`.
19891
20363
  * @example
19892
- *
19893
- * let count = 0;
19894
- * const factorial = R.memoizeWith(Number, n => {
19895
- * count += 1;
19896
- * return R.product(R.range(1, n + 1));
20364
+ * const withAge = memoizeWith(o => `${o.birth}/${o.death}`, ({birth, death}) => {
20365
+ * // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^
20366
+ * // keyGen fn
20367
+ * console.log(`computing age for ${birth}/${death}`);
20368
+ * return ({birth, death, age: death - birth});
19897
20369
  * });
19898
- * factorial(5); //=> 120
19899
- * factorial(5); //=> 120
19900
- * factorial(5); //=> 120
19901
- * count; //=> 1
20370
+ *
20371
+ * withAge({birth: 1921, death: 1999});
20372
+ * //=> LOG: computing age for 1921/1999
20373
+ * //=> {birth: 1921, death: 1999, age: 78} (returned from fn)
20374
+ *
20375
+ * withAge({birth: 1921, death: 1999});
20376
+ * //=> {birth: 1921, death: 1999, age: 78} (returned from cache)
19902
20377
  */
19903
20378
 
19904
20379
 
19905
20380
  var memoizeWith =
19906
20381
  /*#__PURE__*/
19907
- _curry2(function memoizeWith(mFn, fn) {
20382
+ _curry2(function memoizeWith(keyGen, fn) {
19908
20383
  var cache = {};
19909
20384
  return _arity(fn.length, function () {
19910
- var key = mFn.apply(this, arguments);
20385
+ var key = keyGen.apply(this, arguments);
19911
20386
 
19912
20387
  if (!_has(key, cache)) {
19913
20388
  cache[key] = fn.apply(this, arguments);
@@ -20342,6 +20817,8 @@ var mergeWithKey =
20342
20817
  _curry3(function mergeWithKey(fn, l, r) {
20343
20818
  var result = {};
20344
20819
  var k;
20820
+ l = l || {};
20821
+ r = r || {};
20345
20822
 
20346
20823
  for (k in l) {
20347
20824
  if (_has(k, l)) {
@@ -20368,6 +20845,10 @@ module.exports = mergeWithKey;
20368
20845
  var _curry2 =
20369
20846
  /*#__PURE__*/
20370
20847
  __webpack_require__(79002);
20848
+
20849
+ var toString =
20850
+ /*#__PURE__*/
20851
+ __webpack_require__(15243);
20371
20852
  /**
20372
20853
  * Returns the smaller of its two arguments.
20373
20854
  *
@@ -20390,7 +20871,38 @@ __webpack_require__(79002);
20390
20871
  var min =
20391
20872
  /*#__PURE__*/
20392
20873
  _curry2(function min(a, b) {
20393
- return b < a ? b : a;
20874
+ if (a === b) {
20875
+ return a;
20876
+ }
20877
+
20878
+ function safeMin(x, y) {
20879
+ if (x < y !== y < x) {
20880
+ return y < x ? y : x;
20881
+ }
20882
+
20883
+ return undefined;
20884
+ }
20885
+
20886
+ var minByValue = safeMin(a, b);
20887
+
20888
+ if (minByValue !== undefined) {
20889
+ return minByValue;
20890
+ }
20891
+
20892
+ var minByType = safeMin(typeof a, typeof b);
20893
+
20894
+ if (minByType !== undefined) {
20895
+ return minByType === typeof a ? a : b;
20896
+ }
20897
+
20898
+ var stringA = toString(a);
20899
+ var minByStringValue = safeMin(stringA, toString(b));
20900
+
20901
+ if (minByStringValue !== undefined) {
20902
+ return minByStringValue === stringA ? a : b;
20903
+ }
20904
+
20905
+ return a;
20394
20906
  });
20395
20907
 
20396
20908
  module.exports = min;
@@ -20403,6 +20915,10 @@ module.exports = min;
20403
20915
  var _curry3 =
20404
20916
  /*#__PURE__*/
20405
20917
  __webpack_require__(16370);
20918
+
20919
+ var min =
20920
+ /*#__PURE__*/
20921
+ __webpack_require__(25624);
20406
20922
  /**
20407
20923
  * Takes a function and two values, and returns whichever value produces the
20408
20924
  * smaller result when passed to the provided function.
@@ -20432,7 +20948,8 @@ __webpack_require__(16370);
20432
20948
  var minBy =
20433
20949
  /*#__PURE__*/
20434
20950
  _curry3(function minBy(f, a, b) {
20435
- return f(b) < f(a) ? b : a;
20951
+ var resultB = f(b);
20952
+ return min(f(a), resultB) === resultB ? b : a;
20436
20953
  });
20437
20954
 
20438
20955
  module.exports = minBy;
@@ -21099,15 +21616,16 @@ module.exports = objOf;
21099
21616
  /***/ 70682:
21100
21617
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
21101
21618
 
21102
- var _curry1 =
21103
- /*#__PURE__*/
21104
- __webpack_require__(76224);
21105
-
21106
- var _of =
21619
+ var _curry2 =
21107
21620
  /*#__PURE__*/
21108
- __webpack_require__(58791);
21621
+ __webpack_require__(79002);
21109
21622
  /**
21110
- * Returns a singleton array containing the value provided.
21623
+ * Given a constructor and a value, returns a new instance of that constructor
21624
+ * containing the value.
21625
+ *
21626
+ * Dispatches to the `fantasy-land/of` method of the constructor first (if present)
21627
+ * or to the `of` method last (if present). When neither are present, wraps the
21628
+ * value in an array.
21111
21629
  *
21112
21630
  * Note this `of` is different from the ES6 `of`; See
21113
21631
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of
@@ -21116,19 +21634,23 @@ __webpack_require__(58791);
21116
21634
  * @memberOf R
21117
21635
  * @since v0.3.0
21118
21636
  * @category Function
21119
- * @sig a -> [a]
21120
- * @param {*} x any value
21121
- * @return {Array} An array wrapping `x`.
21637
+ * @sig (* -> {*}) -> a -> {a}
21638
+ * @param {Object} Ctor A constructor
21639
+ * @param {*} val any value
21640
+ * @return {*} An instance of the `Ctor` wrapping `val`.
21122
21641
  * @example
21123
21642
  *
21124
- * R.of(null); //=> [null]
21125
- * R.of([42]); //=> [[42]]
21643
+ * R.of(Array, 42); //=> [42]
21644
+ * R.of(Array, [42]); //=> [[42]]
21645
+ * R.of(Maybe, 42); //=> Maybe.Just(42)
21126
21646
  */
21127
21647
 
21128
21648
 
21129
21649
  var of =
21130
21650
  /*#__PURE__*/
21131
- _curry1(_of);
21651
+ _curry2(function of(Ctor, val) {
21652
+ return typeof Ctor['fantasy-land/of'] === 'function' ? Ctor['fantasy-land/of'](val) : typeof Ctor.of === 'function' ? Ctor.of(val) : [val];
21653
+ });
21132
21654
 
21133
21655
  module.exports = of;
21134
21656
 
@@ -21211,7 +21733,7 @@ __webpack_require__(32738);
21211
21733
  * const eqBy = R.on((a, b) => a === b);
21212
21734
  * eqBy(R.prop('a'), {b:0, a:1}, {a:1}) //=> true;
21213
21735
  *
21214
- * const containsInsensitive = R.on(R.contains, R.toLower);
21736
+ * const containsInsensitive = R.on(R.includes, R.toLower);
21215
21737
  * containsInsensitive('o', 'FOO'); //=> true
21216
21738
  * @symb R.on(f, g, a, b) = f(g(a), g(b))
21217
21739
  */
@@ -21545,10 +22067,12 @@ __webpack_require__(79002);
21545
22067
  */
21546
22068
 
21547
22069
 
21548
- module.exports =
22070
+ var partialObject =
21549
22071
  /*#__PURE__*/
21550
22072
  _curry2((f, o) => props => f.call(this, mergeDeepRight(o, props)));
21551
22073
 
22074
+ module.exports = partialObject;
22075
+
21552
22076
  /***/ }),
21553
22077
 
21554
22078
  /***/ 69025:
@@ -21659,7 +22183,8 @@ var paths =
21659
22183
  /*#__PURE__*/
21660
22184
  __webpack_require__(84439);
21661
22185
  /**
21662
- * Retrieve the value at a given path.
22186
+ * Retrieves the value at a given path. The nodes of the path can be arbitrary strings or non-negative integers.
22187
+ * For anything else, the value is unspecified. Integer paths are meant to index arrays, strings are meant for objects.
21663
22188
  *
21664
22189
  * @func
21665
22190
  * @memberOf R
@@ -21667,16 +22192,19 @@ __webpack_require__(84439);
21667
22192
  * @category Object
21668
22193
  * @typedefn Idx = String | Int | Symbol
21669
22194
  * @sig [Idx] -> {a} -> a | Undefined
22195
+ * @sig Idx = String | NonNegativeInt
21670
22196
  * @param {Array} path The path to use.
21671
- * @param {Object} obj The object to retrieve the nested property from.
22197
+ * @param {Object} obj The object or array to retrieve the nested property from.
21672
22198
  * @return {*} The data at `path`.
21673
- * @see R.prop, R.nth
22199
+ * @see R.prop, R.nth, R.assocPath, R.dissocPath
21674
22200
  * @example
21675
22201
  *
21676
22202
  * R.path(['a', 'b'], {a: {b: 2}}); //=> 2
21677
22203
  * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined
21678
22204
  * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1
21679
22205
  * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2
22206
+ * R.path([2], {'2': 2}); //=> 2
22207
+ * R.path([-2], {'-2': 'a'}); //=> undefined
21680
22208
  */
21681
22209
 
21682
22210
 
@@ -21713,26 +22241,27 @@ __webpack_require__(87430);
21713
22241
  * @since v0.7.0
21714
22242
  * @category Relation
21715
22243
  * @typedefn Idx = String | Int | Symbol
21716
- * @sig [Idx] -> a -> {a} -> Boolean
21717
- * @param {Array} path The path of the nested property to use
22244
+ * @sig a -> [Idx] -> {a} -> Boolean
21718
22245
  * @param {*} val The value to compare the nested property with
22246
+ * @param {Array} path The path of the nested property to use
21719
22247
  * @param {Object} obj The object to check the nested property in
21720
22248
  * @return {Boolean} `true` if the value equals the nested object property,
21721
22249
  * `false` otherwise.
22250
+ * @see R.whereEq, R.propEq, R.pathSatisfies, R.equals
21722
22251
  * @example
21723
22252
  *
21724
22253
  * const user1 = { address: { zipCode: 90210 } };
21725
22254
  * const user2 = { address: { zipCode: 55555 } };
21726
22255
  * const user3 = { name: 'Bob' };
21727
22256
  * const users = [ user1, user2, user3 ];
21728
- * const isFamous = R.pathEq(['address', 'zipCode'], 90210);
22257
+ * const isFamous = R.pathEq(90210, ['address', 'zipCode']);
21729
22258
  * R.filter(isFamous, users); //=> [ user1 ]
21730
22259
  */
21731
22260
 
21732
22261
 
21733
22262
  var pathEq =
21734
22263
  /*#__PURE__*/
21735
- _curry3(function pathEq(_path, val, obj) {
22264
+ _curry3(function pathEq(val, _path, obj) {
21736
22265
  return equals(path(_path, obj), val);
21737
22266
  });
21738
22267
 
@@ -22455,18 +22984,20 @@ __webpack_require__(51481);
22455
22984
  /**
22456
22985
  * Returns `true` if the specified object property is equal, in
22457
22986
  * [`R.equals`](#equals) terms, to the given value; `false` otherwise.
22458
- * You can test multiple properties with [`R.whereEq`](#whereEq).
22987
+ * You can test multiple properties with [`R.whereEq`](#whereEq),
22988
+ * and test nested path property with [`R.pathEq`](#pathEq).
22459
22989
  *
22460
22990
  * @func
22461
22991
  * @memberOf R
22462
22992
  * @since v0.1.0
22463
22993
  * @category Relation
22464
- * @sig String -> a -> Object -> Boolean
22465
- * @param {String} name
22466
- * @param {*} val
22467
- * @param {*} obj
22468
- * @return {Boolean}
22469
- * @see R.whereEq, R.propSatisfies, R.equals
22994
+ * @sig a -> String -> Object -> Boolean
22995
+ * @param {*} val The value to compare the property with
22996
+ * @param {String} name the specified object property's key
22997
+ * @param {*} obj The object to check the property in
22998
+ * @return {Boolean} `true` if the value equals the specified object property,
22999
+ * `false` otherwise.
23000
+ * @see R.whereEq, R.pathEq, R.propSatisfies, R.equals
22470
23001
  * @example
22471
23002
  *
22472
23003
  * const abby = {name: 'Abby', age: 7, hair: 'blond'};
@@ -22474,14 +23005,14 @@ __webpack_require__(51481);
22474
23005
  * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};
22475
23006
  * const alois = {name: 'Alois', age: 15, disposition: 'surly'};
22476
23007
  * const kids = [abby, fred, rusty, alois];
22477
- * const hasBrownHair = R.propEq('hair', 'brown');
23008
+ * const hasBrownHair = R.propEq('brown', 'hair');
22478
23009
  * R.filter(hasBrownHair, kids); //=> [fred, rusty]
22479
23010
  */
22480
23011
 
22481
23012
 
22482
23013
  var propEq =
22483
23014
  /*#__PURE__*/
22484
- _curry3(function propEq(name, val, obj) {
23015
+ _curry3(function propEq(val, name, obj) {
22485
23016
  return equals(val, prop(name, obj));
22486
23017
  });
22487
23018
 
@@ -22731,9 +23262,13 @@ var _curry3 =
22731
23262
  /*#__PURE__*/
22732
23263
  __webpack_require__(16370);
22733
23264
 
22734
- var _reduce =
23265
+ var _xReduce =
22735
23266
  /*#__PURE__*/
22736
- __webpack_require__(39488);
23267
+ __webpack_require__(89632);
23268
+
23269
+ var _xwrap =
23270
+ /*#__PURE__*/
23271
+ __webpack_require__(39874);
22737
23272
  /**
22738
23273
  * Returns a single item by iterating through the list, successively calling
22739
23274
  * the iterator function and passing it an accumulator value and the current
@@ -22750,6 +23285,12 @@ __webpack_require__(39488);
22750
23285
  * on this behavior, see:
22751
23286
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description
22752
23287
  *
23288
+ * Be cautious of mutating and returning the accumulator. If you reuse it across
23289
+ * invocations, it will continue to accumulate onto the same value. The general
23290
+ * recommendation is to always return a new value. If you can't do so for
23291
+ * performance reasons, then be sure to reinitialize the accumulator on each
23292
+ * invocation.
23293
+ *
22753
23294
  * Dispatches to the `reduce` method of the third argument, if present. When
22754
23295
  * doing so, it is up to the user to handle the [`R.reduced`](#reduced)
22755
23296
  * shortcuting, as this is not implemented by `reduce`.
@@ -22784,7 +23325,9 @@ __webpack_require__(39488);
22784
23325
 
22785
23326
  var reduce =
22786
23327
  /*#__PURE__*/
22787
- _curry3(_reduce);
23328
+ _curry3(function (xf, acc, list) {
23329
+ return _xReduce(typeof xf === 'function' ? _xwrap(xf) : xf, acc, list);
23330
+ });
22788
23331
 
22789
23332
  module.exports = reduce;
22790
23333
 
@@ -22809,17 +23352,21 @@ var _has =
22809
23352
  /*#__PURE__*/
22810
23353
  __webpack_require__(87684);
22811
23354
 
22812
- var _reduce =
22813
- /*#__PURE__*/
22814
- __webpack_require__(39488);
22815
-
22816
23355
  var _reduced =
22817
23356
  /*#__PURE__*/
22818
23357
  __webpack_require__(22157);
22819
23358
 
23359
+ var _xReduce =
23360
+ /*#__PURE__*/
23361
+ __webpack_require__(89632);
23362
+
22820
23363
  var _xreduceBy =
22821
23364
  /*#__PURE__*/
22822
23365
  __webpack_require__(57744);
23366
+
23367
+ var _xwrap =
23368
+ /*#__PURE__*/
23369
+ __webpack_require__(39874);
22823
23370
  /**
22824
23371
  * Groups the elements of the list according to the result of calling
22825
23372
  * the String-returning function `keyFn` on each element and reduces the elements
@@ -22871,9 +23418,9 @@ var reduceBy =
22871
23418
  _curryN(4, [],
22872
23419
  /*#__PURE__*/
22873
23420
  _dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {
22874
- return _reduce(function (acc, elt) {
23421
+ var xf = _xwrap(function (acc, elt) {
22875
23422
  var key = keyFn(elt);
22876
- var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);
23423
+ var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, false), elt);
22877
23424
 
22878
23425
  if (value && value['@@transducer/reduced']) {
22879
23426
  return _reduced(acc);
@@ -22881,7 +23428,9 @@ _dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list)
22881
23428
 
22882
23429
  acc[key] = value;
22883
23430
  return acc;
22884
- }, {}, list);
23431
+ });
23432
+
23433
+ return _xReduce(xf, {}, list);
22885
23434
  }));
22886
23435
 
22887
23436
  module.exports = reduceBy;
@@ -22911,6 +23460,12 @@ __webpack_require__(16370);
22911
23460
  * on this behavior, see:
22912
23461
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description
22913
23462
  *
23463
+ * Be cautious of mutating and returning the accumulator. If you reuse it across
23464
+ * invocations, it will continue to accumulate onto the same value. The general
23465
+ * recommendation is to always return a new value. If you can't do so for
23466
+ * performance reasons, then be sure to reinitialize the accumulator on each
23467
+ * invocation.
23468
+ *
22914
23469
  * @func
22915
23470
  * @memberOf R
22916
23471
  * @since v0.1.0
@@ -22969,9 +23524,13 @@ var _curryN =
22969
23524
  /*#__PURE__*/
22970
23525
  __webpack_require__(32738);
22971
23526
 
22972
- var _reduce =
23527
+ var _xReduce =
22973
23528
  /*#__PURE__*/
22974
- __webpack_require__(39488);
23529
+ __webpack_require__(89632);
23530
+
23531
+ var _xwrap =
23532
+ /*#__PURE__*/
23533
+ __webpack_require__(39874);
22975
23534
 
22976
23535
  var _reduced =
22977
23536
  /*#__PURE__*/
@@ -23011,9 +23570,11 @@ __webpack_require__(22157);
23011
23570
  var reduceWhile =
23012
23571
  /*#__PURE__*/
23013
23572
  _curryN(4, [], function _reduceWhile(pred, fn, a, list) {
23014
- return _reduce(function (acc, x) {
23573
+ var xf = _xwrap(function (acc, x) {
23015
23574
  return pred(acc, x) ? fn(acc, x) : _reduced(acc);
23016
- }, a, list);
23575
+ });
23576
+
23577
+ return _xReduce(xf, a, list);
23017
23578
  });
23018
23579
 
23019
23580
  module.exports = reduceWhile;
@@ -23300,9 +23861,19 @@ module.exports = reverse;
23300
23861
  var _curry3 =
23301
23862
  /*#__PURE__*/
23302
23863
  __webpack_require__(16370);
23864
+
23865
+ var _dispatchable =
23866
+ /*#__PURE__*/
23867
+ __webpack_require__(34793);
23868
+
23869
+ var _xscan =
23870
+ /*#__PURE__*/
23871
+ __webpack_require__(4465);
23303
23872
  /**
23304
23873
  * Scan is similar to [`reduce`](#reduce), but returns a list of successively
23305
- * reduced values from the left
23874
+ * reduced values from the left.
23875
+ *
23876
+ * Acts as a transducer if a transformer is given in list position.
23306
23877
  *
23307
23878
  * @func
23308
23879
  * @memberOf R
@@ -23325,7 +23896,9 @@ __webpack_require__(16370);
23325
23896
 
23326
23897
  var scan =
23327
23898
  /*#__PURE__*/
23328
- _curry3(function scan(fn, acc, list) {
23899
+ _curry3(
23900
+ /*#__PURE__*/
23901
+ _dispatchable([], _xscan, function scan(fn, acc, list) {
23329
23902
  var idx = 0;
23330
23903
  var len = list.length;
23331
23904
  var result = [acc];
@@ -23337,7 +23910,7 @@ _curry3(function scan(fn, acc, list) {
23337
23910
  }
23338
23911
 
23339
23912
  return result;
23340
- });
23913
+ }));
23341
23914
 
23342
23915
  module.exports = scan;
23343
23916
 
@@ -23365,19 +23938,25 @@ __webpack_require__(80409);
23365
23938
  var reduceRight =
23366
23939
  /*#__PURE__*/
23367
23940
  __webpack_require__(47981);
23941
+
23942
+ var identity =
23943
+ /*#__PURE__*/
23944
+ __webpack_require__(50339);
23368
23945
  /**
23369
23946
  * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)
23370
23947
  * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an
23371
23948
  * Applicative of Traversable.
23372
23949
  *
23373
- * Dispatches to the `sequence` method of the second argument, if present.
23950
+ * Dispatches to the `"fantasy-land/traverse"` or the `traverse` method of the second argument, if present.
23374
23951
  *
23375
23952
  * @func
23376
23953
  * @memberOf R
23377
23954
  * @since v0.19.0
23378
23955
  * @category List
23956
+ * @sig fantasy-land/of :: TypeRep f => f ~> a -> f a
23957
+ * @sig (Applicative f, Traversable t) => TypeRep f -> t (f a) -> f (t a)
23379
23958
  * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)
23380
- * @param {Function} of
23959
+ * @param {Object|Function} TypeRepresentative with an `of` or `fantasy-land/of` method
23381
23960
  * @param {*} traversable
23382
23961
  * @return {*}
23383
23962
  * @see R.traverse
@@ -23386,15 +23965,19 @@ __webpack_require__(47981);
23386
23965
  * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])
23387
23966
  * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()
23388
23967
  *
23389
- * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]
23390
- * R.sequence(R.of, Nothing()); //=> [Nothing()]
23968
+ * R.sequence(R.of(Array), Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]
23969
+ * R.sequence(R.of(Array), Nothing()); //=> [Nothing()]
23391
23970
  */
23392
23971
 
23393
23972
 
23394
23973
  var sequence =
23395
23974
  /*#__PURE__*/
23396
- _curry2(function sequence(of, traversable) {
23397
- return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) {
23975
+ _curry2(function sequence(F, traversable) {
23976
+ var of = typeof F['fantasy-land/of'] === 'function' ? F['fantasy-land/of'] : typeof F.of === 'function' ? F.of : F;
23977
+ var TypeRep = {
23978
+ 'fantasy-land/of': of
23979
+ };
23980
+ return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](TypeRep, identity) : typeof traversable.traverse === 'function' ? traversable.traverse(TypeRep, identity) : reduceRight(function (x, acc) {
23398
23981
  return ap(map(prepend, x), acc);
23399
23982
  }, of([]), traversable);
23400
23983
  });
@@ -23999,6 +24582,104 @@ module.exports = sum;
23999
24582
 
24000
24583
  /***/ }),
24001
24584
 
24585
+ /***/ 59776:
24586
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
24587
+
24588
+ var _curry3 =
24589
+ /*#__PURE__*/
24590
+ __webpack_require__(16370);
24591
+
24592
+ var _isArray =
24593
+ /*#__PURE__*/
24594
+ __webpack_require__(20219);
24595
+
24596
+ var _isString =
24597
+ /*#__PURE__*/
24598
+ __webpack_require__(20190);
24599
+
24600
+ var clone =
24601
+ /*#__PURE__*/
24602
+ __webpack_require__(91549);
24603
+
24604
+ var swapObject = function (indexA, indexB, o) {
24605
+ var copy = clone(o);
24606
+ var properties = Object.getOwnPropertyNames(copy);
24607
+
24608
+ if (properties.includes(indexA) && properties.includes(indexB)) {
24609
+ var tmp = copy[indexA];
24610
+ copy[indexA] = copy[indexB];
24611
+ copy[indexB] = tmp;
24612
+ }
24613
+
24614
+ return copy;
24615
+ };
24616
+
24617
+ var swapList = function (indexA, indexB, list) {
24618
+ var length = list.length;
24619
+ var result = list.slice();
24620
+ var positiveIndexA = indexA < 0 ? length + indexA : indexA;
24621
+ var positiveIndexB = indexB < 0 ? length + indexB : indexB;
24622
+ var positiveMin = Math.min(positiveIndexA, positiveIndexB);
24623
+ var positiveMax = Math.max(positiveIndexA, positiveIndexB);
24624
+
24625
+ if (positiveIndexA < 0 || positiveIndexA > length) {
24626
+ return result;
24627
+ }
24628
+
24629
+ if (positiveIndexB < 0 || positiveIndexB > length) {
24630
+ return result;
24631
+ }
24632
+
24633
+ if (positiveIndexA === positiveIndexB) {
24634
+ return result;
24635
+ }
24636
+
24637
+ result = [].concat(result.slice(0, positiveMin)).concat(result[positiveMax]).concat(result.slice(positiveMin + 1, positiveMax)).concat(result[positiveMin]).concat(result.slice(positiveMax + 1, length));
24638
+ return result;
24639
+ };
24640
+
24641
+ var swapString = function (indexA, indexB, s) {
24642
+ var result = swapList(indexA, indexB, s);
24643
+ return _isArray(result) ? result.join('') : result;
24644
+ };
24645
+ /**
24646
+ * Swap an item, at index `indexA` with another item, at index `indexB`, in an object or a list of elements.
24647
+ * A new result will be created containing the new elements order.
24648
+ *
24649
+ * @func
24650
+ * @memberOf R
24651
+ * @since v0.29.0
24652
+ * @category List
24653
+ * @sig Number -> Number -> [a] -> [a]
24654
+ * @param {Number|string|Object} indexA The first index
24655
+ * @param {Number|string|Object} indexB The second index
24656
+ * @param {Array|Object} o Either the object or list which will serve to realise the swap
24657
+ * @return {Array|Object} The new object or list reordered
24658
+ * @example
24659
+ *
24660
+ * R.swap(0, 2, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['c', 'b', 'a', 'd', 'e', 'f']
24661
+ * R.swap(-1, 0, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['f', 'b', 'c', 'd', 'e', 'a'] list rotation
24662
+ * R.swap('a', 'b', {a: 1, b: 2}); //=> {a: 2, b: 2}
24663
+ * R.swap(0, 2, 'foo'); //=> 'oof'
24664
+ */
24665
+
24666
+
24667
+ var swap =
24668
+ /*#__PURE__*/
24669
+ _curry3(function (indexA, indexB, o) {
24670
+ if (_isArray(o)) {
24671
+ return swapList(indexA, indexB, o);
24672
+ } else if (_isString(o)) {
24673
+ return swapString(indexA, indexB, o);
24674
+ } else {
24675
+ return swapObject(indexA, indexB, o);
24676
+ }
24677
+ });
24678
+
24679
+ module.exports = swap;
24680
+
24681
+ /***/ }),
24682
+
24002
24683
  /***/ 16722:
24003
24684
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
24004
24685
 
@@ -24418,7 +25099,7 @@ __webpack_require__(59524);
24418
25099
  * const sayX = x => console.log('x is ' + x);
24419
25100
  * R.tap(sayX, 100); //=> 100
24420
25101
  * // logs 'x is 100'
24421
- * @symb R.tap(f, a) = a
25102
+ * @symb R.tap(f, a) = (f(a), a)
24422
25103
  */
24423
25104
 
24424
25105
 
@@ -24573,10 +25254,10 @@ _curry2(function times(fn, n) {
24573
25254
  throw new RangeError('n must be a non-negative number');
24574
25255
  }
24575
25256
 
24576
- list = new Array(len);
25257
+ list = [];
24577
25258
 
24578
25259
  while (idx < len) {
24579
- list[idx] = fn(idx);
25260
+ list.push(fn(idx));
24580
25261
  idx += 1;
24581
25262
  }
24582
25263
 
@@ -24801,9 +25482,9 @@ module.exports = toUpper;
24801
25482
  /***/ 63158:
24802
25483
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
24803
25484
 
24804
- var _reduce =
25485
+ var _xReduce =
24805
25486
  /*#__PURE__*/
24806
- __webpack_require__(39488);
25487
+ __webpack_require__(89632);
24807
25488
 
24808
25489
  var _xwrap =
24809
25490
  /*#__PURE__*/
@@ -24864,7 +25545,7 @@ __webpack_require__(2220);
24864
25545
  var transduce =
24865
25546
  /*#__PURE__*/
24866
25547
  curryN(4, function transduce(xf, fn, acc, list) {
24867
- return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);
25548
+ return _xReduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);
24868
25549
  });
24869
25550
  module.exports = transduce;
24870
25551
 
@@ -24957,8 +25638,10 @@ __webpack_require__(233);
24957
25638
  * @memberOf R
24958
25639
  * @since v0.19.0
24959
25640
  * @category List
24960
- * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)
24961
- * @param {Function} of
25641
+ * @sig fantasy-land/of :: TypeRep f => f ~> a -> f a
25642
+ * @sig (Applicative f, Traversable t) => TypeRep f -> (a -> f b) -> t a -> f (t b)
25643
+ * @sig (Applicative f, Traversable t) => (b -> f b) -> (a -> f b) -> t a -> f (t b)
25644
+ * @param {Object|Function} TypeRepresentative with an `of` or `fantasy-land/of` method
24962
25645
  * @param {Function} f
24963
25646
  * @param {*} traversable
24964
25647
  * @return {*}
@@ -24970,13 +25653,22 @@ __webpack_require__(233);
24970
25653
  *
24971
25654
  * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2])
24972
25655
  * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing
25656
+ *
25657
+ * // Using a Type Representative
25658
+ * R.traverse(Maybe, safeDiv(10), Right(4)); //=> Just(Right(2.5))
25659
+ * R.traverse(Maybe, safeDiv(10), Right(0)); //=> Nothing
25660
+ * R.traverse(Maybe, safeDiv(10), Left("X")); //=> Just(Left("X"))
24973
25661
  */
24974
25662
 
24975
25663
 
24976
25664
  var traverse =
24977
25665
  /*#__PURE__*/
24978
- _curry3(function traverse(of, f, traversable) {
24979
- return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : typeof traversable.traverse === 'function' ? traversable.traverse(f, of) : sequence(of, map(f, traversable));
25666
+ _curry3(function traverse(F, f, traversable) {
25667
+ var of = typeof F['fantasy-land/of'] === 'function' ? F['fantasy-land/of'] : typeof F.of === 'function' ? F.of : F;
25668
+ var TypeRep = {
25669
+ 'fantasy-land/of': of
25670
+ };
25671
+ return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](TypeRep, f) : typeof traversable.traverse === 'function' ? traversable.traverse(TypeRep, f) : sequence(TypeRep, map(f, traversable));
24980
25672
  });
24981
25673
 
24982
25674
  module.exports = traverse;
@@ -25100,7 +25792,7 @@ __webpack_require__(76224);
25100
25792
  * @memberOf R
25101
25793
  * @since v0.8.0
25102
25794
  * @category Type
25103
- * @sig (* -> {*}) -> String
25795
+ * @sig * -> String
25104
25796
  * @param {*} val The value to test
25105
25797
  * @return {String}
25106
25798
  * @example
@@ -26272,17 +26964,13 @@ module.exports = whereEq;
26272
26964
  /***/ 76290:
26273
26965
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
26274
26966
 
26275
- var _includes =
26276
- /*#__PURE__*/
26277
- __webpack_require__(87243);
26278
-
26279
26967
  var _curry2 =
26280
26968
  /*#__PURE__*/
26281
26969
  __webpack_require__(79002);
26282
26970
 
26283
- var flip =
26971
+ var _Set =
26284
26972
  /*#__PURE__*/
26285
- __webpack_require__(9134);
26973
+ __webpack_require__(8876);
26286
26974
 
26287
26975
  var reject =
26288
26976
  /*#__PURE__*/
@@ -26310,8 +26998,14 @@ __webpack_require__(63266);
26310
26998
 
26311
26999
  var without =
26312
27000
  /*#__PURE__*/
26313
- _curry2(function (xs, list) {
26314
- return reject(flip(_includes)(xs), list);
27001
+ _curry2(function without(xs, list) {
27002
+ var toRemove = new _Set();
27003
+
27004
+ for (var i = 0; i < xs.length; i += 1) {
27005
+ toRemove.add(xs[i]);
27006
+ }
27007
+
27008
+ return reject(toRemove.has.bind(toRemove), list);
26315
27009
  });
26316
27010
 
26317
27011
  module.exports = without;
@@ -26588,8 +27282,8 @@ var exports = __webpack_exports__;
26588
27282
 
26589
27283
  exports.__esModule = true;
26590
27284
  exports.isNotRegExp = exports.isNotPrimitive = exports.isNotPlainObject = exports.isNotPlainObj = exports.isNotPair = exports.isNotObjectLike = exports.isNotObject = exports.isNotObjLike = exports.isNotObj = exports.isNotNumber = exports.isNotNull = exports.isNotNilOrEmpty = exports.isNotNil = exports.isNotNaN = exports.isNotMap = exports.isNotInteger = exports.isNotGeneratorFunction = exports.isNotFunction = exports.isNotFloat = exports.isNotFinite = exports.isNotEmpty = exports.isNotDate = exports.isNotBoolean = exports.isNotAsyncFunction = exports.isNotArrayLike = exports.isNotArray = exports.isNonPositive = exports.isNonNegative = exports.isNonEmptyString = exports.isNonEmptyArray = exports.isNilOrEmpty = exports.isNegativeZero = exports.isNegative = exports.isNaturalNumber = exports.isNaN = exports.isMap = exports.isIterable = exports.isInvalidDate = exports.isInteger32 = exports.isInteger = exports.isInt32 = exports.isIndexed = exports.isGeneratorFunction = exports.isFunction = exports.isFloat = exports.isFinite = exports.isFalsy = exports.isFalse = exports.isEven = exports.isError = exports.isEmptyString = exports.isEmptyArray = exports.isDate = exports.isBoolean = exports.isBlank = exports.isBigInt = exports.isAsyncFunction = exports.isArrayLike = exports.isArray = exports.invokeArgs = exports.invoke = exports.included = exports.inRange = exports.fnull = exports.floor = exports.flattenProp = exports.flattenPath = exports.flattenDepth = exports.firstP = exports.findOr = exports.filterIndexed = exports.escapeRegExp = exports.ensureArray = exports.dropArgs = exports.divideNum = exports.dispatch = exports.delayP = exports.defaultWhen = exports.curryRightN = exports.curryRight = exports.copyKeys = exports.concatRight = exports.concatAll = exports.compact = exports.ceil = exports.catchP = exports.cata = exports.async = exports.argsPass = exports.appendFlipped = exports.anyP = exports.allUnique = exports.allSettledP = exports.allP = exports.allIdenticalTo = exports.allIdentical = exports.allEqualTo = exports.allEqual = exports.Y = exports.Identity = void 0;
26591
- exports.sortByProps = exports.sortByProp = exports.sortByPaths = exports.sliceTo = exports.sliceFrom = exports.skipTake = exports.sign = exports.sequencing = exports.seq = exports.round = exports.resolveP = exports.replaceAll = exports.repeatStr = exports.renameKeysWith = exports.renameKeys = exports.renameKeyWith = exports.rejectP = exports.reduceRightP = exports.reduceP = exports.reduceIndexed = exports.rangeStep = exports.propNotEq = exports.pickIndexes = exports.paths = exports.pathOrLazy = exports.pathNotEq = exports.padStart = exports.padEnd = exports.padCharsStart = exports.padCharsEnd = exports.overlaps = exports.omitIndexes = exports.omitBy = exports.notEqual = exports.notBoth = exports.notAllUnique = exports.notAllPass = exports.nor = exports.noop = exports.nonePass = exports.noneP = exports.neither = exports.nand = exports.move = exports.mergeProps = exports.mergeProp = exports.mergePaths = exports.mergePath = exports.mapIndexed = exports.list = exports.liftFN = exports.liftF = exports.lensTraverse = exports.lensSatisfies = exports.lensNotSatisfy = exports.lensNotEq = exports.lensIso = exports.lensEq = exports.lengthNotEq = exports.lengthLte = exports.lengthLt = exports.lengthGte = exports.lengthGt = exports.lengthEq = exports.lastP = exports.isValidNumber = exports.isValidDate = exports.isUndefined = exports.isUinteger32 = exports.isUint32 = exports.isTruthy = exports.isTrue = exports.isThenable = exports.isSymbol = exports.isString = exports.isSparseArray = exports.isSet = exports.isSentinelValue = exports.isSafeInteger = exports.isRegExp = exports.isPrototypeOf = exports.isPromise = exports.isPrimitive = exports.isPositiveZero = exports.isPositive = exports.isPlainObject = exports.isPlainObj = exports.isPair = exports.isOdd = exports.isObjectLike = exports.isObject = exports.isObjLike = exports.isObj = exports.isNumber = exports.isNull = exports.isNotValidNumber = exports.isNotValidDate = exports.isNotUndefined = exports.isNotString = exports.isNotSet = void 0;
26592
- exports.zipObjWith = exports.weaveLazy = exports.weave = exports.viewOr = exports.unzipObjWith = exports.trunc = exports.trimStart = exports.trimRight = exports.trimLeft = exports.trimEnd = exports.trimCharsStart = exports.trimCharsEnd = exports.toUinteger32 = exports.toUint32 = exports.toNumber = exports.toInteger32 = exports.toInt32 = exports.toArray = exports.thenCatchP = exports.subtractNum = exports.stubUndefined = exports.stubString = exports.stubObject = exports.stubObj = exports.stubNull = exports.stubArray = exports.spreadProp = exports.spreadPath = void 0;
27285
+ exports.sortByProp = exports.sortByPaths = exports.sliceTo = exports.sliceFrom = exports.skipTake = exports.sign = exports.sequencing = exports.seq = exports.round = exports.resolveP = exports.replaceAll = exports.repeatStr = exports.renameKeysWith = exports.renameKeys = exports.renameKeyWith = exports.renameKey = exports.rejectP = exports.reduceRightP = exports.reduceP = exports.reduceIndexed = exports.rangeStep = exports.propNotEq = exports.pickIndexes = exports.paths = exports.pathOrLazy = exports.pathNotEq = exports.padStart = exports.padEnd = exports.padCharsStart = exports.padCharsEnd = exports.overlaps = exports.omitIndexes = exports.omitBy = exports.notEqual = exports.notBoth = exports.notAllUnique = exports.notAllPass = exports.nor = exports.noop = exports.nonePass = exports.noneP = exports.neither = exports.nand = exports.move = exports.mergeProps = exports.mergeProp = exports.mergePaths = exports.mergePath = exports.mapIndexed = exports.list = exports.liftFN = exports.liftF = exports.lensTraverse = exports.lensSatisfies = exports.lensNotSatisfy = exports.lensNotEq = exports.lensIso = exports.lensEq = exports.lengthNotEq = exports.lengthLte = exports.lengthLt = exports.lengthGte = exports.lengthGt = exports.lengthEq = exports.lastP = exports.isValidNumber = exports.isValidDate = exports.isUndefined = exports.isUinteger32 = exports.isUint32 = exports.isTruthy = exports.isTrue = exports.isThenable = exports.isSymbol = exports.isString = exports.isSparseArray = exports.isSet = exports.isSentinelValue = exports.isSafeInteger = exports.isRegExp = exports.isPrototypeOf = exports.isPromise = exports.isPrimitive = exports.isPositiveZero = exports.isPositive = exports.isPlainObject = exports.isPlainObj = exports.isPair = exports.isOdd = exports.isObjectLike = exports.isObject = exports.isObjLike = exports.isObj = exports.isNumber = exports.isNull = exports.isNotValidNumber = exports.isNotValidDate = exports.isNotUndefined = exports.isNotString = exports.isNotSet = void 0;
27286
+ exports.zipObjWith = exports.weaveLazy = exports.weave = exports.viewOr = exports.unzipObjWith = exports.trunc = exports.trimStart = exports.trimRight = exports.trimLeft = exports.trimEnd = exports.trimCharsStart = exports.trimCharsEnd = exports.toUinteger32 = exports.toUint32 = exports.toNumber = exports.toInteger32 = exports.toInt32 = exports.toArray = exports.thenCatchP = exports.subtractNum = exports.stubUndefined = exports.stubString = exports.stubObject = exports.stubObj = exports.stubNull = exports.stubArray = exports.spreadProp = exports.spreadPath = exports.sortByProps = void 0;
26593
27287
  var _isNotUndefined = _interopRequireDefault(__webpack_require__(50384));
26594
27288
  exports.isNotUndefined = _isNotUndefined["default"];
26595
27289
  var _isUndefined = _interopRequireDefault(__webpack_require__(47078));
@@ -26906,6 +27600,8 @@ var _invokeArgs = _interopRequireDefault(__webpack_require__(61583));
26906
27600
  exports.invokeArgs = _invokeArgs["default"];
26907
27601
  var _paths = _interopRequireDefault(__webpack_require__(42852));
26908
27602
  exports.paths = _paths["default"];
27603
+ var _renameKey = _interopRequireDefault(__webpack_require__(87706));
27604
+ exports.renameKey = _renameKey["default"];
26909
27605
  var _renameKeys = _interopRequireDefault(__webpack_require__(46351));
26910
27606
  exports.renameKeys = _renameKeys["default"];
26911
27607
  var _renameKeysWith = _interopRequireDefault(__webpack_require__(21463));