ramda-adjunct 3.4.0 → 4.0.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 (69) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/dist/RA.node.js +77 -39
  4. package/dist/RA.node.min.js +1 -1
  5. package/dist/RA.web.js +77 -39
  6. package/dist/RA.web.min.js +1 -1
  7. package/dist/RA.web.standalone.js +1178 -531
  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/internal/ponyfills/Array.from.js +1 -1
  15. package/es/internal/ponyfills/Promise.allSettled.js +1 -1
  16. package/es/internal/ponyfills/Promise.any.js +1 -1
  17. package/es/isFalse.js +2 -2
  18. package/es/isNegativeZero.js +2 -2
  19. package/es/isPositiveZero.js +2 -2
  20. package/es/isTrue.js +2 -2
  21. package/es/lastP.js +1 -1
  22. package/es/lensTraverse.js +12 -3
  23. package/es/mergeProp.js +1 -1
  24. package/es/pathNotEq.js +4 -4
  25. package/es/propNotEq.js +3 -3
  26. package/es/reduceP.js +2 -2
  27. package/es/reduceRightP.js +2 -2
  28. package/es/sortByProps.js +1 -1
  29. package/es/spreadProp.js +1 -1
  30. package/lib/allEqual.js +0 -1
  31. package/lib/concatAll.js +2 -1
  32. package/lib/dispatch.js +36 -1
  33. package/lib/ensureArray.js +1 -1
  34. package/lib/flattenDepth.js +1 -1
  35. package/lib/flattenProp.js +1 -1
  36. package/lib/internal/ponyfills/Array.from.js +1 -1
  37. package/lib/internal/ponyfills/Promise.allSettled.js +1 -1
  38. package/lib/internal/ponyfills/Promise.any.js +1 -1
  39. package/lib/isFalse.js +1 -1
  40. package/lib/isNegativeZero.js +1 -1
  41. package/lib/isPositiveZero.js +1 -1
  42. package/lib/isSentinelValue.js +1 -2
  43. package/lib/isTrue.js +1 -1
  44. package/lib/lastP.js +1 -1
  45. package/lib/lensTraverse.js +11 -3
  46. package/lib/mergeProp.js +1 -1
  47. package/lib/pathNotEq.js +4 -4
  48. package/lib/propNotEq.js +3 -3
  49. package/lib/reduceP.js +2 -2
  50. package/lib/reduceRightP.js +2 -2
  51. package/lib/seq.js +0 -1
  52. package/lib/sortByProps.js +1 -1
  53. package/lib/spreadProp.js +1 -1
  54. package/lib/toInteger32.js +1 -2
  55. package/lib/toUinteger32.js +1 -3
  56. package/package.json +33 -33
  57. package/src/concatAll.js +2 -1
  58. package/src/ensureArray.js +1 -1
  59. package/src/flattenProp.js +1 -1
  60. package/src/isFalse.js +2 -2
  61. package/src/isNegativeZero.js +2 -2
  62. package/src/isPositiveZero.js +2 -2
  63. package/src/isTrue.js +2 -2
  64. package/src/lensTraverse.js +18 -6
  65. package/src/mergeProp.js +1 -1
  66. package/src/pathNotEq.js +4 -4
  67. package/src/propNotEq.js +3 -3
  68. package/src/spreadProp.js +1 -1
  69. package/tmp-test-bundle.js.LICENSE.txt +618 -0
@@ -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 = R.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']);
@@ -8479,7 +8521,6 @@ var _ramda = __webpack_require__(36);
8479
8521
  * )('test'); //=> 'PREFIX TEST'
8480
8522
  */
8481
8523
  /* eslint-enable max-len */
8482
-
8483
8524
  var seq = (0, _ramda.curry)(function (fns, x) {
8484
8525
  return (0, _ramda.tap)(function (tx) {
8485
8526
  return (0, _ramda.map)(function (fn) {
@@ -8764,7 +8805,7 @@ var _ramda = __webpack_require__(36);
8764
8805
  function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
8765
8806
  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
8807
  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; }
8808
+ 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
8809
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8769
8810
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8770
8811
  /**
@@ -8873,7 +8914,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
8873
8914
  * RA.spreadProp('b', { a: 1, b: { c: 3, d: 4 } }); // => { a: 1, c: 3, d: 4 };
8874
8915
  */
8875
8916
  var spreadProp = (0, _ramda.curry)(function (prop, obj) {
8876
- return (0, _spreadPath["default"])((0, _ramda.of)(prop), obj);
8917
+ return (0, _spreadPath["default"])((0, _ramda.of)(Array, prop), obj);
8877
8918
  });
8878
8919
  var _default = spreadProp;
8879
8920
  exports["default"] = _default;
@@ -9165,8 +9206,7 @@ var _ramda = __webpack_require__(36);
9165
9206
  *
9166
9207
  * RA.toInteger32(2 ** 35); // => 0
9167
9208
  * RA.toInteger32(2 ** 30); // => 1073741824
9168
- */
9169
- // eslint-disable-next-line no-bitwise
9209
+ */ // eslint-disable-next-line no-bitwise
9170
9210
  var toInteger32 = (0, _ramda.curryN)(1, function (val) {
9171
9211
  return val >> 0;
9172
9212
  });
@@ -9236,9 +9276,7 @@ var _ramda = __webpack_require__(36);
9236
9276
  * RA.toInteger32(2 ** 35); // => 0
9237
9277
  * RA.toInteger32(2 ** 31); // => 2147483648
9238
9278
  * RA.toInteger32(2 ** 30); // => 1073741824
9239
- */
9240
-
9241
- // eslint-disable-next-line no-bitwise
9279
+ */ // eslint-disable-next-line no-bitwise
9242
9280
  var toUinteger32 = (0, _ramda.curryN)(1, function (val) {
9243
9281
  return val >>> 0;
9244
9282
  });
@@ -9832,6 +9870,67 @@ module.exports = addIndex;
9832
9870
 
9833
9871
  /***/ }),
9834
9872
 
9873
+ /***/ 16160:
9874
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9875
+
9876
+ var _concat =
9877
+ /*#__PURE__*/
9878
+ __webpack_require__(14011);
9879
+
9880
+ var _curry1 =
9881
+ /*#__PURE__*/
9882
+ __webpack_require__(76224);
9883
+
9884
+ var curryN =
9885
+ /*#__PURE__*/
9886
+ __webpack_require__(2220);
9887
+ /**
9888
+ * As with `addIndex`, `addIndexRight` creates a new list iteration function
9889
+ * from an existing one by adding two new parameters to its callback function:
9890
+ * the current index, and the entire list.
9891
+ *
9892
+ * Unlike `addIndex`, `addIndexRight` iterates from the right to the left.
9893
+ *
9894
+ * @func
9895
+ * @memberOf R
9896
+ * @since v0.29.0
9897
+ * @category Function
9898
+ * @category List
9899
+ * @sig ((a ... -> b) ... -> [a] -> *) -> (a ..., Int, [a] -> b) ... -> [a] -> *)
9900
+ * @param {Function} fn A list iteration function that does not pass index or list to its callback
9901
+ * @return {Function} An altered list iteration function that passes (item, index, list) to its callback
9902
+ * @example
9903
+ *
9904
+ * const revmap = (fn, ary) => R.map(fn, R.reverse(ary));
9905
+ * const revmapIndexed = R.addIndexRight(revmap);
9906
+ * revmapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);
9907
+ * //=> [ '5-r', '4-a', '3-b', '2-o', '1-o', '0-f' ]
9908
+ */
9909
+
9910
+
9911
+ var addIndexRight =
9912
+ /*#__PURE__*/
9913
+ _curry1(function addIndex(fn) {
9914
+ return curryN(fn.length, function () {
9915
+ var origFn = arguments[0];
9916
+ var list = arguments[arguments.length - 1];
9917
+ var idx = list.length - 1;
9918
+ var args = Array.prototype.slice.call(arguments, 0);
9919
+
9920
+ args[0] = function () {
9921
+ var result = origFn.apply(this, _concat(arguments, [idx, list]));
9922
+ idx -= 1;
9923
+ return result;
9924
+ };
9925
+
9926
+ return fn.apply(this, args);
9927
+ });
9928
+ });
9929
+
9930
+ module.exports = addIndexRight;
9931
+
9932
+ /***/ }),
9933
+
9835
9934
  /***/ 82515:
9836
9935
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9837
9936
 
@@ -9989,7 +10088,7 @@ __webpack_require__(20793);
9989
10088
  * @sig [(*... -> Boolean)] -> (*... -> Boolean)
9990
10089
  * @param {Array} predicates An array of predicates to check
9991
10090
  * @return {Function} The combined predicate
9992
- * @see R.anyPass
10091
+ * @see R.anyPass, R.both
9993
10092
  * @example
9994
10093
  *
9995
10094
  * const isQueen = R.propEq('rank', 'Q');
@@ -10255,7 +10354,7 @@ __webpack_require__(20793);
10255
10354
  * @sig [(*... -> Boolean)] -> (*... -> Boolean)
10256
10355
  * @param {Array} predicates An array of predicates to check
10257
10356
  * @return {Function} The combined predicate
10258
- * @see R.allPass
10357
+ * @see R.allPass, R.either
10259
10358
  * @example
10260
10359
  *
10261
10360
  * const isClub = R.propEq('suit', '♣');
@@ -10312,7 +10411,7 @@ __webpack_require__(61894);
10312
10411
  /**
10313
10412
  * ap applies a list of functions to a list of values.
10314
10413
  *
10315
- * Dispatches to the `ap` method of the second argument, if present. Also
10414
+ * Dispatches to the `ap` method of the first argument, if present. Also
10316
10415
  * treats curried functions as applicatives.
10317
10416
  *
10318
10417
  * @func
@@ -10757,7 +10856,7 @@ _curry3(function assocPath(path, val, obj) {
10757
10856
  var idx = path[0];
10758
10857
 
10759
10858
  if (path.length > 1) {
10760
- var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};
10859
+ var nextObj = !isNil(obj) && _has(idx, obj) && typeof obj[idx] === 'object' ? obj[idx] : _isInteger(path[1]) ? [] : {};
10761
10860
  val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);
10762
10861
  }
10763
10862
 
@@ -10901,7 +11000,7 @@ __webpack_require__(4041);
10901
11000
  * @param {Function} f A predicate
10902
11001
  * @param {Function} g Another predicate
10903
11002
  * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.
10904
- * @see R.either, R.and
11003
+ * @see R.either, R.allPass, R.and
10905
11004
  * @example
10906
11005
  *
10907
11006
  * const gt10 = R.gt(R.__, 10)
@@ -11134,7 +11233,7 @@ __webpack_require__(76224);
11134
11233
  var clone =
11135
11234
  /*#__PURE__*/
11136
11235
  _curry1(function clone(value) {
11137
- return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);
11236
+ return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, true);
11138
11237
  });
11139
11238
 
11140
11239
  module.exports = clone;
@@ -11360,7 +11459,7 @@ var reverse =
11360
11459
  __webpack_require__(65814);
11361
11460
  /**
11362
11461
  * Performs right-to-left function composition using transforming function. The last function may have
11363
- * any arity; the remaining functions must be unary.
11462
+ * any arity; the remaining functions must be unary. Unlike `compose`, functions are passed in an array.
11364
11463
  *
11365
11464
  * **Note:** The result of composeWith is not automatically curried. Transforming function is not used
11366
11465
  * on the last argument.
@@ -11678,7 +11777,7 @@ _curry2(function constructN(n, Fn) {
11678
11777
  }
11679
11778
 
11680
11779
  return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11681
- switch (arguments.length) {
11780
+ switch (n) {
11682
11781
  case 1:
11683
11782
  return new Fn($0);
11684
11783
 
@@ -11903,6 +12002,25 @@ __webpack_require__(2220);
11903
12002
  * - `g(_, 2)(1, 3)`
11904
12003
  * - `g(_, 2)(_, 3)(1)`
11905
12004
  *
12005
+ * 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)
12006
+ * and therefore `curry` won't work well with those:
12007
+ *
12008
+ * ```
12009
+ * const h = R.curry((a, b, c = 2) => a + b + c);
12010
+ *
12011
+ * h(40);
12012
+ * //=> function (waits for `b`)
12013
+ *
12014
+ * h(39)(1);
12015
+ * //=> 42
12016
+ *
12017
+ * h(1)(2, 3);
12018
+ * //=> 6
12019
+ *
12020
+ * h(1)(2)(7);
12021
+ * //=> Error! (`3` is not a function!)
12022
+ * ```
12023
+ *
11906
12024
  * @func
11907
12025
  * @memberOf R
11908
12026
  * @since v0.1.0
@@ -12215,6 +12333,9 @@ __webpack_require__(16370);
12215
12333
  * const l1 = [{a: 1}, {a: 2}, {a: 3}];
12216
12334
  * const l2 = [{a: 3}, {a: 4}];
12217
12335
  * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]
12336
+ *
12337
+ * R.differenceWith(R.equals, [1, 2, 3, 3, 3], []); //=> [1, 2, 3]
12338
+ * R.differenceWith(R.equals, [1, 2, 3, 3, 3], [1]); //=> [2, 3]
12218
12339
  */
12219
12340
 
12220
12341
 
@@ -12629,9 +12750,9 @@ var dropRepeats =
12629
12750
  /*#__PURE__*/
12630
12751
  _curry1(
12631
12752
  /*#__PURE__*/
12632
- _dispatchable([],
12633
- /*#__PURE__*/
12634
- _xdropRepeatsWith(equals),
12753
+ _dispatchable([], function () {
12754
+ return _xdropRepeatsWith(equals);
12755
+ },
12635
12756
  /*#__PURE__*/
12636
12757
  dropRepeatsWith(equals)));
12637
12758
 
@@ -12639,6 +12760,62 @@ module.exports = dropRepeats;
12639
12760
 
12640
12761
  /***/ }),
12641
12762
 
12763
+ /***/ 91591:
12764
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12765
+
12766
+ var _curry2 =
12767
+ /*#__PURE__*/
12768
+ __webpack_require__(79002);
12769
+
12770
+ var _dispatchable =
12771
+ /*#__PURE__*/
12772
+ __webpack_require__(34793);
12773
+
12774
+ var _xdropRepeatsWith =
12775
+ /*#__PURE__*/
12776
+ __webpack_require__(6234);
12777
+
12778
+ var dropRepeatsWith =
12779
+ /*#__PURE__*/
12780
+ __webpack_require__(43432);
12781
+
12782
+ var eqBy =
12783
+ /*#__PURE__*/
12784
+ __webpack_require__(24486);
12785
+ /**
12786
+ * Returns a new list without any consecutively repeating elements,
12787
+ * based upon the value returned by applying the supplied function to
12788
+ * each list element. [`R.equals`](#equals) is used to determine equality.
12789
+ *
12790
+ * Acts as a transducer if a transformer is given in list position.
12791
+ *
12792
+ * @func
12793
+ * @memberOf R
12794
+ * @since v0.29.0
12795
+ * @category List
12796
+ * @sig (a -> b) -> [a] -> [a]
12797
+ * @param {Function} fn A function used to produce a value to use during comparisons.
12798
+ * @param {Array} list The array to consider.
12799
+ * @return {Array} `list` without repeating elements.
12800
+ * @see R.transduce
12801
+ * @example
12802
+ *
12803
+ * R.dropRepeatsBy(Math.abs, [1, -1, -1, 2, 3, -4, 4, 2, 2]); //=> [1, 2, 3, -4, 2]
12804
+ */
12805
+
12806
+
12807
+ var dropRepeatsBy =
12808
+ /*#__PURE__*/
12809
+ _curry2(function (fn, list) {
12810
+ return _dispatchable([], function () {
12811
+ return _xdropRepeatsWith(eqBy(fn));
12812
+ }, dropRepeatsWith(eqBy(fn)))(list);
12813
+ });
12814
+
12815
+ module.exports = dropRepeatsBy;
12816
+
12817
+ /***/ }),
12818
+
12642
12819
  /***/ 43432:
12643
12820
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12644
12821
 
@@ -12811,7 +12988,7 @@ __webpack_require__(18384);
12811
12988
  * @param {Function} f a predicate
12812
12989
  * @param {Function} g another predicate
12813
12990
  * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.
12814
- * @see R.both, R.or
12991
+ * @see R.both, R.anyPass, R.or
12815
12992
  * @example
12816
12993
  *
12817
12994
  * const gt10 = x => x > 10;
@@ -13149,6 +13326,10 @@ module.exports = evolve;
13149
13326
  /***/ 51383:
13150
13327
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13151
13328
 
13329
+ var _arrayReduce =
13330
+ /*#__PURE__*/
13331
+ __webpack_require__(20854);
13332
+
13152
13333
  var _curry2 =
13153
13334
  /*#__PURE__*/
13154
13335
  __webpack_require__(79002);
@@ -13165,10 +13346,6 @@ var _isObject =
13165
13346
  /*#__PURE__*/
13166
13347
  __webpack_require__(8291);
13167
13348
 
13168
- var _reduce =
13169
- /*#__PURE__*/
13170
- __webpack_require__(39488);
13171
-
13172
13349
  var _xfilter =
13173
13350
  /*#__PURE__*/
13174
13351
  __webpack_require__(11383);
@@ -13190,6 +13367,7 @@ __webpack_require__(90368);
13190
13367
  * @memberOf R
13191
13368
  * @since v0.1.0
13192
13369
  * @category List
13370
+ * @category Object
13193
13371
  * @sig Filterable f => (a -> Boolean) -> f a -> f a
13194
13372
  * @param {Function} pred
13195
13373
  * @param {Array} filterable
@@ -13210,7 +13388,7 @@ var filter =
13210
13388
  _curry2(
13211
13389
  /*#__PURE__*/
13212
13390
  _dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (pred, filterable) {
13213
- return _isObject(filterable) ? _reduce(function (acc, key) {
13391
+ return _isObject(filterable) ? _arrayReduce(function (acc, key) {
13214
13392
  if (pred(filterable[key])) {
13215
13393
  acc[key] = filterable[key];
13216
13394
  }
@@ -13744,7 +13922,7 @@ __webpack_require__(44285);
13744
13922
  * @param {Array} list The array to group
13745
13923
  * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements
13746
13924
  * that produced that key when passed to `fn`.
13747
- * @see R.reduceBy, R.transduce, R.indexBy
13925
+ * @see R.reduceBy, R.transduce, R.indexBy, R.collectBy
13748
13926
  * @example
13749
13927
  *
13750
13928
  * const byGrade = R.groupBy(function(student) {
@@ -14128,10 +14306,6 @@ module.exports = head;
14128
14306
  var _objectIs =
14129
14307
  /*#__PURE__*/
14130
14308
  __webpack_require__(21361);
14131
-
14132
- var _curry2 =
14133
- /*#__PURE__*/
14134
- __webpack_require__(79002);
14135
14309
  /**
14136
14310
  * Returns true if its arguments are identical, false otherwise. Values are
14137
14311
  * identical if they reference the same memory. `NaN` is identical to `NaN`;
@@ -14139,6 +14313,8 @@ __webpack_require__(79002);
14139
14313
  *
14140
14314
  * Note this is merely a curried version of ES6 `Object.is`.
14141
14315
  *
14316
+ * `identical` does not support the `__` placeholder.
14317
+ *
14142
14318
  * @func
14143
14319
  * @memberOf R
14144
14320
  * @since v0.15.0
@@ -14159,9 +14335,33 @@ __webpack_require__(79002);
14159
14335
  */
14160
14336
 
14161
14337
 
14162
- var identical =
14163
- /*#__PURE__*/
14164
- _curry2(_objectIs);
14338
+ var identical = function (a, b) {
14339
+ switch (arguments.length) {
14340
+ case 0:
14341
+ return identical;
14342
+
14343
+ case 1:
14344
+ return function () {
14345
+ return function unaryIdentical(_b) {
14346
+ switch (arguments.length) {
14347
+ case 0:
14348
+ return unaryIdentical;
14349
+
14350
+ default:
14351
+ return _objectIs(a, _b);
14352
+ }
14353
+ };
14354
+ }();
14355
+
14356
+ default:
14357
+ return _objectIs(a, b);
14358
+ }
14359
+ }; // In order to support Cross-origin Window objects as arguments to identical,
14360
+ // it cannot be implemented as _curry2(_objectIs).
14361
+ // The reason is that _curry2 checks if a function argument is the placeholder __
14362
+ // by accessing a paritcular property. However, across URL origins access
14363
+ // to most properties of Window is forbidden.
14364
+
14165
14365
 
14166
14366
  module.exports = identical;
14167
14367
 
@@ -14220,6 +14420,8 @@ __webpack_require__(2220);
14220
14420
  * Creates a function that will process either the `onTrue` or the `onFalse`
14221
14421
  * function depending upon the result of the `condition` predicate.
14222
14422
  *
14423
+ * Note that `ifElse` takes its arity from the longest of the three functions passed to it.
14424
+ *
14223
14425
  * @func
14224
14426
  * @memberOf R
14225
14427
  * @since v0.8.0
@@ -14336,6 +14538,7 @@ module.exports.T = __webpack_require__(53007);
14336
14538
  module.exports.__ = __webpack_require__(34923);
14337
14539
  module.exports.add = __webpack_require__(63073);
14338
14540
  module.exports.addIndex = __webpack_require__(45582);
14541
+ module.exports.addIndexRight = __webpack_require__(16160);
14339
14542
  module.exports.adjust = __webpack_require__(82515);
14340
14543
  module.exports.all = __webpack_require__(22626);
14341
14544
  module.exports.allPass = __webpack_require__(57735);
@@ -14385,6 +14588,7 @@ module.exports.drop = __webpack_require__(78821);
14385
14588
  module.exports.dropLast = __webpack_require__(50898);
14386
14589
  module.exports.dropLastWhile = __webpack_require__(62520);
14387
14590
  module.exports.dropRepeats = __webpack_require__(74649);
14591
+ module.exports.dropRepeatsBy = __webpack_require__(91591);
14388
14592
  module.exports.dropRepeatsWith = __webpack_require__(43432);
14389
14593
  module.exports.dropWhile = __webpack_require__(51008);
14390
14594
  module.exports.either = __webpack_require__(14087);
@@ -14432,6 +14636,7 @@ module.exports.invoker = __webpack_require__(25189);
14432
14636
  module.exports.is = __webpack_require__(9443);
14433
14637
  module.exports.isEmpty = __webpack_require__(42157);
14434
14638
  module.exports.isNil = __webpack_require__(13657);
14639
+ module.exports.isNotNil = __webpack_require__(91533);
14435
14640
  module.exports.join = __webpack_require__(18231);
14436
14641
  module.exports.juxt = __webpack_require__(55389);
14437
14642
  module.exports.keys = __webpack_require__(90368);
@@ -14541,6 +14746,7 @@ module.exports.splitWhenever = __webpack_require__(83709);
14541
14746
  module.exports.startsWith = __webpack_require__(60830);
14542
14747
  module.exports.subtract = __webpack_require__(29454);
14543
14748
  module.exports.sum = __webpack_require__(36945);
14749
+ module.exports.swap = __webpack_require__(59776);
14544
14750
  module.exports.symmetricDifference = __webpack_require__(16722);
14545
14751
  module.exports.symmetricDifferenceWith = __webpack_require__(7776);
14546
14752
  module.exports.tail = __webpack_require__(43656);
@@ -15177,6 +15383,25 @@ module.exports = _arrayFromIterator;
15177
15383
 
15178
15384
  /***/ }),
15179
15385
 
15386
+ /***/ 20854:
15387
+ /***/ ((module) => {
15388
+
15389
+ function _arrayReduce(reducer, acc, list) {
15390
+ var index = 0;
15391
+ var length = list.length;
15392
+
15393
+ while (index < length) {
15394
+ acc = reducer(acc, list[index]);
15395
+ index += 1;
15396
+ }
15397
+
15398
+ return acc;
15399
+ }
15400
+
15401
+ module.exports = _arrayReduce;
15402
+
15403
+ /***/ }),
15404
+
15180
15405
  /***/ 80649:
15181
15406
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15182
15407
 
@@ -15293,32 +15518,31 @@ __webpack_require__(36433);
15293
15518
  *
15294
15519
  * @private
15295
15520
  * @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
15521
  * @param {Boolean} deep Whether or not to perform deep cloning.
15299
15522
  * @return {*} The copied value.
15300
15523
  */
15301
15524
 
15302
15525
 
15303
- function _clone(value, refFrom, refTo, deep) {
15304
- var copy = function copy(copiedValue) {
15305
- var len = refFrom.length;
15306
- var idx = 0;
15526
+ function _clone(value, deep, map) {
15527
+ map || (map = new _ObjectMap()); // this avoids the slower switch with a quick if decision removing some milliseconds in each run.
15307
15528
 
15308
- while (idx < len) {
15309
- if (value === refFrom[idx]) {
15310
- return refTo[idx];
15311
- }
15529
+ if (_isPrimitive(value)) {
15530
+ return value;
15531
+ }
15312
15532
 
15313
- idx += 1;
15533
+ var copy = function copy(copiedValue) {
15534
+ // Check for circular and same references on the object graph and return its corresponding clone.
15535
+ var cachedCopy = map.get(value);
15536
+
15537
+ if (cachedCopy) {
15538
+ return cachedCopy;
15314
15539
  }
15315
15540
 
15316
- refFrom[idx] = value;
15317
- refTo[idx] = copiedValue;
15541
+ map.set(value, copiedValue);
15318
15542
 
15319
15543
  for (var key in value) {
15320
- if (value.hasOwnProperty(key)) {
15321
- copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];
15544
+ if (Object.prototype.hasOwnProperty.call(value, key)) {
15545
+ copiedValue[key] = deep ? _clone(value[key], true, map) : value[key];
15322
15546
  }
15323
15547
  }
15324
15548
 
@@ -15358,13 +15582,88 @@ function _clone(value, refFrom, refTo, deep) {
15358
15582
 
15359
15583
  module.exports = _clone;
15360
15584
 
15585
+ function _isPrimitive(param) {
15586
+ var type = typeof param;
15587
+ return param == null || type != 'object' && type != 'function';
15588
+ }
15589
+
15590
+ var _ObjectMap =
15591
+ /*#__PURE__*/
15592
+ function () {
15593
+ function _ObjectMap() {
15594
+ this.map = {};
15595
+ this.length = 0;
15596
+ }
15597
+
15598
+ _ObjectMap.prototype.set = function (key, value) {
15599
+ const hashedKey = this.hash(key);
15600
+ let bucket = this.map[hashedKey];
15601
+
15602
+ if (!bucket) {
15603
+ this.map[hashedKey] = bucket = [];
15604
+ }
15605
+
15606
+ bucket.push([key, value]);
15607
+ this.length += 1;
15608
+ };
15609
+
15610
+ _ObjectMap.prototype.hash = function (key) {
15611
+ let hashedKey = [];
15612
+
15613
+ for (var value in key) {
15614
+ hashedKey.push(Object.prototype.toString.call(key[value]));
15615
+ }
15616
+
15617
+ return hashedKey.join();
15618
+ };
15619
+
15620
+ _ObjectMap.prototype.get = function (key) {
15621
+ /**
15622
+ * 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,
15623
+ * on my tests this number is 180, anything above that using the hash function is faster.
15624
+ */
15625
+ if (this.length <= 180) {
15626
+ for (const p in this.map) {
15627
+ const bucket = this.map[p];
15628
+
15629
+ for (let i = 0; i < bucket.length; i += 1) {
15630
+ const element = bucket[i];
15631
+
15632
+ if (element[0] === key) {
15633
+ return element[1];
15634
+ }
15635
+ }
15636
+ }
15637
+
15638
+ return;
15639
+ }
15640
+
15641
+ const hashedKey = this.hash(key);
15642
+ const bucket = this.map[hashedKey];
15643
+
15644
+ if (!bucket) {
15645
+ return;
15646
+ }
15647
+
15648
+ for (let i = 0; i < bucket.length; i += 1) {
15649
+ const element = bucket[i];
15650
+
15651
+ if (element[0] === key) {
15652
+ return element[1];
15653
+ }
15654
+ }
15655
+ };
15656
+
15657
+ return _ObjectMap;
15658
+ }();
15659
+
15361
15660
  /***/ }),
15362
15661
 
15363
15662
  /***/ 9039:
15364
15663
  /***/ ((module) => {
15365
15664
 
15366
15665
  function _cloneRegExp(pattern) {
15367
- return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));
15666
+ 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
15667
  }
15369
15668
 
15370
15669
  module.exports = _cloneRegExp;
@@ -15449,6 +15748,49 @@ module.exports = _createPartialApplicator;
15449
15748
 
15450
15749
  /***/ }),
15451
15750
 
15751
+ /***/ 71351:
15752
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15753
+
15754
+ var _isArrayLike =
15755
+ /*#__PURE__*/
15756
+ __webpack_require__(3219);
15757
+
15758
+ var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';
15759
+
15760
+ function _createReduce(arrayReduce, methodReduce, iterableReduce) {
15761
+ return function _reduce(xf, acc, list) {
15762
+ if (_isArrayLike(list)) {
15763
+ return arrayReduce(xf, acc, list);
15764
+ }
15765
+
15766
+ if (list == null) {
15767
+ return acc;
15768
+ }
15769
+
15770
+ if (typeof list['fantasy-land/reduce'] === 'function') {
15771
+ return methodReduce(xf, acc, list, 'fantasy-land/reduce');
15772
+ }
15773
+
15774
+ if (list[symIterator] != null) {
15775
+ return iterableReduce(xf, acc, list[symIterator]());
15776
+ }
15777
+
15778
+ if (typeof list.next === 'function') {
15779
+ return iterableReduce(xf, acc, list);
15780
+ }
15781
+
15782
+ if (typeof list.reduce === 'function') {
15783
+ return methodReduce(xf, acc, list, 'reduce');
15784
+ }
15785
+
15786
+ throw new TypeError('reduce: list must be array or iterable');
15787
+ };
15788
+ }
15789
+
15790
+ module.exports = _createReduce;
15791
+
15792
+ /***/ }),
15793
+
15452
15794
  /***/ 76224:
15453
15795
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15454
15796
 
@@ -16014,38 +16356,59 @@ var _isArrayLike =
16014
16356
  /*#__PURE__*/
16015
16357
  __webpack_require__(3219);
16016
16358
 
16017
- var _reduce =
16359
+ var _xArrayReduce =
16018
16360
  /*#__PURE__*/
16019
- __webpack_require__(39488);
16361
+ __webpack_require__(93703);
16362
+
16363
+ var _xReduce =
16364
+ /*#__PURE__*/
16365
+ __webpack_require__(89632);
16020
16366
 
16021
16367
  var _xfBase =
16022
16368
  /*#__PURE__*/
16023
16369
  __webpack_require__(93714);
16024
16370
 
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
- }
16371
+ var tInit = '@@transducer/init';
16372
+ var tStep = '@@transducer/step';
16373
+ var tResult = '@@transducer/result';
16374
+
16375
+ var XPreservingReduced =
16376
+ /*#__PURE__*/
16377
+ function () {
16378
+ function XPreservingReduced(xf) {
16379
+ this.xf = xf;
16380
+ }
16381
+
16382
+ XPreservingReduced.prototype[tInit] = _xfBase.init;
16383
+ XPreservingReduced.prototype[tResult] = _xfBase.result;
16384
+
16385
+ XPreservingReduced.prototype[tStep] = function (result, input) {
16386
+ var ret = this.xf[tStep](result, input);
16387
+ return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;
16035
16388
  };
16036
- };
16037
16389
 
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
- }
16390
+ return XPreservingReduced;
16391
+ }();
16392
+
16393
+ var XFlatCat =
16394
+ /*#__PURE__*/
16395
+ function () {
16396
+ function XFlatCat(xf) {
16397
+ this.xf = new XPreservingReduced(xf);
16398
+ }
16399
+
16400
+ XFlatCat.prototype[tInit] = _xfBase.init;
16401
+ XFlatCat.prototype[tResult] = _xfBase.result;
16402
+
16403
+ XFlatCat.prototype[tStep] = function (result, input) {
16404
+ return !_isArrayLike(input) ? _xArrayReduce(this.xf, result, [input]) : _xReduce(this.xf, result, input);
16048
16405
  };
16406
+
16407
+ return XFlatCat;
16408
+ }();
16409
+
16410
+ var _flatCat = function _xcat(xf) {
16411
+ return new XFlatCat(xf);
16049
16412
  };
16050
16413
 
16051
16414
  module.exports = _flatCat;
@@ -16618,27 +16981,16 @@ module.exports = typeof Object.is === 'function' ? Object.is : _objectIs;
16618
16981
 
16619
16982
  /***/ }),
16620
16983
 
16621
- /***/ 58791:
16984
+ /***/ 56015:
16622
16985
  /***/ ((module) => {
16623
16986
 
16624
- function _of(x) {
16625
- return [x];
16987
+ function _pipe(f, g) {
16988
+ return function () {
16989
+ return g.call(this, f.apply(this, arguments));
16990
+ };
16626
16991
  }
16627
16992
 
16628
- module.exports = _of;
16629
-
16630
- /***/ }),
16631
-
16632
- /***/ 56015:
16633
- /***/ ((module) => {
16634
-
16635
- function _pipe(f, g) {
16636
- return function () {
16637
- return g.call(this, f.apply(this, arguments));
16638
- };
16639
- }
16640
-
16641
- module.exports = _pipe;
16993
+ module.exports = _pipe;
16642
16994
 
16643
16995
  /***/ }),
16644
16996
 
@@ -16671,86 +17023,32 @@ module.exports = _quote;
16671
17023
  /***/ 39488:
16672
17024
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16673
17025
 
16674
- var _isArrayLike =
17026
+ var _arrayReduce =
16675
17027
  /*#__PURE__*/
16676
- __webpack_require__(3219);
17028
+ __webpack_require__(20854);
16677
17029
 
16678
- var _xwrap =
17030
+ var _createReduce =
16679
17031
  /*#__PURE__*/
16680
- __webpack_require__(39874);
17032
+ __webpack_require__(71351);
16681
17033
 
16682
- var bind =
16683
- /*#__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]);
16692
-
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) {
17034
+ function _iterableReduce(reducer, acc, iter) {
16705
17035
  var step = iter.next();
16706
17036
 
16707
17037
  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
-
17038
+ acc = reducer(acc, step.value);
16715
17039
  step = iter.next();
16716
17040
  }
16717
17041
 
16718
- return xf['@@transducer/result'](acc);
17042
+ return acc;
16719
17043
  }
16720
17044
 
16721
- function _methodReduce(xf, acc, obj, methodName) {
16722
- return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));
17045
+ function _methodReduce(reducer, acc, obj, methodName) {
17046
+ return obj[methodName](reducer, acc);
16723
17047
  }
16724
17048
 
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
- }
17049
+ var _reduce =
17050
+ /*#__PURE__*/
17051
+ _createReduce(_arrayReduce, _methodReduce, _iterableReduce);
16754
17052
 
16755
17053
  module.exports = _reduce;
16756
17054
 
@@ -16915,12 +17213,18 @@ function _toString(x, seen) {
16915
17213
  case '[object Date]':
16916
17214
  return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';
16917
17215
 
17216
+ case '[object Map]':
17217
+ return 'new Map(' + recur(Array.from(x)) + ')';
17218
+
16918
17219
  case '[object Null]':
16919
17220
  return 'null';
16920
17221
 
16921
17222
  case '[object Number]':
16922
17223
  return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);
16923
17224
 
17225
+ case '[object Set]':
17226
+ return 'new Set(' + recur(Array.from(x).sort()) + ')';
17227
+
16924
17228
  case '[object String]':
16925
17229
  return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);
16926
17230
 
@@ -16944,12 +17248,77 @@ module.exports = _toString;
16944
17248
 
16945
17249
  /***/ }),
16946
17250
 
16947
- /***/ 15750:
17251
+ /***/ 93703:
17252
+ /***/ ((module) => {
17253
+
17254
+ function _xArrayReduce(xf, acc, list) {
17255
+ var idx = 0;
17256
+ var len = list.length;
17257
+
17258
+ while (idx < len) {
17259
+ acc = xf['@@transducer/step'](acc, list[idx]);
17260
+
17261
+ if (acc && acc['@@transducer/reduced']) {
17262
+ acc = acc['@@transducer/value'];
17263
+ break;
17264
+ }
17265
+
17266
+ idx += 1;
17267
+ }
17268
+
17269
+ return xf['@@transducer/result'](acc);
17270
+ }
17271
+
17272
+ module.exports = _xArrayReduce;
17273
+
17274
+ /***/ }),
17275
+
17276
+ /***/ 89632:
16948
17277
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16949
17278
 
16950
- var _curry2 =
17279
+ var _createReduce =
16951
17280
  /*#__PURE__*/
16952
- __webpack_require__(79002);
17281
+ __webpack_require__(71351);
17282
+
17283
+ var _xArrayReduce =
17284
+ /*#__PURE__*/
17285
+ __webpack_require__(93703);
17286
+
17287
+ var bind =
17288
+ /*#__PURE__*/
17289
+ __webpack_require__(63195);
17290
+
17291
+ function _xIterableReduce(xf, acc, iter) {
17292
+ var step = iter.next();
17293
+
17294
+ while (!step.done) {
17295
+ acc = xf['@@transducer/step'](acc, step.value);
17296
+
17297
+ if (acc && acc['@@transducer/reduced']) {
17298
+ acc = acc['@@transducer/value'];
17299
+ break;
17300
+ }
17301
+
17302
+ step = iter.next();
17303
+ }
17304
+
17305
+ return xf['@@transducer/result'](acc);
17306
+ }
17307
+
17308
+ function _xMethodReduce(xf, acc, obj, methodName) {
17309
+ return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));
17310
+ }
17311
+
17312
+ var _xReduce =
17313
+ /*#__PURE__*/
17314
+ _createReduce(_xArrayReduce, _xMethodReduce, _xIterableReduce);
17315
+
17316
+ module.exports = _xReduce;
17317
+
17318
+ /***/ }),
17319
+
17320
+ /***/ 15750:
17321
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16953
17322
 
16954
17323
  var _reduced =
16955
17324
  /*#__PURE__*/
@@ -16990,11 +17359,11 @@ function () {
16990
17359
  return XAll;
16991
17360
  }();
16992
17361
 
16993
- var _xall =
16994
- /*#__PURE__*/
16995
- _curry2(function _xall(f, xf) {
16996
- return new XAll(f, xf);
16997
- });
17362
+ function _xall(f) {
17363
+ return function (xf) {
17364
+ return new XAll(f, xf);
17365
+ };
17366
+ }
16998
17367
 
16999
17368
  module.exports = _xall;
17000
17369
 
@@ -17003,10 +17372,6 @@ module.exports = _xall;
17003
17372
  /***/ 97034:
17004
17373
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17005
17374
 
17006
- var _curry2 =
17007
- /*#__PURE__*/
17008
- __webpack_require__(79002);
17009
-
17010
17375
  var _reduced =
17011
17376
  /*#__PURE__*/
17012
17377
  __webpack_require__(22157);
@@ -17046,11 +17411,11 @@ function () {
17046
17411
  return XAny;
17047
17412
  }();
17048
17413
 
17049
- var _xany =
17050
- /*#__PURE__*/
17051
- _curry2(function _xany(f, xf) {
17052
- return new XAny(f, xf);
17053
- });
17414
+ function _xany(f) {
17415
+ return function (xf) {
17416
+ return new XAny(f, xf);
17417
+ };
17418
+ }
17054
17419
 
17055
17420
  module.exports = _xany;
17056
17421
 
@@ -17063,10 +17428,6 @@ var _concat =
17063
17428
  /*#__PURE__*/
17064
17429
  __webpack_require__(14011);
17065
17430
 
17066
- var _curry2 =
17067
- /*#__PURE__*/
17068
- __webpack_require__(79002);
17069
-
17070
17431
  var _xfBase =
17071
17432
  /*#__PURE__*/
17072
17433
  __webpack_require__(93714);
@@ -17110,11 +17471,11 @@ function () {
17110
17471
  return XAperture;
17111
17472
  }();
17112
17473
 
17113
- var _xaperture =
17114
- /*#__PURE__*/
17115
- _curry2(function _xaperture(n, xf) {
17116
- return new XAperture(n, xf);
17117
- });
17474
+ function _xaperture(n) {
17475
+ return function (xf) {
17476
+ return new XAperture(n, xf);
17477
+ };
17478
+ }
17118
17479
 
17119
17480
  module.exports = _xaperture;
17120
17481
 
@@ -17123,23 +17484,19 @@ module.exports = _xaperture;
17123
17484
  /***/ 64814:
17124
17485
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17125
17486
 
17126
- var _curry2 =
17127
- /*#__PURE__*/
17128
- __webpack_require__(79002);
17129
-
17130
17487
  var _flatCat =
17131
17488
  /*#__PURE__*/
17132
17489
  __webpack_require__(8530);
17133
17490
 
17134
- var map =
17491
+ var _xmap =
17135
17492
  /*#__PURE__*/
17136
- __webpack_require__(61894);
17493
+ __webpack_require__(72894);
17137
17494
 
17138
- var _xchain =
17139
- /*#__PURE__*/
17140
- _curry2(function _xchain(f, xf) {
17141
- return map(f, _flatCat(xf));
17142
- });
17495
+ function _xchain(f) {
17496
+ return function (xf) {
17497
+ return _xmap(f)(_flatCat(xf));
17498
+ };
17499
+ }
17143
17500
 
17144
17501
  module.exports = _xchain;
17145
17502
 
@@ -17148,10 +17505,6 @@ module.exports = _xchain;
17148
17505
  /***/ 41700:
17149
17506
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17150
17507
 
17151
- var _curry2 =
17152
- /*#__PURE__*/
17153
- __webpack_require__(79002);
17154
-
17155
17508
  var _xfBase =
17156
17509
  /*#__PURE__*/
17157
17510
  __webpack_require__(93714);
@@ -17179,11 +17532,11 @@ function () {
17179
17532
  return XDrop;
17180
17533
  }();
17181
17534
 
17182
- var _xdrop =
17183
- /*#__PURE__*/
17184
- _curry2(function _xdrop(n, xf) {
17185
- return new XDrop(n, xf);
17186
- });
17535
+ function _xdrop(n) {
17536
+ return function (xf) {
17537
+ return new XDrop(n, xf);
17538
+ };
17539
+ }
17187
17540
 
17188
17541
  module.exports = _xdrop;
17189
17542
 
@@ -17192,10 +17545,6 @@ module.exports = _xdrop;
17192
17545
  /***/ 4534:
17193
17546
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17194
17547
 
17195
- var _curry2 =
17196
- /*#__PURE__*/
17197
- __webpack_require__(79002);
17198
-
17199
17548
  var _xfBase =
17200
17549
  /*#__PURE__*/
17201
17550
  __webpack_require__(93714);
@@ -17204,6 +17553,10 @@ var XDropLast =
17204
17553
  /*#__PURE__*/
17205
17554
  function () {
17206
17555
  function XDropLast(n, xf) {
17556
+ if (n <= 0) {
17557
+ return xf;
17558
+ }
17559
+
17207
17560
  this.xf = xf;
17208
17561
  this.pos = 0;
17209
17562
  this.full = false;
@@ -17239,11 +17592,11 @@ function () {
17239
17592
  return XDropLast;
17240
17593
  }();
17241
17594
 
17242
- var _xdropLast =
17243
- /*#__PURE__*/
17244
- _curry2(function _xdropLast(n, xf) {
17245
- return new XDropLast(n, xf);
17246
- });
17595
+ function _xdropLast(n) {
17596
+ return function (xf) {
17597
+ return new XDropLast(n, xf);
17598
+ };
17599
+ }
17247
17600
 
17248
17601
  module.exports = _xdropLast;
17249
17602
 
@@ -17252,18 +17605,14 @@ module.exports = _xdropLast;
17252
17605
  /***/ 34783:
17253
17606
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17254
17607
 
17255
- var _curry2 =
17256
- /*#__PURE__*/
17257
- __webpack_require__(79002);
17258
-
17259
- var _reduce =
17260
- /*#__PURE__*/
17261
- __webpack_require__(39488);
17262
-
17263
17608
  var _xfBase =
17264
17609
  /*#__PURE__*/
17265
17610
  __webpack_require__(93714);
17266
17611
 
17612
+ var _xReduce =
17613
+ /*#__PURE__*/
17614
+ __webpack_require__(89632);
17615
+
17267
17616
  var XDropLastWhile =
17268
17617
  /*#__PURE__*/
17269
17618
  function () {
@@ -17285,7 +17634,7 @@ function () {
17285
17634
  };
17286
17635
 
17287
17636
  XDropLastWhile.prototype.flush = function (result, input) {
17288
- result = _reduce(this.xf['@@transducer/step'], result, this.retained);
17637
+ result = _xReduce(this.xf, result, this.retained);
17289
17638
  this.retained = [];
17290
17639
  return this.xf['@@transducer/step'](result, input);
17291
17640
  };
@@ -17298,11 +17647,11 @@ function () {
17298
17647
  return XDropLastWhile;
17299
17648
  }();
17300
17649
 
17301
- var _xdropLastWhile =
17302
- /*#__PURE__*/
17303
- _curry2(function _xdropLastWhile(fn, xf) {
17304
- return new XDropLastWhile(fn, xf);
17305
- });
17650
+ function _xdropLastWhile(fn) {
17651
+ return function (xf) {
17652
+ return new XDropLastWhile(fn, xf);
17653
+ };
17654
+ }
17306
17655
 
17307
17656
  module.exports = _xdropLastWhile;
17308
17657
 
@@ -17311,10 +17660,6 @@ module.exports = _xdropLastWhile;
17311
17660
  /***/ 6234:
17312
17661
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17313
17662
 
17314
- var _curry2 =
17315
- /*#__PURE__*/
17316
- __webpack_require__(79002);
17317
-
17318
17663
  var _xfBase =
17319
17664
  /*#__PURE__*/
17320
17665
  __webpack_require__(93714);
@@ -17348,11 +17693,11 @@ function () {
17348
17693
  return XDropRepeatsWith;
17349
17694
  }();
17350
17695
 
17351
- var _xdropRepeatsWith =
17352
- /*#__PURE__*/
17353
- _curry2(function _xdropRepeatsWith(pred, xf) {
17354
- return new XDropRepeatsWith(pred, xf);
17355
- });
17696
+ function _xdropRepeatsWith(pred) {
17697
+ return function (xf) {
17698
+ return new XDropRepeatsWith(pred, xf);
17699
+ };
17700
+ }
17356
17701
 
17357
17702
  module.exports = _xdropRepeatsWith;
17358
17703
 
@@ -17361,10 +17706,6 @@ module.exports = _xdropRepeatsWith;
17361
17706
  /***/ 1908:
17362
17707
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17363
17708
 
17364
- var _curry2 =
17365
- /*#__PURE__*/
17366
- __webpack_require__(79002);
17367
-
17368
17709
  var _xfBase =
17369
17710
  /*#__PURE__*/
17370
17711
  __webpack_require__(93714);
@@ -17395,11 +17736,11 @@ function () {
17395
17736
  return XDropWhile;
17396
17737
  }();
17397
17738
 
17398
- var _xdropWhile =
17399
- /*#__PURE__*/
17400
- _curry2(function _xdropWhile(f, xf) {
17401
- return new XDropWhile(f, xf);
17402
- });
17739
+ function _xdropWhile(f) {
17740
+ return function (xf) {
17741
+ return new XDropWhile(f, xf);
17742
+ };
17743
+ }
17403
17744
 
17404
17745
  module.exports = _xdropWhile;
17405
17746
 
@@ -17422,10 +17763,6 @@ module.exports = {
17422
17763
  /***/ 11383:
17423
17764
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17424
17765
 
17425
- var _curry2 =
17426
- /*#__PURE__*/
17427
- __webpack_require__(79002);
17428
-
17429
17766
  var _xfBase =
17430
17767
  /*#__PURE__*/
17431
17768
  __webpack_require__(93714);
@@ -17448,11 +17785,11 @@ function () {
17448
17785
  return XFilter;
17449
17786
  }();
17450
17787
 
17451
- var _xfilter =
17452
- /*#__PURE__*/
17453
- _curry2(function _xfilter(f, xf) {
17454
- return new XFilter(f, xf);
17455
- });
17788
+ function _xfilter(f) {
17789
+ return function (xf) {
17790
+ return new XFilter(f, xf);
17791
+ };
17792
+ }
17456
17793
 
17457
17794
  module.exports = _xfilter;
17458
17795
 
@@ -17461,10 +17798,6 @@ module.exports = _xfilter;
17461
17798
  /***/ 47855:
17462
17799
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17463
17800
 
17464
- var _curry2 =
17465
- /*#__PURE__*/
17466
- __webpack_require__(79002);
17467
-
17468
17801
  var _reduced =
17469
17802
  /*#__PURE__*/
17470
17803
  __webpack_require__(22157);
@@ -17504,11 +17837,11 @@ function () {
17504
17837
  return XFind;
17505
17838
  }();
17506
17839
 
17507
- var _xfind =
17508
- /*#__PURE__*/
17509
- _curry2(function _xfind(f, xf) {
17510
- return new XFind(f, xf);
17511
- });
17840
+ function _xfind(f) {
17841
+ return function (xf) {
17842
+ return new XFind(f, xf);
17843
+ };
17844
+ }
17512
17845
 
17513
17846
  module.exports = _xfind;
17514
17847
 
@@ -17517,10 +17850,6 @@ module.exports = _xfind;
17517
17850
  /***/ 20834:
17518
17851
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17519
17852
 
17520
- var _curry2 =
17521
- /*#__PURE__*/
17522
- __webpack_require__(79002);
17523
-
17524
17853
  var _reduced =
17525
17854
  /*#__PURE__*/
17526
17855
  __webpack_require__(22157);
@@ -17563,11 +17892,11 @@ function () {
17563
17892
  return XFindIndex;
17564
17893
  }();
17565
17894
 
17566
- var _xfindIndex =
17567
- /*#__PURE__*/
17568
- _curry2(function _xfindIndex(f, xf) {
17569
- return new XFindIndex(f, xf);
17570
- });
17895
+ function _xfindIndex(f) {
17896
+ return function (xf) {
17897
+ return new XFindIndex(f, xf);
17898
+ };
17899
+ }
17571
17900
 
17572
17901
  module.exports = _xfindIndex;
17573
17902
 
@@ -17576,10 +17905,6 @@ module.exports = _xfindIndex;
17576
17905
  /***/ 28922:
17577
17906
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17578
17907
 
17579
- var _curry2 =
17580
- /*#__PURE__*/
17581
- __webpack_require__(79002);
17582
-
17583
17908
  var _xfBase =
17584
17909
  /*#__PURE__*/
17585
17910
  __webpack_require__(93714);
@@ -17609,11 +17934,11 @@ function () {
17609
17934
  return XFindLast;
17610
17935
  }();
17611
17936
 
17612
- var _xfindLast =
17613
- /*#__PURE__*/
17614
- _curry2(function _xfindLast(f, xf) {
17615
- return new XFindLast(f, xf);
17616
- });
17937
+ function _xfindLast(f) {
17938
+ return function (xf) {
17939
+ return new XFindLast(f, xf);
17940
+ };
17941
+ }
17617
17942
 
17618
17943
  module.exports = _xfindLast;
17619
17944
 
@@ -17622,10 +17947,6 @@ module.exports = _xfindLast;
17622
17947
  /***/ 36626:
17623
17948
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17624
17949
 
17625
- var _curry2 =
17626
- /*#__PURE__*/
17627
- __webpack_require__(79002);
17628
-
17629
17950
  var _xfBase =
17630
17951
  /*#__PURE__*/
17631
17952
  __webpack_require__(93714);
@@ -17659,11 +17980,11 @@ function () {
17659
17980
  return XFindLastIndex;
17660
17981
  }();
17661
17982
 
17662
- var _xfindLastIndex =
17663
- /*#__PURE__*/
17664
- _curry2(function _xfindLastIndex(f, xf) {
17665
- return new XFindLastIndex(f, xf);
17666
- });
17983
+ function _xfindLastIndex(f) {
17984
+ return function (xf) {
17985
+ return new XFindLastIndex(f, xf);
17986
+ };
17987
+ }
17667
17988
 
17668
17989
  module.exports = _xfindLastIndex;
17669
17990
 
@@ -17672,10 +17993,6 @@ module.exports = _xfindLastIndex;
17672
17993
  /***/ 72894:
17673
17994
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17674
17995
 
17675
- var _curry2 =
17676
- /*#__PURE__*/
17677
- __webpack_require__(79002);
17678
-
17679
17996
  var _xfBase =
17680
17997
  /*#__PURE__*/
17681
17998
  __webpack_require__(93714);
@@ -17698,11 +18015,11 @@ function () {
17698
18015
  return XMap;
17699
18016
  }();
17700
18017
 
17701
- var _xmap =
17702
- /*#__PURE__*/
17703
- _curry2(function _xmap(f, xf) {
17704
- return new XMap(f, xf);
17705
- });
18018
+ var _xmap = function _xmap(f) {
18019
+ return function (xf) {
18020
+ return new XMap(f, xf);
18021
+ };
18022
+ };
17706
18023
 
17707
18024
  module.exports = _xmap;
17708
18025
 
@@ -17711,10 +18028,6 @@ module.exports = _xmap;
17711
18028
  /***/ 81884:
17712
18029
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17713
18030
 
17714
- var _curry3 =
17715
- /*#__PURE__*/
17716
- __webpack_require__(16370);
17717
-
17718
18031
  var _xfBase =
17719
18032
  /*#__PURE__*/
17720
18033
  __webpack_require__(93714);
@@ -17742,11 +18055,11 @@ function () {
17742
18055
  return XPromap;
17743
18056
  }();
17744
18057
 
17745
- var _xpromap =
17746
- /*#__PURE__*/
17747
- _curry3(function _xpromap(f, g, xf) {
17748
- return new XPromap(f, g, xf);
17749
- });
18058
+ function _xpromap(f, g) {
18059
+ return function (xf) {
18060
+ return new XPromap(f, g, xf);
18061
+ };
18062
+ }
17750
18063
 
17751
18064
  module.exports = _xpromap;
17752
18065
 
@@ -17755,9 +18068,9 @@ module.exports = _xpromap;
17755
18068
  /***/ 57744:
17756
18069
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17757
18070
 
17758
- var _curryN =
18071
+ var _clone =
17759
18072
  /*#__PURE__*/
17760
- __webpack_require__(32738);
18073
+ __webpack_require__(45114);
17761
18074
 
17762
18075
  var _has =
17763
18076
  /*#__PURE__*/
@@ -17800,7 +18113,7 @@ function () {
17800
18113
 
17801
18114
  XReduceBy.prototype['@@transducer/step'] = function (result, input) {
17802
18115
  var key = this.keyFn(input);
17803
- this.inputs[key] = this.inputs[key] || [key, this.valueAcc];
18116
+ this.inputs[key] = this.inputs[key] || [key, _clone(this.valueAcc, false)];
17804
18117
  this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);
17805
18118
  return result;
17806
18119
  };
@@ -17808,22 +18121,69 @@ function () {
17808
18121
  return XReduceBy;
17809
18122
  }();
17810
18123
 
17811
- var _xreduceBy =
17812
- /*#__PURE__*/
17813
- _curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {
17814
- return new XReduceBy(valueFn, valueAcc, keyFn, xf);
17815
- });
18124
+ function _xreduceBy(valueFn, valueAcc, keyFn) {
18125
+ return function (xf) {
18126
+ return new XReduceBy(valueFn, valueAcc, keyFn, xf);
18127
+ };
18128
+ }
17816
18129
 
17817
18130
  module.exports = _xreduceBy;
17818
18131
 
17819
18132
  /***/ }),
17820
18133
 
17821
- /***/ 49184:
18134
+ /***/ 4465:
17822
18135
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17823
18136
 
17824
- var _curry2 =
18137
+ var _curry3 =
17825
18138
  /*#__PURE__*/
17826
- __webpack_require__(79002);
18139
+ __webpack_require__(16370);
18140
+
18141
+ var _xfBase =
18142
+ /*#__PURE__*/
18143
+ __webpack_require__(93714);
18144
+
18145
+ var tInit = '@@transducer/init';
18146
+ var tStep = '@@transducer/step';
18147
+
18148
+ var XScan =
18149
+ /*#__PURE__*/
18150
+ function () {
18151
+ function XScan(reducer, acc, xf) {
18152
+ this.xf = xf;
18153
+ this.f = reducer;
18154
+ this.acc = acc;
18155
+ }
18156
+
18157
+ XScan.prototype[tInit] = function () {
18158
+ return this.xf[tStep](this.xf[tInit](), this.acc);
18159
+ };
18160
+
18161
+ XScan.prototype['@@transducer/result'] = _xfBase.result;
18162
+
18163
+ XScan.prototype[tStep] = function (result, input) {
18164
+ if (result['@@transducer/reduced']) {
18165
+ return result;
18166
+ }
18167
+
18168
+ this.acc = this.f(this.acc, input);
18169
+ return this.xf[tStep](result, this.acc);
18170
+ };
18171
+
18172
+ return XScan;
18173
+ }();
18174
+
18175
+ var _xscan =
18176
+ /*#__PURE__*/
18177
+ _curry3(function _xscan(reducer, acc, xf) {
18178
+ return new XScan(reducer, acc, xf);
18179
+ });
18180
+
18181
+ module.exports = _xscan;
18182
+
18183
+ /***/ }),
18184
+
18185
+ /***/ 49184:
18186
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17827
18187
 
17828
18188
  var _reduced =
17829
18189
  /*#__PURE__*/
@@ -17854,11 +18214,11 @@ function () {
17854
18214
  return XTake;
17855
18215
  }();
17856
18216
 
17857
- var _xtake =
17858
- /*#__PURE__*/
17859
- _curry2(function _xtake(n, xf) {
17860
- return new XTake(n, xf);
17861
- });
18217
+ function _xtake(n) {
18218
+ return function (xf) {
18219
+ return new XTake(n, xf);
18220
+ };
18221
+ }
17862
18222
 
17863
18223
  module.exports = _xtake;
17864
18224
 
@@ -17867,10 +18227,6 @@ module.exports = _xtake;
17867
18227
  /***/ 89963:
17868
18228
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17869
18229
 
17870
- var _curry2 =
17871
- /*#__PURE__*/
17872
- __webpack_require__(79002);
17873
-
17874
18230
  var _reduced =
17875
18231
  /*#__PURE__*/
17876
18232
  __webpack_require__(22157);
@@ -17897,11 +18253,11 @@ function () {
17897
18253
  return XTakeWhile;
17898
18254
  }();
17899
18255
 
17900
- var _xtakeWhile =
17901
- /*#__PURE__*/
17902
- _curry2(function _xtakeWhile(f, xf) {
17903
- return new XTakeWhile(f, xf);
17904
- });
18256
+ function _xtakeWhile(f) {
18257
+ return function (xf) {
18258
+ return new XTakeWhile(f, xf);
18259
+ };
18260
+ }
17905
18261
 
17906
18262
  module.exports = _xtakeWhile;
17907
18263
 
@@ -17910,10 +18266,6 @@ module.exports = _xtakeWhile;
17910
18266
  /***/ 59524:
17911
18267
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17912
18268
 
17913
- var _curry2 =
17914
- /*#__PURE__*/
17915
- __webpack_require__(79002);
17916
-
17917
18269
  var _xfBase =
17918
18270
  /*#__PURE__*/
17919
18271
  __webpack_require__(93714);
@@ -17937,11 +18289,11 @@ function () {
17937
18289
  return XTap;
17938
18290
  }();
17939
18291
 
17940
- var _xtap =
17941
- /*#__PURE__*/
17942
- _curry2(function _xtap(f, xf) {
17943
- return new XTap(f, xf);
17944
- });
18292
+ function _xtap(f) {
18293
+ return function (xf) {
18294
+ return new XTap(f, xf);
18295
+ };
18296
+ }
17945
18297
 
17946
18298
  module.exports = _xtap;
17947
18299
 
@@ -17950,10 +18302,6 @@ module.exports = _xtap;
17950
18302
  /***/ 17284:
17951
18303
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17952
18304
 
17953
- var _curry2 =
17954
- /*#__PURE__*/
17955
- __webpack_require__(79002);
17956
-
17957
18305
  var _Set =
17958
18306
  /*#__PURE__*/
17959
18307
  __webpack_require__(8876);
@@ -17981,22 +18329,18 @@ function () {
17981
18329
  return XUniqBy;
17982
18330
  }();
17983
18331
 
17984
- var _xuniqBy =
17985
- /*#__PURE__*/
17986
- _curry2(function _xuniqBy(f, xf) {
17987
- return new XUniqBy(f, xf);
17988
- });
18332
+ function _xuniqBy(f) {
18333
+ return function (xf) {
18334
+ return new XUniqBy(f, xf);
18335
+ };
18336
+ }
17989
18337
 
17990
18338
  module.exports = _xuniqBy;
17991
18339
 
17992
18340
  /***/ }),
17993
18341
 
17994
18342
  /***/ 37130:
17995
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17996
-
17997
- var _curry2 =
17998
- /*#__PURE__*/
17999
- __webpack_require__(79002);
18343
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18000
18344
 
18001
18345
  var _includesWith =
18002
18346
  /*#__PURE__*/
@@ -18030,11 +18374,11 @@ function () {
18030
18374
  return XUniqWith;
18031
18375
  }();
18032
18376
 
18033
- var _xuniqWith =
18034
- /*#__PURE__*/
18035
- _curry2(function _xuniqWith(pred, xf) {
18036
- return new XUniqWith(pred, xf);
18037
- });
18377
+ function _xuniqWith(pred) {
18378
+ return function (xf) {
18379
+ return new XUniqWith(pred, xf);
18380
+ };
18381
+ }
18038
18382
 
18039
18383
  module.exports = _xuniqWith;
18040
18384
 
@@ -18076,10 +18420,6 @@ module.exports = _xwrap;
18076
18420
  /***/ 26921:
18077
18421
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18078
18422
 
18079
- var _includes =
18080
- /*#__PURE__*/
18081
- __webpack_require__(87243);
18082
-
18083
18423
  var _curry2 =
18084
18424
  /*#__PURE__*/
18085
18425
  __webpack_require__(79002);
@@ -18088,9 +18428,9 @@ var _filter =
18088
18428
  /*#__PURE__*/
18089
18429
  __webpack_require__(34877);
18090
18430
 
18091
- var flip =
18431
+ var _Set =
18092
18432
  /*#__PURE__*/
18093
- __webpack_require__(9134);
18433
+ __webpack_require__(8876);
18094
18434
 
18095
18435
  var uniq =
18096
18436
  /*#__PURE__*/
@@ -18117,17 +18457,13 @@ __webpack_require__(90086);
18117
18457
  var intersection =
18118
18458
  /*#__PURE__*/
18119
18459
  _curry2(function intersection(list1, list2) {
18120
- var lookupList, filteredList;
18460
+ var toKeep = new _Set();
18121
18461
 
18122
- if (list1.length > list2.length) {
18123
- lookupList = list1;
18124
- filteredList = list2;
18125
- } else {
18126
- lookupList = list2;
18127
- filteredList = list1;
18462
+ for (var i = 0; i < list1.length; i += 1) {
18463
+ toKeep.add(list1[i]);
18128
18464
  }
18129
18465
 
18130
- return uniq(_filter(flip(_includes)(lookupList), filteredList));
18466
+ return uniq(_filter(toKeep.has.bind(toKeep), list2));
18131
18467
  });
18132
18468
 
18133
18469
  module.exports = intersection;
@@ -18192,10 +18528,6 @@ module.exports = intersperse;
18192
18528
  /***/ 33795:
18193
18529
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18194
18530
 
18195
- var _clone =
18196
- /*#__PURE__*/
18197
- __webpack_require__(45114);
18198
-
18199
18531
  var _curry3 =
18200
18532
  /*#__PURE__*/
18201
18533
  __webpack_require__(16370);
@@ -18204,9 +18536,9 @@ var _isTransformer =
18204
18536
  /*#__PURE__*/
18205
18537
  __webpack_require__(69082);
18206
18538
 
18207
- var _reduce =
18539
+ var _xReduce =
18208
18540
  /*#__PURE__*/
18209
- __webpack_require__(39488);
18541
+ __webpack_require__(89632);
18210
18542
 
18211
18543
  var _stepCat =
18212
18544
  /*#__PURE__*/
@@ -18254,8 +18586,9 @@ __webpack_require__(74745);
18254
18586
 
18255
18587
  var into =
18256
18588
  /*#__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);
18589
+ _curry3(function into(acc, transducer, list) {
18590
+ var xf = transducer(_isTransformer(acc) ? acc : _stepCat(acc));
18591
+ return _xReduce(xf, xf['@@transducer/init'](), list);
18259
18592
  });
18260
18593
 
18261
18594
  module.exports = into;
@@ -18402,11 +18735,10 @@ var toString =
18402
18735
  /*#__PURE__*/
18403
18736
  __webpack_require__(15243);
18404
18737
  /**
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.
18738
+ * Given an `arity` (Number) and a `name` (String) the `invoker` function
18739
+ * returns a curried function that takes `arity` arguments and a `context`
18740
+ * object. It will "invoke" the `name`'d function (a method) on the `context`
18741
+ * object.
18410
18742
  *
18411
18743
  * @func
18412
18744
  * @memberOf R
@@ -18419,17 +18751,26 @@ __webpack_require__(15243);
18419
18751
  * @return {Function} A new curried function.
18420
18752
  * @see R.construct
18421
18753
  * @example
18754
+ * // A function with no arguments
18755
+ * const asJson = invoker(0, "json")
18756
+ * // Just like calling .then((response) => response.json())
18757
+ * fetch("http://example.com/index.json").then(asJson)
18422
18758
  *
18423
- * const sliceFrom = R.invoker(1, 'slice');
18759
+ * // A function with one argument
18760
+ * const sliceFrom = invoker(1, 'slice');
18424
18761
  * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'
18425
- * const sliceFrom6 = R.invoker(2, 'slice')(6);
18762
+ *
18763
+ * // A function with two arguments
18764
+ * const sliceFrom6 = invoker(2, 'slice')(6);
18426
18765
  * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'
18427
18766
  *
18428
- * const dog = {
18429
- * speak: async () => 'Woof!'
18430
- * };
18431
- * const speak = R.invoker(0, 'speak');
18432
- * speak(dog).then(console.log) //~> 'Woof!'
18767
+ * // NOTE: You can't simply pass some of the arguments to the initial invoker function.
18768
+ * const firstCreditCardSection = invoker(2, "slice", 0, 4)
18769
+ * firstCreditCardSection("4242 4242 4242 4242") // => Function<...>
18770
+ *
18771
+ * // Since invoker returns a curried function, you may partially apply it to create the function you need.
18772
+ * const firstCreditCardSection = invoker(2, "slice")(0, 4)
18773
+ * firstCreditCardSection("4242 4242 4242 4242") // => "4242"
18433
18774
  *
18434
18775
  * @symb R.invoker(0, 'method')(o) = o['method']()
18435
18776
  * @symb R.invoker(1, 'method')(a, o) = o['method'](a)
@@ -18580,6 +18921,45 @@ module.exports = isNil;
18580
18921
 
18581
18922
  /***/ }),
18582
18923
 
18924
+ /***/ 91533:
18925
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18926
+
18927
+ var isNil =
18928
+ /*#__PURE__*/
18929
+ __webpack_require__(13657);
18930
+
18931
+ var _curry1 =
18932
+ /*#__PURE__*/
18933
+ __webpack_require__(76224);
18934
+ /**
18935
+ * Checks if the input value is not `null` and not `undefined`.
18936
+ *
18937
+ * @func
18938
+ * @memberOf R
18939
+ * @since v0.29.0
18940
+ * @category Type
18941
+ * @sig * -> Boolean
18942
+ * @param {*} x The value to test.
18943
+ * @return {Boolean} `true` if `x` is not `undefined` or not `null`, otherwise `false`.
18944
+ * @example
18945
+ *
18946
+ * R.isNotNil(null); //=> false
18947
+ * R.isNotNil(undefined); //=> false
18948
+ * R.isNotNil(0); //=> true
18949
+ * R.isNotNil([]); //=> true
18950
+ */
18951
+
18952
+
18953
+ var isNotNil =
18954
+ /*#__PURE__*/
18955
+ _curry1(function isNotNil(x) {
18956
+ return !isNil(x);
18957
+ });
18958
+
18959
+ module.exports = isNotNil;
18960
+
18961
+ /***/ }),
18962
+
18583
18963
  /***/ 18231:
18584
18964
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18585
18965
 
@@ -19194,9 +19574,9 @@ var _curry2 =
19194
19574
  /*#__PURE__*/
19195
19575
  __webpack_require__(79002);
19196
19576
 
19197
- var _reduce =
19577
+ var _arrayReduce =
19198
19578
  /*#__PURE__*/
19199
- __webpack_require__(39488);
19579
+ __webpack_require__(20854);
19200
19580
 
19201
19581
  var ap =
19202
19582
  /*#__PURE__*/
@@ -19233,7 +19613,7 @@ var liftN =
19233
19613
  _curry2(function liftN(arity, fn) {
19234
19614
  var lifted = curryN(arity, fn);
19235
19615
  return curryN(arity, function () {
19236
- return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));
19616
+ return _arrayReduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));
19237
19617
  });
19238
19618
  });
19239
19619
 
@@ -19322,6 +19702,10 @@ module.exports = lte;
19322
19702
  /***/ 61894:
19323
19703
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
19324
19704
 
19705
+ var _arrayReduce =
19706
+ /*#__PURE__*/
19707
+ __webpack_require__(20854);
19708
+
19325
19709
  var _curry2 =
19326
19710
  /*#__PURE__*/
19327
19711
  __webpack_require__(79002);
@@ -19334,10 +19718,6 @@ var _map =
19334
19718
  /*#__PURE__*/
19335
19719
  __webpack_require__(36692);
19336
19720
 
19337
- var _reduce =
19338
- /*#__PURE__*/
19339
- __webpack_require__(39488);
19340
-
19341
19721
  var _xmap =
19342
19722
  /*#__PURE__*/
19343
19723
  __webpack_require__(72894);
@@ -19398,7 +19778,7 @@ _dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {
19398
19778
  });
19399
19779
 
19400
19780
  case '[object Object]':
19401
- return _reduce(function (acc, key) {
19781
+ return _arrayReduce(function (acc, key) {
19402
19782
  acc[key] = fn(functor[key]);
19403
19783
  return acc;
19404
19784
  }, {}, keys(functor));
@@ -19543,13 +19923,13 @@ module.exports = mapAccumRight;
19543
19923
  /***/ 90013:
19544
19924
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
19545
19925
 
19546
- var _curry2 =
19926
+ var _arrayReduce =
19547
19927
  /*#__PURE__*/
19548
- __webpack_require__(79002);
19928
+ __webpack_require__(20854);
19549
19929
 
19550
- var _reduce =
19930
+ var _curry2 =
19551
19931
  /*#__PURE__*/
19552
- __webpack_require__(39488);
19932
+ __webpack_require__(79002);
19553
19933
 
19554
19934
  var keys =
19555
19935
  /*#__PURE__*/
@@ -19580,7 +19960,7 @@ __webpack_require__(90368);
19580
19960
  var mapObjIndexed =
19581
19961
  /*#__PURE__*/
19582
19962
  _curry2(function mapObjIndexed(fn, obj) {
19583
- return _reduce(function (acc, key) {
19963
+ return _arrayReduce(function (acc, key) {
19584
19964
  acc[key] = fn(obj[key], key, obj);
19585
19965
  return acc;
19586
19966
  }, {}, keys(obj));
@@ -19698,6 +20078,10 @@ module.exports = mathMod;
19698
20078
  var _curry2 =
19699
20079
  /*#__PURE__*/
19700
20080
  __webpack_require__(79002);
20081
+
20082
+ var toString =
20083
+ /*#__PURE__*/
20084
+ __webpack_require__(15243);
19701
20085
  /**
19702
20086
  * Returns the larger of its two arguments.
19703
20087
  *
@@ -19720,7 +20104,38 @@ __webpack_require__(79002);
19720
20104
  var max =
19721
20105
  /*#__PURE__*/
19722
20106
  _curry2(function max(a, b) {
19723
- return b > a ? b : a;
20107
+ if (a === b) {
20108
+ return b;
20109
+ }
20110
+
20111
+ function safeMax(x, y) {
20112
+ if (x > y !== y > x) {
20113
+ return y > x ? y : x;
20114
+ }
20115
+
20116
+ return undefined;
20117
+ }
20118
+
20119
+ var maxByValue = safeMax(a, b);
20120
+
20121
+ if (maxByValue !== undefined) {
20122
+ return maxByValue;
20123
+ }
20124
+
20125
+ var maxByType = safeMax(typeof a, typeof b);
20126
+
20127
+ if (maxByType !== undefined) {
20128
+ return maxByType === typeof a ? a : b;
20129
+ }
20130
+
20131
+ var stringA = toString(a);
20132
+ var maxByStringValue = safeMax(stringA, toString(b));
20133
+
20134
+ if (maxByStringValue !== undefined) {
20135
+ return maxByStringValue === stringA ? a : b;
20136
+ }
20137
+
20138
+ return b;
19724
20139
  });
19725
20140
 
19726
20141
  module.exports = max;
@@ -19733,6 +20148,10 @@ module.exports = max;
19733
20148
  var _curry3 =
19734
20149
  /*#__PURE__*/
19735
20150
  __webpack_require__(16370);
20151
+
20152
+ var max =
20153
+ /*#__PURE__*/
20154
+ __webpack_require__(21186);
19736
20155
  /**
19737
20156
  * Takes a function and two values, and returns whichever value produces the
19738
20157
  * larger result when passed to the provided function.
@@ -19762,7 +20181,8 @@ __webpack_require__(16370);
19762
20181
  var maxBy =
19763
20182
  /*#__PURE__*/
19764
20183
  _curry3(function maxBy(f, a, b) {
19765
- return f(b) > f(a) ? b : a;
20184
+ var resultB = f(b);
20185
+ return max(f(a), resultB) === resultB ? b : a;
19766
20186
  });
19767
20187
 
19768
20188
  module.exports = maxBy;
@@ -19871,13 +20291,18 @@ var _has =
19871
20291
  /*#__PURE__*/
19872
20292
  __webpack_require__(87684);
19873
20293
  /**
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.
20294
+ * Takes a string-returning function `keyGen` and a function `fn` and returns
20295
+ * a new function that returns cached results for subsequent
20296
+ * calls with the same arguments.
20297
+ *
20298
+ * When the function is invoked, `keyGen` is applied to the same arguments
20299
+ * and its result becomes the cache key. If the cache contains something
20300
+ * under that key, the function simply returns it and does not invoke `fn` at all.
20301
+ *
20302
+ * Otherwise `fn` is applied to the same arguments and its return value
20303
+ * is cached under that key and returned by the function.
19879
20304
  *
19880
- * Care must be taken when implementing key generation to avoid key collision,
20305
+ * Care must be taken when implementing `keyGen` to avoid key collision,
19881
20306
  * or if tracking references, memory leaks and mutating arguments.
19882
20307
  *
19883
20308
  * @func
@@ -19885,29 +20310,32 @@ __webpack_require__(87684);
19885
20310
  * @since v0.24.0
19886
20311
  * @category Function
19887
20312
  * @sig (*... -> String) -> (*... -> a) -> (*... -> a)
19888
- * @param {Function} fn The function to generate the cache key.
20313
+ * @param {Function} keyGen The function to generate the cache key.
19889
20314
  * @param {Function} fn The function to memoize.
19890
20315
  * @return {Function} Memoized version of `fn`.
19891
20316
  * @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));
20317
+ * const withAge = memoizeWith(o => `${o.birth}/${o.death}`, ({birth, death}) => {
20318
+ * // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^
20319
+ * // keyGen fn
20320
+ * console.log(`computing age for ${birth}/${death}`);
20321
+ * return ({birth, death, age: death - birth});
19897
20322
  * });
19898
- * factorial(5); //=> 120
19899
- * factorial(5); //=> 120
19900
- * factorial(5); //=> 120
19901
- * count; //=> 1
20323
+ *
20324
+ * withAge({birth: 1921, death: 1999});
20325
+ * //=> LOG: computing age for 1921/1999
20326
+ * //=> {birth: 1921, death: 1999, age: 78} (returned from fn)
20327
+ *
20328
+ * withAge({birth: 1921, death: 1999});
20329
+ * //=> {birth: 1921, death: 1999, age: 78} (returned from cache)
19902
20330
  */
19903
20331
 
19904
20332
 
19905
20333
  var memoizeWith =
19906
20334
  /*#__PURE__*/
19907
- _curry2(function memoizeWith(mFn, fn) {
20335
+ _curry2(function memoizeWith(keyGen, fn) {
19908
20336
  var cache = {};
19909
20337
  return _arity(fn.length, function () {
19910
- var key = mFn.apply(this, arguments);
20338
+ var key = keyGen.apply(this, arguments);
19911
20339
 
19912
20340
  if (!_has(key, cache)) {
19913
20341
  cache[key] = fn.apply(this, arguments);
@@ -20342,6 +20770,8 @@ var mergeWithKey =
20342
20770
  _curry3(function mergeWithKey(fn, l, r) {
20343
20771
  var result = {};
20344
20772
  var k;
20773
+ l = l || {};
20774
+ r = r || {};
20345
20775
 
20346
20776
  for (k in l) {
20347
20777
  if (_has(k, l)) {
@@ -20368,6 +20798,10 @@ module.exports = mergeWithKey;
20368
20798
  var _curry2 =
20369
20799
  /*#__PURE__*/
20370
20800
  __webpack_require__(79002);
20801
+
20802
+ var toString =
20803
+ /*#__PURE__*/
20804
+ __webpack_require__(15243);
20371
20805
  /**
20372
20806
  * Returns the smaller of its two arguments.
20373
20807
  *
@@ -20390,7 +20824,38 @@ __webpack_require__(79002);
20390
20824
  var min =
20391
20825
  /*#__PURE__*/
20392
20826
  _curry2(function min(a, b) {
20393
- return b < a ? b : a;
20827
+ if (a === b) {
20828
+ return a;
20829
+ }
20830
+
20831
+ function safeMin(x, y) {
20832
+ if (x < y !== y < x) {
20833
+ return y < x ? y : x;
20834
+ }
20835
+
20836
+ return undefined;
20837
+ }
20838
+
20839
+ var minByValue = safeMin(a, b);
20840
+
20841
+ if (minByValue !== undefined) {
20842
+ return minByValue;
20843
+ }
20844
+
20845
+ var minByType = safeMin(typeof a, typeof b);
20846
+
20847
+ if (minByType !== undefined) {
20848
+ return minByType === typeof a ? a : b;
20849
+ }
20850
+
20851
+ var stringA = toString(a);
20852
+ var minByStringValue = safeMin(stringA, toString(b));
20853
+
20854
+ if (minByStringValue !== undefined) {
20855
+ return minByStringValue === stringA ? a : b;
20856
+ }
20857
+
20858
+ return a;
20394
20859
  });
20395
20860
 
20396
20861
  module.exports = min;
@@ -20403,6 +20868,10 @@ module.exports = min;
20403
20868
  var _curry3 =
20404
20869
  /*#__PURE__*/
20405
20870
  __webpack_require__(16370);
20871
+
20872
+ var min =
20873
+ /*#__PURE__*/
20874
+ __webpack_require__(25624);
20406
20875
  /**
20407
20876
  * Takes a function and two values, and returns whichever value produces the
20408
20877
  * smaller result when passed to the provided function.
@@ -20432,7 +20901,8 @@ __webpack_require__(16370);
20432
20901
  var minBy =
20433
20902
  /*#__PURE__*/
20434
20903
  _curry3(function minBy(f, a, b) {
20435
- return f(b) < f(a) ? b : a;
20904
+ var resultB = f(b);
20905
+ return min(f(a), resultB) === resultB ? b : a;
20436
20906
  });
20437
20907
 
20438
20908
  module.exports = minBy;
@@ -21099,15 +21569,16 @@ module.exports = objOf;
21099
21569
  /***/ 70682:
21100
21570
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
21101
21571
 
21102
- var _curry1 =
21103
- /*#__PURE__*/
21104
- __webpack_require__(76224);
21105
-
21106
- var _of =
21572
+ var _curry2 =
21107
21573
  /*#__PURE__*/
21108
- __webpack_require__(58791);
21574
+ __webpack_require__(79002);
21109
21575
  /**
21110
- * Returns a singleton array containing the value provided.
21576
+ * Given a constructor and a value, returns a new instance of that constructor
21577
+ * containing the value.
21578
+ *
21579
+ * Dispatches to the `fantasy-land/of` method of the constructor first (if present)
21580
+ * or to the `of` method last (if present). When neither are present, wraps the
21581
+ * value in an array.
21111
21582
  *
21112
21583
  * Note this `of` is different from the ES6 `of`; See
21113
21584
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of
@@ -21116,19 +21587,23 @@ __webpack_require__(58791);
21116
21587
  * @memberOf R
21117
21588
  * @since v0.3.0
21118
21589
  * @category Function
21119
- * @sig a -> [a]
21120
- * @param {*} x any value
21121
- * @return {Array} An array wrapping `x`.
21590
+ * @sig (* -> {*}) -> a -> {a}
21591
+ * @param {Object} Ctor A constructor
21592
+ * @param {*} val any value
21593
+ * @return {*} An instance of the `Ctor` wrapping `val`.
21122
21594
  * @example
21123
21595
  *
21124
- * R.of(null); //=> [null]
21125
- * R.of([42]); //=> [[42]]
21596
+ * R.of(Array, 42); //=> [42]
21597
+ * R.of(Array, [42]); //=> [[42]]
21598
+ * R.of(Maybe, 42); //=> Maybe.Just(42)
21126
21599
  */
21127
21600
 
21128
21601
 
21129
21602
  var of =
21130
21603
  /*#__PURE__*/
21131
- _curry1(_of);
21604
+ _curry2(function of(Ctor, val) {
21605
+ return typeof Ctor['fantasy-land/of'] === 'function' ? Ctor['fantasy-land/of'](val) : typeof Ctor.of === 'function' ? Ctor.of(val) : [val];
21606
+ });
21132
21607
 
21133
21608
  module.exports = of;
21134
21609
 
@@ -21211,7 +21686,7 @@ __webpack_require__(32738);
21211
21686
  * const eqBy = R.on((a, b) => a === b);
21212
21687
  * eqBy(R.prop('a'), {b:0, a:1}, {a:1}) //=> true;
21213
21688
  *
21214
- * const containsInsensitive = R.on(R.contains, R.toLower);
21689
+ * const containsInsensitive = R.on(R.includes, R.toLower);
21215
21690
  * containsInsensitive('o', 'FOO'); //=> true
21216
21691
  * @symb R.on(f, g, a, b) = f(g(a), g(b))
21217
21692
  */
@@ -21545,10 +22020,12 @@ __webpack_require__(79002);
21545
22020
  */
21546
22021
 
21547
22022
 
21548
- module.exports =
22023
+ var partialObject =
21549
22024
  /*#__PURE__*/
21550
22025
  _curry2((f, o) => props => f.call(this, mergeDeepRight(o, props)));
21551
22026
 
22027
+ module.exports = partialObject;
22028
+
21552
22029
  /***/ }),
21553
22030
 
21554
22031
  /***/ 69025:
@@ -21659,7 +22136,8 @@ var paths =
21659
22136
  /*#__PURE__*/
21660
22137
  __webpack_require__(84439);
21661
22138
  /**
21662
- * Retrieve the value at a given path.
22139
+ * Retrieves the value at a given path. The nodes of the path can be arbitrary strings or non-negative integers.
22140
+ * For anything else, the value is unspecified. Integer paths are meant to index arrays, strings are meant for objects.
21663
22141
  *
21664
22142
  * @func
21665
22143
  * @memberOf R
@@ -21667,16 +22145,19 @@ __webpack_require__(84439);
21667
22145
  * @category Object
21668
22146
  * @typedefn Idx = String | Int | Symbol
21669
22147
  * @sig [Idx] -> {a} -> a | Undefined
22148
+ * @sig Idx = String | NonNegativeInt
21670
22149
  * @param {Array} path The path to use.
21671
- * @param {Object} obj The object to retrieve the nested property from.
22150
+ * @param {Object} obj The object or array to retrieve the nested property from.
21672
22151
  * @return {*} The data at `path`.
21673
- * @see R.prop, R.nth
22152
+ * @see R.prop, R.nth, R.assocPath, R.dissocPath
21674
22153
  * @example
21675
22154
  *
21676
22155
  * R.path(['a', 'b'], {a: {b: 2}}); //=> 2
21677
22156
  * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined
21678
22157
  * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1
21679
22158
  * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2
22159
+ * R.path([2], {'2': 2}); //=> 2
22160
+ * R.path([-2], {'-2': 'a'}); //=> undefined
21680
22161
  */
21681
22162
 
21682
22163
 
@@ -21713,26 +22194,27 @@ __webpack_require__(87430);
21713
22194
  * @since v0.7.0
21714
22195
  * @category Relation
21715
22196
  * @typedefn Idx = String | Int | Symbol
21716
- * @sig [Idx] -> a -> {a} -> Boolean
21717
- * @param {Array} path The path of the nested property to use
22197
+ * @sig a -> [Idx] -> {a} -> Boolean
21718
22198
  * @param {*} val The value to compare the nested property with
22199
+ * @param {Array} path The path of the nested property to use
21719
22200
  * @param {Object} obj The object to check the nested property in
21720
22201
  * @return {Boolean} `true` if the value equals the nested object property,
21721
22202
  * `false` otherwise.
22203
+ * @see R.whereEq, R.propEq, R.pathSatisfies, R.equals
21722
22204
  * @example
21723
22205
  *
21724
22206
  * const user1 = { address: { zipCode: 90210 } };
21725
22207
  * const user2 = { address: { zipCode: 55555 } };
21726
22208
  * const user3 = { name: 'Bob' };
21727
22209
  * const users = [ user1, user2, user3 ];
21728
- * const isFamous = R.pathEq(['address', 'zipCode'], 90210);
22210
+ * const isFamous = R.pathEq(90210, ['address', 'zipCode']);
21729
22211
  * R.filter(isFamous, users); //=> [ user1 ]
21730
22212
  */
21731
22213
 
21732
22214
 
21733
22215
  var pathEq =
21734
22216
  /*#__PURE__*/
21735
- _curry3(function pathEq(_path, val, obj) {
22217
+ _curry3(function pathEq(val, _path, obj) {
21736
22218
  return equals(path(_path, obj), val);
21737
22219
  });
21738
22220
 
@@ -22455,18 +22937,20 @@ __webpack_require__(51481);
22455
22937
  /**
22456
22938
  * Returns `true` if the specified object property is equal, in
22457
22939
  * [`R.equals`](#equals) terms, to the given value; `false` otherwise.
22458
- * You can test multiple properties with [`R.whereEq`](#whereEq).
22940
+ * You can test multiple properties with [`R.whereEq`](#whereEq),
22941
+ * and test nested path property with [`R.pathEq`](#pathEq).
22459
22942
  *
22460
22943
  * @func
22461
22944
  * @memberOf R
22462
22945
  * @since v0.1.0
22463
22946
  * @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
22947
+ * @sig a -> String -> Object -> Boolean
22948
+ * @param {*} val The value to compare the property with
22949
+ * @param {String} name the specified object property's key
22950
+ * @param {*} obj The object to check the property in
22951
+ * @return {Boolean} `true` if the value equals the specified object property,
22952
+ * `false` otherwise.
22953
+ * @see R.whereEq, R.pathEq, R.propSatisfies, R.equals
22470
22954
  * @example
22471
22955
  *
22472
22956
  * const abby = {name: 'Abby', age: 7, hair: 'blond'};
@@ -22474,14 +22958,14 @@ __webpack_require__(51481);
22474
22958
  * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};
22475
22959
  * const alois = {name: 'Alois', age: 15, disposition: 'surly'};
22476
22960
  * const kids = [abby, fred, rusty, alois];
22477
- * const hasBrownHair = R.propEq('hair', 'brown');
22961
+ * const hasBrownHair = R.propEq('brown', 'hair');
22478
22962
  * R.filter(hasBrownHair, kids); //=> [fred, rusty]
22479
22963
  */
22480
22964
 
22481
22965
 
22482
22966
  var propEq =
22483
22967
  /*#__PURE__*/
22484
- _curry3(function propEq(name, val, obj) {
22968
+ _curry3(function propEq(val, name, obj) {
22485
22969
  return equals(val, prop(name, obj));
22486
22970
  });
22487
22971
 
@@ -22731,9 +23215,13 @@ var _curry3 =
22731
23215
  /*#__PURE__*/
22732
23216
  __webpack_require__(16370);
22733
23217
 
22734
- var _reduce =
23218
+ var _xReduce =
22735
23219
  /*#__PURE__*/
22736
- __webpack_require__(39488);
23220
+ __webpack_require__(89632);
23221
+
23222
+ var _xwrap =
23223
+ /*#__PURE__*/
23224
+ __webpack_require__(39874);
22737
23225
  /**
22738
23226
  * Returns a single item by iterating through the list, successively calling
22739
23227
  * the iterator function and passing it an accumulator value and the current
@@ -22750,6 +23238,12 @@ __webpack_require__(39488);
22750
23238
  * on this behavior, see:
22751
23239
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description
22752
23240
  *
23241
+ * Be cautious of mutating and returning the accumulator. If you reuse it across
23242
+ * invocations, it will continue to accumulate onto the same value. The general
23243
+ * recommendation is to always return a new value. If you can't do so for
23244
+ * performance reasons, then be sure to reinitialize the accumulator on each
23245
+ * invocation.
23246
+ *
22753
23247
  * Dispatches to the `reduce` method of the third argument, if present. When
22754
23248
  * doing so, it is up to the user to handle the [`R.reduced`](#reduced)
22755
23249
  * shortcuting, as this is not implemented by `reduce`.
@@ -22784,7 +23278,9 @@ __webpack_require__(39488);
22784
23278
 
22785
23279
  var reduce =
22786
23280
  /*#__PURE__*/
22787
- _curry3(_reduce);
23281
+ _curry3(function (xf, acc, list) {
23282
+ return _xReduce(typeof xf === 'function' ? _xwrap(xf) : xf, acc, list);
23283
+ });
22788
23284
 
22789
23285
  module.exports = reduce;
22790
23286
 
@@ -22809,17 +23305,21 @@ var _has =
22809
23305
  /*#__PURE__*/
22810
23306
  __webpack_require__(87684);
22811
23307
 
22812
- var _reduce =
22813
- /*#__PURE__*/
22814
- __webpack_require__(39488);
22815
-
22816
23308
  var _reduced =
22817
23309
  /*#__PURE__*/
22818
23310
  __webpack_require__(22157);
22819
23311
 
23312
+ var _xReduce =
23313
+ /*#__PURE__*/
23314
+ __webpack_require__(89632);
23315
+
22820
23316
  var _xreduceBy =
22821
23317
  /*#__PURE__*/
22822
23318
  __webpack_require__(57744);
23319
+
23320
+ var _xwrap =
23321
+ /*#__PURE__*/
23322
+ __webpack_require__(39874);
22823
23323
  /**
22824
23324
  * Groups the elements of the list according to the result of calling
22825
23325
  * the String-returning function `keyFn` on each element and reduces the elements
@@ -22871,9 +23371,9 @@ var reduceBy =
22871
23371
  _curryN(4, [],
22872
23372
  /*#__PURE__*/
22873
23373
  _dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {
22874
- return _reduce(function (acc, elt) {
23374
+ var xf = _xwrap(function (acc, elt) {
22875
23375
  var key = keyFn(elt);
22876
- var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);
23376
+ var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, false), elt);
22877
23377
 
22878
23378
  if (value && value['@@transducer/reduced']) {
22879
23379
  return _reduced(acc);
@@ -22881,7 +23381,9 @@ _dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list)
22881
23381
 
22882
23382
  acc[key] = value;
22883
23383
  return acc;
22884
- }, {}, list);
23384
+ });
23385
+
23386
+ return _xReduce(xf, {}, list);
22885
23387
  }));
22886
23388
 
22887
23389
  module.exports = reduceBy;
@@ -22911,6 +23413,12 @@ __webpack_require__(16370);
22911
23413
  * on this behavior, see:
22912
23414
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description
22913
23415
  *
23416
+ * Be cautious of mutating and returning the accumulator. If you reuse it across
23417
+ * invocations, it will continue to accumulate onto the same value. The general
23418
+ * recommendation is to always return a new value. If you can't do so for
23419
+ * performance reasons, then be sure to reinitialize the accumulator on each
23420
+ * invocation.
23421
+ *
22914
23422
  * @func
22915
23423
  * @memberOf R
22916
23424
  * @since v0.1.0
@@ -22969,9 +23477,13 @@ var _curryN =
22969
23477
  /*#__PURE__*/
22970
23478
  __webpack_require__(32738);
22971
23479
 
22972
- var _reduce =
23480
+ var _xReduce =
22973
23481
  /*#__PURE__*/
22974
- __webpack_require__(39488);
23482
+ __webpack_require__(89632);
23483
+
23484
+ var _xwrap =
23485
+ /*#__PURE__*/
23486
+ __webpack_require__(39874);
22975
23487
 
22976
23488
  var _reduced =
22977
23489
  /*#__PURE__*/
@@ -23011,9 +23523,11 @@ __webpack_require__(22157);
23011
23523
  var reduceWhile =
23012
23524
  /*#__PURE__*/
23013
23525
  _curryN(4, [], function _reduceWhile(pred, fn, a, list) {
23014
- return _reduce(function (acc, x) {
23526
+ var xf = _xwrap(function (acc, x) {
23015
23527
  return pred(acc, x) ? fn(acc, x) : _reduced(acc);
23016
- }, a, list);
23528
+ });
23529
+
23530
+ return _xReduce(xf, a, list);
23017
23531
  });
23018
23532
 
23019
23533
  module.exports = reduceWhile;
@@ -23300,9 +23814,19 @@ module.exports = reverse;
23300
23814
  var _curry3 =
23301
23815
  /*#__PURE__*/
23302
23816
  __webpack_require__(16370);
23817
+
23818
+ var _dispatchable =
23819
+ /*#__PURE__*/
23820
+ __webpack_require__(34793);
23821
+
23822
+ var _xscan =
23823
+ /*#__PURE__*/
23824
+ __webpack_require__(4465);
23303
23825
  /**
23304
23826
  * Scan is similar to [`reduce`](#reduce), but returns a list of successively
23305
- * reduced values from the left
23827
+ * reduced values from the left.
23828
+ *
23829
+ * Acts as a transducer if a transformer is given in list position.
23306
23830
  *
23307
23831
  * @func
23308
23832
  * @memberOf R
@@ -23325,7 +23849,9 @@ __webpack_require__(16370);
23325
23849
 
23326
23850
  var scan =
23327
23851
  /*#__PURE__*/
23328
- _curry3(function scan(fn, acc, list) {
23852
+ _curry3(
23853
+ /*#__PURE__*/
23854
+ _dispatchable([], _xscan, function scan(fn, acc, list) {
23329
23855
  var idx = 0;
23330
23856
  var len = list.length;
23331
23857
  var result = [acc];
@@ -23337,7 +23863,7 @@ _curry3(function scan(fn, acc, list) {
23337
23863
  }
23338
23864
 
23339
23865
  return result;
23340
- });
23866
+ }));
23341
23867
 
23342
23868
  module.exports = scan;
23343
23869
 
@@ -23365,19 +23891,25 @@ __webpack_require__(80409);
23365
23891
  var reduceRight =
23366
23892
  /*#__PURE__*/
23367
23893
  __webpack_require__(47981);
23894
+
23895
+ var identity =
23896
+ /*#__PURE__*/
23897
+ __webpack_require__(50339);
23368
23898
  /**
23369
23899
  * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)
23370
23900
  * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an
23371
23901
  * Applicative of Traversable.
23372
23902
  *
23373
- * Dispatches to the `sequence` method of the second argument, if present.
23903
+ * Dispatches to the `"fantasy-land/traverse"` or the `traverse` method of the second argument, if present.
23374
23904
  *
23375
23905
  * @func
23376
23906
  * @memberOf R
23377
23907
  * @since v0.19.0
23378
23908
  * @category List
23909
+ * @sig fantasy-land/of :: TypeRep f => f ~> a -> f a
23910
+ * @sig (Applicative f, Traversable t) => TypeRep f -> t (f a) -> f (t a)
23379
23911
  * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)
23380
- * @param {Function} of
23912
+ * @param {Object|Function} TypeRepresentative with an `of` or `fantasy-land/of` method
23381
23913
  * @param {*} traversable
23382
23914
  * @return {*}
23383
23915
  * @see R.traverse
@@ -23386,15 +23918,19 @@ __webpack_require__(47981);
23386
23918
  * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])
23387
23919
  * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()
23388
23920
  *
23389
- * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]
23390
- * R.sequence(R.of, Nothing()); //=> [Nothing()]
23921
+ * R.sequence(R.of(Array), Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]
23922
+ * R.sequence(R.of(Array), Nothing()); //=> [Nothing()]
23391
23923
  */
23392
23924
 
23393
23925
 
23394
23926
  var sequence =
23395
23927
  /*#__PURE__*/
23396
- _curry2(function sequence(of, traversable) {
23397
- return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) {
23928
+ _curry2(function sequence(F, traversable) {
23929
+ var of = typeof F['fantasy-land/of'] === 'function' ? F['fantasy-land/of'] : typeof F.of === 'function' ? F.of : F;
23930
+ var TypeRep = {
23931
+ 'fantasy-land/of': of
23932
+ };
23933
+ 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
23934
  return ap(map(prepend, x), acc);
23399
23935
  }, of([]), traversable);
23400
23936
  });
@@ -23999,6 +24535,104 @@ module.exports = sum;
23999
24535
 
24000
24536
  /***/ }),
24001
24537
 
24538
+ /***/ 59776:
24539
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
24540
+
24541
+ var _curry3 =
24542
+ /*#__PURE__*/
24543
+ __webpack_require__(16370);
24544
+
24545
+ var _isArray =
24546
+ /*#__PURE__*/
24547
+ __webpack_require__(20219);
24548
+
24549
+ var _isString =
24550
+ /*#__PURE__*/
24551
+ __webpack_require__(20190);
24552
+
24553
+ var clone =
24554
+ /*#__PURE__*/
24555
+ __webpack_require__(91549);
24556
+
24557
+ var swapObject = function (indexA, indexB, o) {
24558
+ var copy = clone(o);
24559
+ var properties = Object.getOwnPropertyNames(copy);
24560
+
24561
+ if (properties.includes(indexA) && properties.includes(indexB)) {
24562
+ var tmp = copy[indexA];
24563
+ copy[indexA] = copy[indexB];
24564
+ copy[indexB] = tmp;
24565
+ }
24566
+
24567
+ return copy;
24568
+ };
24569
+
24570
+ var swapList = function (indexA, indexB, list) {
24571
+ var length = list.length;
24572
+ var result = list.slice();
24573
+ var positiveIndexA = indexA < 0 ? length + indexA : indexA;
24574
+ var positiveIndexB = indexB < 0 ? length + indexB : indexB;
24575
+ var positiveMin = Math.min(positiveIndexA, positiveIndexB);
24576
+ var positiveMax = Math.max(positiveIndexA, positiveIndexB);
24577
+
24578
+ if (positiveIndexA < 0 || positiveIndexA > length) {
24579
+ return result;
24580
+ }
24581
+
24582
+ if (positiveIndexB < 0 || positiveIndexB > length) {
24583
+ return result;
24584
+ }
24585
+
24586
+ if (positiveIndexA === positiveIndexB) {
24587
+ return result;
24588
+ }
24589
+
24590
+ result = [].concat(result.slice(0, positiveMin)).concat(result[positiveMax]).concat(result.slice(positiveMin + 1, positiveMax)).concat(result[positiveMin]).concat(result.slice(positiveMax + 1, length));
24591
+ return result;
24592
+ };
24593
+
24594
+ var swapString = function (indexA, indexB, s) {
24595
+ var result = swapList(indexA, indexB, s);
24596
+ return _isArray(result) ? result.join('') : result;
24597
+ };
24598
+ /**
24599
+ * Swap an item, at index `indexA` with another item, at index `indexB`, in an object or a list of elements.
24600
+ * A new result will be created containing the new elements order.
24601
+ *
24602
+ * @func
24603
+ * @memberOf R
24604
+ * @since v0.29.0
24605
+ * @category List
24606
+ * @sig Number -> Number -> [a] -> [a]
24607
+ * @param {Number|string|Object} indexA The first index
24608
+ * @param {Number|string|Object} indexB The second index
24609
+ * @param {Array|Object} o Either the object or list which will serve to realise the swap
24610
+ * @return {Array|Object} The new object or list reordered
24611
+ * @example
24612
+ *
24613
+ * R.swap(0, 2, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['c', 'b', 'a', 'd', 'e', 'f']
24614
+ * R.swap(-1, 0, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['f', 'b', 'c', 'd', 'e', 'a'] list rotation
24615
+ * R.swap('a', 'b', {a: 1, b: 2}); //=> {a: 2, b: 2}
24616
+ * R.swap(0, 2, 'foo'); //=> 'oof'
24617
+ */
24618
+
24619
+
24620
+ var swap =
24621
+ /*#__PURE__*/
24622
+ _curry3(function (indexA, indexB, o) {
24623
+ if (_isArray(o)) {
24624
+ return swapList(indexA, indexB, o);
24625
+ } else if (_isString(o)) {
24626
+ return swapString(indexA, indexB, o);
24627
+ } else {
24628
+ return swapObject(indexA, indexB, o);
24629
+ }
24630
+ });
24631
+
24632
+ module.exports = swap;
24633
+
24634
+ /***/ }),
24635
+
24002
24636
  /***/ 16722:
24003
24637
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
24004
24638
 
@@ -24418,7 +25052,7 @@ __webpack_require__(59524);
24418
25052
  * const sayX = x => console.log('x is ' + x);
24419
25053
  * R.tap(sayX, 100); //=> 100
24420
25054
  * // logs 'x is 100'
24421
- * @symb R.tap(f, a) = a
25055
+ * @symb R.tap(f, a) = (f(a), a)
24422
25056
  */
24423
25057
 
24424
25058
 
@@ -24573,10 +25207,10 @@ _curry2(function times(fn, n) {
24573
25207
  throw new RangeError('n must be a non-negative number');
24574
25208
  }
24575
25209
 
24576
- list = new Array(len);
25210
+ list = [];
24577
25211
 
24578
25212
  while (idx < len) {
24579
- list[idx] = fn(idx);
25213
+ list.push(fn(idx));
24580
25214
  idx += 1;
24581
25215
  }
24582
25216
 
@@ -24801,9 +25435,9 @@ module.exports = toUpper;
24801
25435
  /***/ 63158:
24802
25436
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
24803
25437
 
24804
- var _reduce =
25438
+ var _xReduce =
24805
25439
  /*#__PURE__*/
24806
- __webpack_require__(39488);
25440
+ __webpack_require__(89632);
24807
25441
 
24808
25442
  var _xwrap =
24809
25443
  /*#__PURE__*/
@@ -24864,7 +25498,7 @@ __webpack_require__(2220);
24864
25498
  var transduce =
24865
25499
  /*#__PURE__*/
24866
25500
  curryN(4, function transduce(xf, fn, acc, list) {
24867
- return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);
25501
+ return _xReduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);
24868
25502
  });
24869
25503
  module.exports = transduce;
24870
25504
 
@@ -24957,8 +25591,10 @@ __webpack_require__(233);
24957
25591
  * @memberOf R
24958
25592
  * @since v0.19.0
24959
25593
  * @category List
24960
- * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)
24961
- * @param {Function} of
25594
+ * @sig fantasy-land/of :: TypeRep f => f ~> a -> f a
25595
+ * @sig (Applicative f, Traversable t) => TypeRep f -> (a -> f b) -> t a -> f (t b)
25596
+ * @sig (Applicative f, Traversable t) => (b -> f b) -> (a -> f b) -> t a -> f (t b)
25597
+ * @param {Object|Function} TypeRepresentative with an `of` or `fantasy-land/of` method
24962
25598
  * @param {Function} f
24963
25599
  * @param {*} traversable
24964
25600
  * @return {*}
@@ -24970,13 +25606,22 @@ __webpack_require__(233);
24970
25606
  *
24971
25607
  * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2])
24972
25608
  * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing
25609
+ *
25610
+ * // Using a Type Representative
25611
+ * R.traverse(Maybe, safeDiv(10), Right(4)); //=> Just(Right(2.5))
25612
+ * R.traverse(Maybe, safeDiv(10), Right(0)); //=> Nothing
25613
+ * R.traverse(Maybe, safeDiv(10), Left("X")); //=> Just(Left("X"))
24973
25614
  */
24974
25615
 
24975
25616
 
24976
25617
  var traverse =
24977
25618
  /*#__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));
25619
+ _curry3(function traverse(F, f, traversable) {
25620
+ var of = typeof F['fantasy-land/of'] === 'function' ? F['fantasy-land/of'] : typeof F.of === 'function' ? F.of : F;
25621
+ var TypeRep = {
25622
+ 'fantasy-land/of': of
25623
+ };
25624
+ 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
25625
  });
24981
25626
 
24982
25627
  module.exports = traverse;
@@ -25100,7 +25745,7 @@ __webpack_require__(76224);
25100
25745
  * @memberOf R
25101
25746
  * @since v0.8.0
25102
25747
  * @category Type
25103
- * @sig (* -> {*}) -> String
25748
+ * @sig * -> String
25104
25749
  * @param {*} val The value to test
25105
25750
  * @return {String}
25106
25751
  * @example
@@ -26272,17 +26917,13 @@ module.exports = whereEq;
26272
26917
  /***/ 76290:
26273
26918
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
26274
26919
 
26275
- var _includes =
26276
- /*#__PURE__*/
26277
- __webpack_require__(87243);
26278
-
26279
26920
  var _curry2 =
26280
26921
  /*#__PURE__*/
26281
26922
  __webpack_require__(79002);
26282
26923
 
26283
- var flip =
26924
+ var _Set =
26284
26925
  /*#__PURE__*/
26285
- __webpack_require__(9134);
26926
+ __webpack_require__(8876);
26286
26927
 
26287
26928
  var reject =
26288
26929
  /*#__PURE__*/
@@ -26310,8 +26951,14 @@ __webpack_require__(63266);
26310
26951
 
26311
26952
  var without =
26312
26953
  /*#__PURE__*/
26313
- _curry2(function (xs, list) {
26314
- return reject(flip(_includes)(xs), list);
26954
+ _curry2(function without(xs, list) {
26955
+ var toRemove = new _Set();
26956
+
26957
+ for (var i = 0; i < xs.length; i += 1) {
26958
+ toRemove.add(xs[i]);
26959
+ }
26960
+
26961
+ return reject(toRemove.has.bind(toRemove), list);
26315
26962
  });
26316
26963
 
26317
26964
  module.exports = without;