rambda 8.2.0 → 8.3.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ 8.3.0
2
+
3
+ Add the following methods:
4
+
5
+ - binary
6
+ - call
7
+ - collectBy
8
+ - comparator
9
+ - composeWith
10
+
1
11
  8.2.0
2
12
 
3
13
  Add the following methods:
package/README.md CHANGED
@@ -96,15 +96,10 @@ Closing the issue is usually accompanied by publishing a new patch version of `R
96
96
 
97
97
  <details>
98
98
  <summary>
99
- Click to see the full list of 72 Ramda methods not implemented in Rambda
99
+ Click to see the full list of 67 Ramda methods not implemented in Rambda
100
100
  </summary>
101
101
 
102
102
  - __
103
- - binary
104
- - call
105
- - collectBy
106
- - comparator
107
- - composeWith
108
103
  - construct
109
104
  - constructN
110
105
  - dissocPath
@@ -2030,6 +2025,10 @@ describe('R.assocPath - curried', () => {
2030
2025
 
2031
2026
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#assocPath)
2032
2027
 
2028
+ ### binary
2029
+
2030
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#binary)
2031
+
2033
2032
  ### bind
2034
2033
 
2035
2034
  ```typescript
@@ -2338,6 +2337,10 @@ describe('R.both', () => {
2338
2337
 
2339
2338
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#both)
2340
2339
 
2340
+ ### call
2341
+
2342
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#call)
2343
+
2341
2344
  ### chain
2342
2345
 
2343
2346
  ```typescript
@@ -2493,6 +2496,14 @@ It creates a deep copy of the `input`, which may contain (nested) Arrays and Obj
2493
2496
 
2494
2497
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#clone)
2495
2498
 
2499
+ ### collectBy
2500
+
2501
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#collectBy)
2502
+
2503
+ ### comparator
2504
+
2505
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#comparator)
2506
+
2496
2507
  ### complement
2497
2508
 
2498
2509
  It returns `inverted` version of `origin` function that accept `input` as argument.
@@ -2511,6 +2522,10 @@ It performs right-to-left function composition.
2511
2522
 
2512
2523
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#compose)
2513
2524
 
2525
+ ### composeWith
2526
+
2527
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#composeWith)
2528
+
2514
2529
  ### concat
2515
2530
 
2516
2531
  It returns a new string or array, which is the result of merging `x` and `y`.
@@ -11822,7 +11837,7 @@ describe('R.product', () => {
11822
11837
 
11823
11838
  ```typescript
11824
11839
 
11825
- prop<P extends keyof never, T>(propToFind: P, value: T): Prop<T, P>
11840
+ prop<_, P extends keyof never, T>(p: P, value: T): Prop<T, P>
11826
11841
  ```
11827
11842
 
11828
11843
  It returns the value of property `propToFind` in `obj`.
@@ -11836,17 +11851,10 @@ If there is no such property, it returns `undefined`.
11836
11851
  <summary>All TypeScript definitions</summary>
11837
11852
 
11838
11853
  ```typescript
11839
- prop<P extends keyof never, T>(propToFind: P, value: T): Prop<T, P>;
11840
- prop<P extends keyof never>(propToFind: P): {
11841
- <T>(value: Record<P, T>): T;
11842
- <T>(value: T): Prop<T, P>;
11843
- };
11844
- prop<P extends keyof T, T>(propToFind: P): {
11845
- (value: T): Prop<T, P>;
11846
- };
11847
- prop<P extends keyof never, T>(propToFind: P): {
11848
- (value: Record<P, T>): T;
11849
- };
11854
+ prop<_, P extends keyof never, T>(p: P, value: T): Prop<T, P>;
11855
+ prop<V>(p: keyof never, value: unknown): V;
11856
+ prop<_, P extends keyof never>(p: P): <T>(value: T) => Prop<T, P>;
11857
+ prop<V>(p: keyof never): (value: unknown) => V;
11850
11858
  ```
11851
11859
 
11852
11860
  </details>
@@ -17299,6 +17307,16 @@ describe('R.zipWith', () => {
17299
17307
 
17300
17308
  ## ❯ CHANGELOG
17301
17309
 
17310
+ 8.3.0
17311
+
17312
+ Add the following methods:
17313
+
17314
+ - binary
17315
+ - call
17316
+ - collectBy
17317
+ - comparator
17318
+ - composeWith
17319
+
17302
17320
  8.2.0
17303
17321
 
17304
17322
  Add the following methods:
package/dist/rambda.js CHANGED
@@ -33,26 +33,7 @@ function _concat(set1, set2) {
33
33
  return result;
34
34
  }
35
35
 
36
- function _curryN(n, cache, fn) {
37
- return function () {
38
- let ci = 0;
39
- let ai = 0;
40
- const cl = cache.length;
41
- const al = arguments.length;
42
- const args = new Array(cl + al);
43
- while (ci < cl) {
44
- args[ci] = cache[ci];
45
- ci++;
46
- }
47
- while (ai < al) {
48
- args[cl + ai] = arguments[ai];
49
- ai++;
50
- }
51
- const remaining = n - args.length;
52
- return args.length >= n ? fn.apply(this, args) : _arity$1(remaining, _curryN(n, args, fn));
53
- };
54
- }
55
- function _arity$1(n, fn) {
36
+ function _arity(n, fn) {
56
37
  switch (n) {
57
38
  case 0:
58
39
  return function () {
@@ -100,12 +81,32 @@ function _arity$1(n, fn) {
100
81
  };
101
82
  }
102
83
  }
84
+
85
+ function _curryN(n, cache, fn) {
86
+ return function () {
87
+ let ci = 0;
88
+ let ai = 0;
89
+ const cl = cache.length;
90
+ const al = arguments.length;
91
+ const args = new Array(cl + al);
92
+ while (ci < cl) {
93
+ args[ci] = cache[ci];
94
+ ci++;
95
+ }
96
+ while (ai < al) {
97
+ args[cl + ai] = arguments[ai];
98
+ ai++;
99
+ }
100
+ const remaining = n - args.length;
101
+ return args.length >= n ? fn.apply(this, args) : _arity(remaining, _curryN(n, args, fn));
102
+ };
103
+ }
103
104
  function curryN(n, fn) {
104
105
  if (arguments.length === 1) return _fn => curryN(n, _fn);
105
106
  if (n > 10) {
106
107
  throw new Error('First argument to _arity must be a non-negative integer no greater than ten');
107
108
  }
108
- return _arity$1(n, _curryN(n, [], fn));
109
+ return _arity(n, _curryN(n, [], fn));
109
110
  }
110
111
 
111
112
  function addIndex(originalFunction, initialIndexFn = () => 0, loopIndexChange = x => x + 1) {
@@ -356,6 +357,11 @@ function assocPathFn(path, newValue, input) {
356
357
  }
357
358
  const assocPath = curry(assocPathFn);
358
359
 
360
+ function binary(fn) {
361
+ if (fn.length <= 2) return fn;
362
+ return (a, b) => fn(a, b);
363
+ }
364
+
359
365
  function bind(fn, thisObj) {
360
366
  if (arguments.length === 1) {
361
367
  return _thisObj => bind(fn, _thisObj);
@@ -368,6 +374,8 @@ function both(f, g) {
368
374
  return (...input) => f(...input) && g(...input);
369
375
  }
370
376
 
377
+ const call = (fn, ...inputs) => fn(...inputs);
378
+
371
379
  function chain(fn, list) {
372
380
  if (arguments.length === 1) {
373
381
  return _list => chain(fn, _list);
@@ -395,10 +403,6 @@ function clone(input) {
395
403
  return out;
396
404
  }
397
405
 
398
- function complement(fn) {
399
- return (...input) => !fn(...input);
400
- }
401
-
402
406
  class ReduceStopper {
403
407
  constructor(value) {
404
408
  this.value = value;
@@ -425,56 +429,35 @@ function reduceFn(reducer, acc, list) {
425
429
  const reduce = curry(reduceFn);
426
430
  const reduceStopper = value => new ReduceStopper(value);
427
431
 
428
- function _arity(n, fn) {
429
- switch (n) {
430
- case 0:
431
- return function () {
432
- return fn.apply(this, arguments);
433
- };
434
- case 1:
435
- return function (a0) {
436
- return fn.apply(this, arguments);
437
- };
438
- case 2:
439
- return function (a0, a1) {
440
- return fn.apply(this, arguments);
441
- };
442
- case 3:
443
- return function (a0, a1, a2) {
444
- return fn.apply(this, arguments);
445
- };
446
- case 4:
447
- return function (a0, a1, a2, a3) {
448
- return fn.apply(this, arguments);
449
- };
450
- case 5:
451
- return function (a0, a1, a2, a3, a4) {
452
- return fn.apply(this, arguments);
453
- };
454
- case 6:
455
- return function (a0, a1, a2, a3, a4, a5) {
456
- return fn.apply(this, arguments);
457
- };
458
- case 7:
459
- return function (a0, a1, a2, a3, a4, a5, a6) {
460
- return fn.apply(this, arguments);
461
- };
462
- case 8:
463
- return function (a0, a1, a2, a3, a4, a5, a6, a7) {
464
- return fn.apply(this, arguments);
465
- };
466
- case 9:
467
- return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
468
- return fn.apply(this, arguments);
469
- };
470
- case 10:
471
- return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
472
- return fn.apply(this, arguments);
473
- };
474
- default:
475
- throw new Error('First argument to _arity must be a non-negative integer no greater than ten');
432
+ function collectBy(fn, list) {
433
+ if (arguments.length === 1) {
434
+ return _list => collectBy(fn, _list);
476
435
  }
436
+ const group = reduce((o, x) => {
437
+ const tag = fn(x);
438
+ if (o[tag] === undefined) {
439
+ o[tag] = [];
440
+ }
441
+ o[tag].push(x);
442
+ return o;
443
+ }, {}, list);
444
+ const newList = [];
445
+ for (const tag in group) {
446
+ newList.push(group[tag]);
447
+ }
448
+ return newList;
477
449
  }
450
+
451
+ function comparator(fn) {
452
+ return function (a, b) {
453
+ return fn(a, b) ? -1 : fn(b, a) ? 1 : 0;
454
+ };
455
+ }
456
+
457
+ function complement(fn) {
458
+ return (...input) => !fn(...input);
459
+ }
460
+
478
461
  function _pipe(f, g) {
479
462
  return function () {
480
463
  return g.call(this, f.apply(this, arguments));
@@ -494,6 +477,49 @@ function compose() {
494
477
  return pipe.apply(this, Array.prototype.slice.call(arguments, 0).reverse());
495
478
  }
496
479
 
480
+ function head(listOrString) {
481
+ if (typeof listOrString === 'string') return listOrString[0] || '';
482
+ return listOrString[0];
483
+ }
484
+
485
+ function identity(x) {
486
+ return x;
487
+ }
488
+
489
+ function reverse(listOrString) {
490
+ if (typeof listOrString === 'string') {
491
+ return listOrString.split('').reverse().join('');
492
+ }
493
+ const clone = listOrString.slice();
494
+ return clone.reverse();
495
+ }
496
+
497
+ function drop(howManyToDrop, listOrString) {
498
+ if (arguments.length === 1) return _list => drop(howManyToDrop, _list);
499
+ return listOrString.slice(howManyToDrop > 0 ? howManyToDrop : 0);
500
+ }
501
+
502
+ function tail(listOrString) {
503
+ return drop(1, listOrString);
504
+ }
505
+
506
+ function pipeWith(xf, list) {
507
+ if (list.length <= 0) {
508
+ return identity;
509
+ }
510
+ const headList = head(list);
511
+ const tailList = tail(list);
512
+ return _arity(headList.length, function () {
513
+ return reduce(function (result, f) {
514
+ return xf.call(this, f, result);
515
+ }, headList.apply(this, arguments), tailList);
516
+ });
517
+ }
518
+ function composeWith(xf, list) {
519
+ if (arguments.length === 1) return _list => composeWith(xf, _list);
520
+ return pipeWith.apply(this, [xf, reverse(list)]);
521
+ }
522
+
497
523
  function concat(x, y) {
498
524
  if (arguments.length === 1) return _y => concat(x, _y);
499
525
  return typeof x === 'string' ? `${x}${y}` : [...x, ...y];
@@ -846,11 +872,6 @@ function divide(a, b) {
846
872
  return a / b;
847
873
  }
848
874
 
849
- function drop(howManyToDrop, listOrString) {
850
- if (arguments.length === 1) return _list => drop(howManyToDrop, _list);
851
- return listOrString.slice(howManyToDrop > 0 ? howManyToDrop : 0);
852
- }
853
-
854
875
  function dropLast(howManyToDrop, listOrString) {
855
876
  if (arguments.length === 1) {
856
877
  return _listOrString => dropLast(howManyToDrop, _listOrString);
@@ -1244,11 +1265,6 @@ function hasPath(pathInput, obj) {
1244
1265
  return path(pathInput, obj) !== undefined;
1245
1266
  }
1246
1267
 
1247
- function head(listOrString) {
1248
- if (typeof listOrString === 'string') return listOrString[0] || '';
1249
- return listOrString[0];
1250
- }
1251
-
1252
1268
  function _objectIs(a, b) {
1253
1269
  if (a === b) {
1254
1270
  return a !== 0 || 1 / a === 1 / b;
@@ -1262,10 +1278,6 @@ function identical(a, b) {
1262
1278
  return objectIs(a, b);
1263
1279
  }
1264
1280
 
1265
- function identity(x) {
1266
- return x;
1267
- }
1268
-
1269
1281
  function ifElseFn(condition, onTrue, onFalse) {
1270
1282
  return (...input) => {
1271
1283
  const conditionResult = typeof condition === 'boolean' ? condition : condition(...input);
@@ -1918,14 +1930,6 @@ function replaceFn(pattern, replacer, str) {
1918
1930
  }
1919
1931
  const replace = curry(replaceFn);
1920
1932
 
1921
- function reverse(listOrString) {
1922
- if (typeof listOrString === 'string') {
1923
- return listOrString.split('').reverse().join('');
1924
- }
1925
- const clone = listOrString.slice();
1926
- return clone.reverse();
1927
- }
1928
-
1929
1933
  function setFn(lens, replacer, x) {
1930
1934
  return over(lens, always(replacer), x);
1931
1935
  }
@@ -2045,10 +2049,6 @@ function symmetricDifference(x, y) {
2045
2049
  return concat(filter(value => !includes(value, y), x), filter(value => !includes(value, x), y));
2046
2050
  }
2047
2051
 
2048
- function tail(listOrString) {
2049
- return drop(1, listOrString);
2050
- }
2051
-
2052
2052
  function takeLast(howMany, listOrString) {
2053
2053
  if (arguments.length === 1) return _listOrString => takeLast(howMany, _listOrString);
2054
2054
  const len = listOrString.length;
@@ -2326,7 +2326,6 @@ const zipWith = curry(zipWithFn);
2326
2326
  exports.F = F;
2327
2327
  exports.T = T;
2328
2328
  exports.__findHighestArity = __findHighestArity;
2329
- exports._arity = _arity;
2330
2329
  exports._indexOf = _indexOf;
2331
2330
  exports._lastIndexOf = _lastIndexOf;
2332
2331
  exports._pipe = _pipe;
@@ -2349,13 +2348,18 @@ exports.applyTo = applyTo;
2349
2348
  exports.ascend = ascend;
2350
2349
  exports.assoc = assoc;
2351
2350
  exports.assocPath = assocPath;
2351
+ exports.binary = binary;
2352
2352
  exports.bind = bind;
2353
2353
  exports.both = both;
2354
+ exports.call = call;
2354
2355
  exports.chain = chain;
2355
2356
  exports.clamp = clamp;
2356
2357
  exports.clone = clone;
2358
+ exports.collectBy = collectBy;
2359
+ exports.comparator = comparator;
2357
2360
  exports.complement = complement;
2358
2361
  exports.compose = compose;
2362
+ exports.composeWith = composeWith;
2359
2363
  exports.concat = concat;
2360
2364
  exports.cond = cond;
2361
2365
  exports.converge = converge;
@@ -2474,6 +2478,7 @@ exports.paths = paths;
2474
2478
  exports.pick = pick;
2475
2479
  exports.pickAll = pickAll;
2476
2480
  exports.pipe = pipe;
2481
+ exports.pipeWith = pipeWith;
2477
2482
  exports.pluck = pluck;
2478
2483
  exports.prepend = prepend;
2479
2484
  exports.product = product;
@@ -1 +1 @@
1
- !function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){"use strict";function C(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return C(r,function i(o,f,c){return function(){for(var n=0,r=0,t=f.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=f[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?C(o-u.length,i(o,u,c)):c.apply(this,u)}}(r,[],n))}function _(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(){return 0},o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:function(n){return n+1};return t(u.length,function(){var r=arguments[0],t=arguments[arguments.length-1],e=i(t.length),n=Array.prototype.slice.call(arguments,0);return n[0]=function(){var n=r.apply(this,function(n,r){for(var t=(n=n||[]).length,e=(r=r||[]).length,u=[],i=0;i<t;)u[u.length]=n[i],i+=1;for(i=0;i<e;)u[u.length]=r[i],i+=1;return u}(arguments,[e,t]));return e=o(e),n},u.apply(this,n)})}function a(n){return Array.prototype.slice.call(n)}function B(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function u(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?B(Object(t),!0).forEach(function(n){i(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):B(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function l(n){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function U(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function D(n,r){for(var t=0;t<r.length;t++){var e=r[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,M(e.key),e)}}function L(n,r,t){return r&&D(n.prototype,r),t&&D(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function i(n,r,t){return(r=M(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function o(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,f=[],c=!0,a=!1;try{if(i=(t=t.call(n)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(e=i.call(t)).done)&&(f.push(e.value),f.length!==r);c=!0);}catch(n){a=!0,u=n}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw u}}return f}}(n,r)||z(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||z(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t=Object.prototype.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function M(n){n=function(n,r){if("object"!=typeof n||null===n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(n);if("object"!=typeof(t=t.call(n,r||"default")))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==typeof n?n:""+n}function f(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(h(i),t)).length<u.length?f(u,n):u.apply(void 0,h(n))}}var H=f(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=a(t))[e]=r(n[e]),n)});function $(r){return function(n){return r}}var s=Array.isArray;function c(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===l(n[r])&&(t=Math.max(t,c(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function p(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function g(n,r,t,e){return n===r?0:n<r?t:e}var y=f(function(n,r,t){return Object.assign({},t,i({},n,r))});var v=Number.isInteger||function(n){return n<<0===n};var G=f(function n(r,t,e){var u,i,r="string"==typeof r?r.split(".").map(function(n){return v(+(""+n))?+(""+n):n}):r;return 0===r.length?t:(u=r[0],1<r.length&&(i="object"===l(e)&&null!==e&&e.hasOwnProperty(u)?e[u]:v(r[1])?[]:{},t=n(Array.prototype.slice.call(r,1),t,i)),v(u)&&s(e)?((r=a(e))[u]=t,r):y(u,t,e))});var J=f(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function d(n){var r,t=s(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===l(e)&&null!==e?e.getTime?new Date(e.getTime()):d(e):e}return t}var K=L(function n(r){U(this,n),this.value=r});function r(n,r,t){if(null!=t){if(!s(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof K)return r.value;e++}}return r}var m=f(r);function Q(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};case 10:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)};default:throw Error("First argument to _arity must be a non-negative integer no greater than ten")}}function V(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function X(){if(0===arguments.length)throw Error("pipe requires at least one argument");return Q(arguments[0].length,r(V,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function Y(r,n){return 1===arguments.length?function(n){return Y(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(h(r),h(n))}var Z="Incorrect iterable input",nn=Object.keys;function b(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=Array(r.length);e<r.length;)u[e]=t?n(r[e],e):n(r[e]),e++;return u}function w(r,n){if(1===arguments.length)return function(n){return w(r,n)};for(var t=0,e=nn(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var rn=w;function j(r,n){if(1===arguments.length)return function(n){return j(r,n)};if(n)return(s(n)?b:w)(r,n);throw Error(Z)}function tn(r,n){return 1===arguments.length?function(n){return tn(r,n)}:r<n?n:r}function O(r,n){return 1===arguments.length?function(n){return O(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function E(n){return null===n?"Null":void 0===n?"Undefined":Number.isNaN(n)?"NaN":"AsyncFunction"===(n=Object.prototype.toString.call(n).slice(8,-1))?"Promise":n}function en(n,r){if(!s(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=E(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)N(r[e],n)&&(u=e);return u}function A(n,r){if(!s(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=E(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)N(r[e],n)&&(u=e);return u}function un(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function on(n){var r=""+n.__proto__;return["Error","TypeError"].includes(r)?[r,n.message]:[]}function fn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function cn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function N(t,e){var n,u,i,r,o,f,c;return 1===arguments.length?function(n){return N(t,n)}:(n=E(t))===E(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Undefined","Null"].includes(n)||("Number"===n?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["String","Boolean"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||N(n,u[r])||(i=!1)}),i):(r=cn(t),f=cn(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=fn(t),f=fn(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=on(t),f=on(e),r[0]?!!f[0]&&r[0]===f[0]&&r[1]===f[1]:"Set"===n?(r=t).size===(f=e).size&&(r=un(r.values()),o=un(f.values()),0===r.filter(function(n){return-1===A(n,o)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(c=!0,f.forEach(function(n){var r;c&&(r=t[n])!==(n=e[n])&&!N(r,n)&&(c=!1)}),c))))))}function x(r,n){if(1===arguments.length)return function(n){return x(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!s(n)&&-1<A(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var an=function(){function n(){U(this,n),this.set=new Set,this.items={}}return L(n,[{key:"checkUniqueness",value:function(n){var r=E(n);return["Null","Undefined","NaN"].includes(r)?!(r in this.items)&&(this.items[r]=!0):["Object","Array"].includes(r)?r in this.items?-1===A(n,this.items[r])&&(this.items[r].push(n),!0):(this.items[r]=[n],!0):(r=this.set.size,this.set.add(n),this.set.size!==r)}}]),n}();function ln(n){var r=new an,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function hn(t,n,r){var e=[],r=o(r.length<n.length?[n,r]:[r,n],2),n=r[0],u=r[1];return n.forEach(function(r){u.some(function(n){return t(r,n)})||-1!==A(r,e)||e.push(r)}),e}var sn=f(hn);function P(r,n){return 1===arguments.length?function(n){return P(r,n)}:n.slice(0<r?r:0)}function k(r,n){return 1===arguments.length?function(n){return k(r,n)}:n?n[r]:void 0}var pn=f(function(n,r,t){return N(k(n,r),k(n,t))});function gn(t,n){return b(function(n,r){return"Function"===E(t[r])?t[r](n):n},n,!0)}function yn(e,n){return w(function(n,r){var t;return"Object"===E(n)?"Function"===(t=E(e[r]))?e[r](n):"Object"===t?vn(e[r],n):n:"Function"===E(e[r])?e[r](n):n},n)}function vn(r,n){if(1===arguments.length)return function(n){return vn(r,n)};var t=E(r),e=E(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?yn:gn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function dn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function mn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=r.length,i=[];e<u;)(t?n(r[e],e):n(r[e]))&&i.push(r[e]),e++;return i}function S(r,n){if(1===arguments.length)return function(n){return S(r,n)};if(n)return s(n)?mn(r,n,!1):dn(r,n);throw Error("Incorrect iterable input")}function T(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:"."):n}function bn(n,r){for(var t=r,e=0,u=T(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function F(r,n){return 1===arguments.length?function(n){return F(r,n)}:null!=n?bn(r,n):void 0}var wn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var jn=f(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function On(n,r,t){for(var e=-1,u=n.length,i=((t=u<t?u:t)<0&&(t+=u),u=t<r?0:t-r>>>0,r>>>=0,Array(u));++e<u;)i[e]=n[e+r];return i}function En(r,n){return 1===arguments.length?function(n){return En(r,n)}:null!=n&&n.constructor===r||n instanceof r}function I(t,e){return function(n){return function(r){return n(t(r)).map(function(n){return e(n,r)})}}}function An(r,n){var t;return 1===arguments.length?function(n){return An(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function Nn(n,r,t){t=a(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var xn=f(Nn);function Pn(n,r,t){return n(t)>n(r)?t:r}var kn=f(Pn);function Sn(n){return n.reduce(function(n,r){return n+r},0)}function Tn(n){return Sn(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function R(r,t){var e;return 1===arguments.length?function(n){return R(r,n)}:(e=d(r),Object.keys(t).forEach(function(n){"Object"===E(t[n])&&"Object"===E(r[n])?e[n]=R(r[n],t[n]):e[n]=t[n]}),e)}var Fn=f(function(r,n,t){var e=null!=n?n:{},u=null!=t?t:{},i={};return Object.keys(e).forEach(function(n){i[n]=void 0===u[n]?e[n]:r(e[n],u[n])}),Object.keys(u).forEach(function(n){void 0===i[n]&&(i[n]=void 0===e[n]?u[n]:r(e[n],u[n]))}),i});function In(n,r,t){return n(t)<n(r)?t:r}var Wn=f(In);var Rn=f(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==E(e)||void 0===t[n]?t:s(t)?Nn(n,r(t[n]),t):u(u({},t),{},i({},n,r(t[n])))});function qn(n,r,t){n=T(n);return 1===n.length?u(u({},t),{},i({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=Cn(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:y(n[0],r,t)}var Cn=f(qn);var _n=f(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=a(t))[n]=t[r],e[r]=t[n],e)});function Bn(r,n){return 1===arguments.length?function(n){return Bn(r,n)}:r*n}function Un(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function Dn(r){return{x:r,map:function(n){return Dn(n(r))}}}var Ln=f(function(n,r,t){return n(function(n){return Dn(r(n))})(t).x});function zn(e){for(var n=arguments.length,u=Array(1<n?n-1:0),r=1;r<n;r++)u[r-1]=arguments[r];var i=e.length;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u.length+r.length<i?zn.apply(void 0,[e].concat([].concat(u,r))):e.apply(void 0,u.concat(r))}}function Mn(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=o(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function Hn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=[],u=[],i=-1;i++<r.length-1;)((t?n(r[i],i):n(r[i]))?e:u).push(r[i]);return[e,u]}var $n=f(function(n,r,t){return N(F(n,t),r)});var Gn=f(function(n,r,t){return O(n,F(r,t))});var Jn=m(Bn,1);var Kn=f(function(n,r,t){return!!t&&N(n,k(r,t))});var Qn=f(function(n,r,t){return En(n,t[r])});var Vn=f(function(n,r,t){return t?O(n,t[r]):n});var Xn=f(function(n,r,t){return n(k(r,t))});function Yn(r,n){if(1===arguments.length)return function(n){return Yn(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}var Zn=f(function(n,r,t){return t.replace(n,r)});var nr=f(function(n,r,t){return Ln(n,$(r),t)});var rr=f(function(n,r,t){return t.slice(n,r)});function q(r,n){return 1===arguments.length?function(n){return q(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):On(n,0,r)}function tr(n){return["Promise","Function"].includes(E(n))}function er(r){return{x:r,map:function(n){return er(r)}}}var ur=f(function(n,r,t){return n(t)?r(t):t});var ir=f(function(t,n,e){return q((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=c,n._arity=Q,n._indexOf=A,n._lastIndexOf=en,n._pipe=V,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=_,n.addIndexRight=function(n){return _(n,function(n){return n-1},function(n){return n-1})},n.adjust=H,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=$,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.ap=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.reduce(function(n,r){return[].concat(h(n),h(e.map(r)))},[])},n.aperture=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(n.length<t)return[];for(var e=0,u=n.length-(t-1),i=Array(u);e<u;)i[e]=n.slice(e,e+t),e+=1;return i},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=a(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=c(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,f){var n=o-f.length;if(1==n)return function(n){return u(i,o,p.apply(void 0,h(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,p.apply(void 0,h(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,p.apply(void 0,h(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,p.apply(void 0,h(f).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,p.apply(void 0,h(f).concat(r)))};if(s(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==l(i[t])&&!s(i[t])||(r[t]=u(i[t],o,f)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,h(f)));return r}var c,a={};for(c in i)0!=i.hasOwnProperty(c)&&"constructor"!==c&&("object"===l(i[c])?a[c]=u(i[c],o,f):"function"==typeof i[c]&&(a[c]=i[c].apply(i,h(f))));return a}(n,r,e)},n.applyTo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n(t)},n.ascend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:g(e(n),e(r),-1,1)},n.assoc=y,n.assocPath=G,n.bind=function r(e,u){return 1===arguments.length?function(n){return r(e,n)}:t(e.length,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.apply(u,r)})},n.both=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return t.apply(void 0,arguments)&&n.apply(void 0,arguments)}},n.chain=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[]).concat.apply(e,h(n.map(t)))},n.clamp=J,n.clone=d,n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return X.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.concat=Y,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=o(n,2),r=n[0],n=n[1];!u&&r(t)&&(u=!0,e=n(t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(m(function(n,r){return tn(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,j(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:s(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.createCompareFunction=g,n.curry=f,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=O,n.descend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:g(e(n),e(r),1,-1)},n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:ln(t).filter(function(n){return!x(n,e)})},n.differenceWith=sn,n.differenceWithFn=hn,n.dissoc=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null==n)return{};var e,u={};for(e in n)u[e]=n[e];return delete u[t],u},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=P,n.dropLast=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:0<t?n.slice(0,-t):n.slice()},n.dropLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;var e=s(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(l(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(l(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(s(n))return t=[],n.reduce(function(n,r){return N(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(s(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=s(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!s(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=N(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqProps=pn,n.equals=N,n.evolve=vn,n.evolveArray=gn,n.evolveObject=yn,n.filter=S,n.filterArray=mn,n.filterObject=dn,n.find=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0,u=n.length;e<u;){var i=n[e];if(t(i))return i;e++}},n.findIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length,u=-1;++u<e;)if(t(n[u]))return u;return-1},n.findLast=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return n[e]},n.findLastIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return e;return-1},n.flatten=function n(r,t){for(var e=void 0===t?[]:t,u=0;u<r.length;u++)s(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(s(n))for(var e=0,u=n.length;e<u;)t(n[e]),e++;else for(var i=0,o=nn(n),f=o.length;i<f;){var c=o[i];t(n[c],c,n),i++}return n}},n.fromPairs=function(n){var r={};return n.forEach(function(n){n=o(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,f,c;if(s(o))return n=a(o),1===o.length?[n]:(f=[],c=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===c.length,t=t===o.length-1,e?(u&&c.push(n),c.push(r),t&&f.push(c)):u?(f.push([n]),t&&f.push([r])):(f.push(c),t&&f.push([r]),c=[])),r},void 0),f);throw new TypeError("list.reduce is not a function")},n.has=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!n&&n.hasOwnProperty(t)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==F(t,n)},n.head=function(n){return"string"==typeof n?n[0]||"":n[0]},n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:wn(t,n)},n.identity=function(n){return n},n.ifElse=jn,n.inc=function(n){return n+1},n.includes=x,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var f=u[o];i[F(e,f)]=f}return i}for(var c={},a=0;a<n.length;a++){var l=n[a];c[t(l)]=l}return c},n.indexOf=function(r,n){return 1===arguments.length?function(n){return A(r,n)}:A(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?On(n,0,-1):[]},n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:S(function(n){return x(n,t)},n)},n.intersperse=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=n.length,i=[];++e<u;)e===u-1?i.push(n[e]):i.push(n[e],t);return i},n.is=En,n.isEmpty=function(n){var r=E(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))},n.isNil=function(n){return null==n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return en(r,n)}:en(r,n)},n.length=function(n){return s(n)||"string"==typeof n?n.length:NaN},n.lens=I,n.lensIndex=function(n){return I(An(n),xn(n))},n.lensPath=function(n){return I(F(n),G(n))},n.lensProp=function(n){return I(k(n),y(n))},n.map=j,n.mapArray=b,n.mapObjIndexed=rn,n.mapObject=w,n.match=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:null===(n=n.match(t))?[]:n},n.mathMod=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:v(t)&&v(n)&&1<=n?(t%n+n)%n:NaN},n.max=tn,n.maxBy=kn,n.maxByFn=Pn,n.mean=Tn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Tn(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=W,n.mergeAll=function(n){var r={};return j(function(n){r=W(r,n)},n),r},n.mergeDeepRight=R,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Fn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Wn,n.minByFn=In,n.modify=Rn,n.modifyPath=Cn,n.modifyPathFn=qn,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=_n,n.multiply=Bn,n.negate=function(n){return-n},n.none=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(t(n[e]))return!1;return!0},n.not=function(n){return!n},n.nth=An,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:i({},t,n)},n.of=function(n){return[n]},n.omit=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){var e,u=T(t,","),i={};for(e in n)u.includes(e)||(i[e]=n[e]);return i}},n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?f(Un(n,r)):Un(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=Ln,n.partial=zn,n.partialObject=function(r,t){return function(n){return r(R(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(s(n)?Hn:Mn)(t,n)},n.partitionArray=Hn,n.partitionObject=Mn,n.path=F,n.pathEq=$n,n.pathFn=bn,n.pathOr=Gn,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return F(n,e)})},n.pick=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=T(t,","),u={},i=0;i<e.length;)e[i]in n&&(u[e[i]]=n[e[i]]),i++;return u}},n.pickAll=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=T(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=X,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],j(function(n){void 0!==n[t]&&e.push(n[t])},n),e)},n.prepend=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:[t].concat("string"==typeof n?n.split(""):n)},n.product=Jn,n.prop=k,n.propEq=Kn,n.propIs=Qn,n.propOr=Vn,n.propSatisfies=Xn,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(s(t))return b(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=Yn,n.reduce=m,n.reduceFn=r,n.reduceStopper=function(n){return new K(n)},n.reject=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:S(function(n){return!t(n)},n)},n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=Zn,n.reverse=function(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()},n.set=nr,n.slice=rr,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:a(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:a(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return s(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===E(u)?u():u,i=e||"Function"!==E(i)?i:i(),[q(e=e?u:i,n),P(e,n)]):[[],[]];throw new TypeError("Cannot read property 'slice' of ".concat(n))},n.splitEvery=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(t<1)throw Error("First argument to splitEvery must be a positive integer");for(var e=[],u=0;u<n.length;)e.push(n.slice(u,u+=t));return e},n.splitWhen=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!n)throw new TypeError("Cannot read property 'length' of ".concat(n));for(var e=[],u=[],i=!1,o=-1;o++<n.length-1;)i?u.push(n[o]):t(n[o])?(u.push(n[o]),i=!0):e.push(n[o]);return[e,u]},n.startsWith=function r(t,e){var u;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.startsWith(t):!!s(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=N(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Sn,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:Y(S(function(n){return!x(n,e)},t),S(function(n){return!x(n,t)},e))},n.tail=function(n){return P(1,n)},n.take=q,n.takeLast=function r(t,n){var e,u;return 1===arguments.length?function(n){return r(t,n)}:(e=n.length,t<0?n.slice():(u=e<t?e:t,"string"==typeof n?n.slice(e-u):On(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return s(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=s(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!v(n)||n<0)throw new RangeError("n must be an integer");return j(t,Yn(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return s(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(tr(e))return i=tr(u),function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];try{return e.apply(void 0,r)}catch(n){return i?u.apply(void 0,[n].concat(r)):u}};throw Error("R.tryCatch | fn '".concat(e,"'"))},n.type=E,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=a(t),n.forEach(function(n){x(n,t)||e.push(n)}),e)},n.uniq=ln,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new an,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:function(n){return t(n)?n:e(n)}},n.unnest=function(n){return n.reduce(function(n,r){return[].concat(h(n),Array.isArray(r)?h(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:s(e[t])?b(function(n){return u(u({},e),{},i({},t,n))},e[t]):[e]},n.update=xn,n.updateFn=Nn,n.values=function(n){return"Object"!==E(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(er)(n).x},n.when=ur,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){var n;return 1===arguments.length?function(n){return r(t,n)}:(n=S(function(n,r){return N(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:m(function(n,r){return-1<A(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:q(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=ir});
1
+ !function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){"use strict";function a(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return a(r,function i(o,f,c){return function(){for(var n=0,r=0,t=f.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=f[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?a(o-u.length,i(o,u,c)):c.apply(this,u)}}(r,[],n))}function B(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(){return 0},o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:function(n){return n+1};return t(u.length,function(){var r=arguments[0],t=arguments[arguments.length-1],e=i(t.length),n=Array.prototype.slice.call(arguments,0);return n[0]=function(){var n=r.apply(this,function(n,r){for(var t=(n=n||[]).length,e=(r=r||[]).length,u=[],i=0;i<t;)u[u.length]=n[i],i+=1;for(i=0;i<e;)u[u.length]=r[i],i+=1;return u}(arguments,[e,t]));return e=o(e),n},u.apply(this,n)})}function l(n){return Array.prototype.slice.call(n)}function C(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function u(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?C(Object(t),!0).forEach(function(n){i(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):C(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function h(n){return(h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function U(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function _(n,r){for(var t=0;t<r.length;t++){var e=r[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,z(e.key),e)}}function D(n,r,t){return r&&_(n.prototype,r),t&&_(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function i(n,r,t){return(r=z(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function o(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,f=[],c=!0,a=!1;try{if(i=(t=t.call(n)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(e=i.call(t)).done)&&(f.push(e.value),f.length!==r);c=!0);}catch(n){a=!0,u=n}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw u}}return f}}(n,r)||L(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||L(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t=Object.prototype.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function z(n){n=function(n,r){if("object"!=typeof n||null===n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(n);if("object"!=typeof(t=t.call(n,r||"default")))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==typeof n?n:""+n}function f(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(s(i),t)).length<u.length?f(u,n):u.apply(void 0,s(n))}}var M=f(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=l(t))[e]=r(n[e]),n)});function H(r){return function(n){return r}}var p=Array.isArray;function c(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===h(n[r])&&(t=Math.max(t,c(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function g(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function v(n,r,t,e){return n===r?0:n<r?t:e}var y=f(function(n,r,t){return Object.assign({},t,i({},n,r))});var d=Number.isInteger||function(n){return n<<0===n};var $=f(function n(r,t,e){var u,i,r="string"==typeof r?r.split(".").map(function(n){return d(+(""+n))?+(""+n):n}):r;return 0===r.length?t:(u=r[0],1<r.length&&(i="object"===h(e)&&null!==e&&e.hasOwnProperty(u)?e[u]:d(r[1])?[]:{},t=n(Array.prototype.slice.call(r,1),t,i)),d(u)&&p(e)?((r=l(e))[u]=t,r):y(u,t,e))});var G=f(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function m(n){var r,t=p(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===h(e)&&null!==e?e.getTime?new Date(e.getTime()):m(e):e}return t}var J=D(function n(r){U(this,n),this.value=r});function K(n,r,t){if(null!=t){if(!p(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof J)return r.value;e++}}return r}var b=f(K);function Q(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function V(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,K(Q,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function X(n){return"string"==typeof n?n[0]||"":n[0]}function Y(n){return n}function Z(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function w(r,n){return 1===arguments.length?function(n){return w(r,n)}:n.slice(0<r?r:0)}function nn(n){return w(1,n)}function rn(t,n){var r,e;return 0<n.length?(r=X(n),e=nn(n),a(r.length,function(){return b(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):Y}function tn(r,n){return 1===arguments.length?function(n){return tn(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(s(r),s(n))}var en="Incorrect iterable input",un=Object.keys;function j(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=Array(r.length);e<r.length;)u[e]=t?n(r[e],e):n(r[e]),e++;return u}function O(r,n){if(1===arguments.length)return function(n){return O(r,n)};for(var t=0,e=un(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var on=O;function E(r,n){if(1===arguments.length)return function(n){return E(r,n)};if(n)return(p(n)?j:O)(r,n);throw Error(en)}function fn(r,n){return 1===arguments.length?function(n){return fn(r,n)}:r<n?n:r}function A(r,n){return 1===arguments.length?function(n){return A(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function N(n){return null===n?"Null":void 0===n?"Undefined":Number.isNaN(n)?"NaN":"AsyncFunction"===(n=Object.prototype.toString.call(n).slice(8,-1))?"Promise":n}function cn(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)P(r[e],n)&&(u=e);return u}function x(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)P(r[e],n)&&(u=e);return u}function an(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function ln(n){var r=""+n.__proto__;return["Error","TypeError"].includes(r)?[r,n.message]:[]}function hn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function sn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function P(t,e){var n,u,i,r,o,f,c;return 1===arguments.length?function(n){return P(t,n)}:(n=N(t))===N(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Undefined","Null"].includes(n)||("Number"===n?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["String","Boolean"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||P(n,u[r])||(i=!1)}),i):(r=sn(t),f=sn(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=hn(t),f=hn(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=ln(t),f=ln(e),r[0]?!!f[0]&&r[0]===f[0]&&r[1]===f[1]:"Set"===n?(r=t).size===(f=e).size&&(r=an(r.values()),o=an(f.values()),0===r.filter(function(n){return-1===x(n,o)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(c=!0,f.forEach(function(n){var r;c&&(r=t[n])!==(n=e[n])&&!P(r,n)&&(c=!1)}),c))))))}function k(r,n){if(1===arguments.length)return function(n){return k(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!p(n)&&-1<x(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var pn=function(){function n(){U(this,n),this.set=new Set,this.items={}}return D(n,[{key:"checkUniqueness",value:function(n){var r=N(n);return["Null","Undefined","NaN"].includes(r)?!(r in this.items)&&(this.items[r]=!0):["Object","Array"].includes(r)?r in this.items?-1===x(n,this.items[r])&&(this.items[r].push(n),!0):(this.items[r]=[n],!0):(r=this.set.size,this.set.add(n),this.set.size!==r)}}]),n}();function gn(n){var r=new pn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function vn(t,n,r){var e=[],r=o(r.length<n.length?[n,r]:[r,n],2),n=r[0],u=r[1];return n.forEach(function(r){u.some(function(n){return t(r,n)})||-1!==x(r,e)||e.push(r)}),e}var yn=f(vn);function S(r,n){return 1===arguments.length?function(n){return S(r,n)}:n?n[r]:void 0}var dn=f(function(n,r,t){return P(S(n,r),S(n,t))});function mn(t,n){return j(function(n,r){return"Function"===N(t[r])?t[r](n):n},n,!0)}function bn(e,n){return O(function(n,r){var t;return"Object"===N(n)?"Function"===(t=N(e[r]))?e[r](n):"Object"===t?wn(e[r],n):n:"Function"===N(e[r])?e[r](n):n},n)}function wn(r,n){if(1===arguments.length)return function(n){return wn(r,n)};var t=N(r),e=N(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?bn:mn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function jn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function On(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=r.length,i=[];e<u;)(t?n(r[e],e):n(r[e]))&&i.push(r[e]),e++;return i}function T(r,n){if(1===arguments.length)return function(n){return T(r,n)};if(n)return p(n)?On(r,n,!1):jn(r,n);throw Error("Incorrect iterable input")}function F(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:"."):n}function En(n,r){for(var t=r,e=0,u=F(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function I(r,n){return 1===arguments.length?function(n){return I(r,n)}:null!=n?En(r,n):void 0}var An=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var Nn=f(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function xn(n,r,t){for(var e=-1,u=n.length,i=((t=u<t?u:t)<0&&(t+=u),u=t<r?0:t-r>>>0,r>>>=0,Array(u));++e<u;)i[e]=n[e+r];return i}function Pn(r,n){return 1===arguments.length?function(n){return Pn(r,n)}:null!=n&&n.constructor===r||n instanceof r}function r(t,e){return function(n){return function(r){return n(t(r)).map(function(n){return e(n,r)})}}}function kn(r,n){var t;return 1===arguments.length?function(n){return kn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function Sn(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var Tn=f(Sn);function Fn(n,r,t){return n(t)>n(r)?t:r}var In=f(Fn);function Wn(n){return n.reduce(function(n,r){return n+r},0)}function Rn(n){return Wn(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function R(r,t){var e;return 1===arguments.length?function(n){return R(r,n)}:(e=m(r),Object.keys(t).forEach(function(n){"Object"===N(t[n])&&"Object"===N(r[n])?e[n]=R(r[n],t[n]):e[n]=t[n]}),e)}var qn=f(function(r,n,t){var e=null!=n?n:{},u=null!=t?t:{},i={};return Object.keys(e).forEach(function(n){i[n]=void 0===u[n]?e[n]:r(e[n],u[n])}),Object.keys(u).forEach(function(n){void 0===i[n]&&(i[n]=void 0===e[n]?u[n]:r(e[n],u[n]))}),i});function Bn(n,r,t){return n(t)<n(r)?t:r}var Cn=f(Bn);var Un=f(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==N(e)||void 0===t[n]?t:p(t)?Sn(n,r(t[n]),t):u(u({},t),{},i({},n,r(t[n])))});function _n(n,r,t){n=F(n);return 1===n.length?u(u({},t),{},i({},n[0],r(t[n[0]]))):void 0===I(n,t)||(r=Dn(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:y(n[0],r,t)}var Dn=f(_n);var Ln=f(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=l(t))[n]=t[r],e[r]=t[n],e)});function zn(r,n){return 1===arguments.length?function(n){return zn(r,n)}:r*n}function Mn(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function Hn(r){return{x:r,map:function(n){return Hn(n(r))}}}var $n=f(function(n,r,t){return n(function(n){return Hn(r(n))})(t).x});function Gn(e){for(var n=arguments.length,u=Array(1<n?n-1:0),r=1;r<n;r++)u[r-1]=arguments[r];var i=e.length;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u.length+r.length<i?Gn.apply(void 0,[e].concat([].concat(u,r))):e.apply(void 0,u.concat(r))}}function Jn(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=o(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function Kn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=[],u=[],i=-1;i++<r.length-1;)((t?n(r[i],i):n(r[i]))?e:u).push(r[i]);return[e,u]}var Qn=f(function(n,r,t){return P(I(n,t),r)});var Vn=f(function(n,r,t){return A(n,I(r,t))});var Xn=b(zn,1);var Yn=f(function(n,r,t){return!!t&&P(n,S(r,t))});var Zn=f(function(n,r,t){return Pn(n,t[r])});var nr=f(function(n,r,t){return t?A(n,t[r]):n});var rr=f(function(n,r,t){return n(S(r,t))});function tr(r,n){if(1===arguments.length)return function(n){return tr(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}var er=f(function(n,r,t){return t.replace(n,r)});var ur=f(function(n,r,t){return $n(n,H(r),t)});var ir=f(function(n,r,t){return t.slice(n,r)});function q(r,n){return 1===arguments.length?function(n){return q(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):xn(n,0,r)}function or(n){return["Promise","Function"].includes(N(n))}function fr(r){return{x:r,map:function(n){return fr(r)}}}var cr=f(function(n,r,t){return n(t)?r(t):t});var ar=f(function(t,n,e){return q((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=c,n._indexOf=x,n._lastIndexOf=cn,n._pipe=Q,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=B,n.addIndexRight=function(n){return B(n,function(n){return n-1},function(n){return n-1})},n.adjust=M,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=H,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.ap=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.reduce(function(n,r){return[].concat(s(n),s(e.map(r)))},[])},n.aperture=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(n.length<t)return[];for(var e=0,u=n.length-(t-1),i=Array(u);e<u;)i[e]=n.slice(e,e+t),e+=1;return i},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=l(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=c(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,f){var n=o-f.length;if(1==n)return function(n){return u(i,o,g.apply(void 0,s(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,g.apply(void 0,s(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,g.apply(void 0,s(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,g.apply(void 0,s(f).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,g.apply(void 0,s(f).concat(r)))};if(p(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==h(i[t])&&!p(i[t])||(r[t]=u(i[t],o,f)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,s(f)));return r}var c,a={};for(c in i)0!=i.hasOwnProperty(c)&&"constructor"!==c&&("object"===h(i[c])?a[c]=u(i[c],o,f):"function"==typeof i[c]&&(a[c]=i[c].apply(i,s(f))));return a}(n,r,e)},n.applyTo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n(t)},n.ascend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:v(e(n),e(r),-1,1)},n.assoc=y,n.assocPath=$,n.binary=function(t){return 2<t.length?function(n,r){return t(n,r)}:t},n.bind=function r(e,u){return 1===arguments.length?function(n){return r(e,n)}:t(e.length,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.apply(u,r)})},n.both=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return t.apply(void 0,arguments)&&n.apply(void 0,arguments)}},n.call=function(n){for(var r=arguments.length,t=Array(1<r?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];return n.apply(void 0,t)},n.chain=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[]).concat.apply(e,s(n.map(t)))},n.clamp=G,n.clone=m,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=b(function(n,r){var t=e(r);return void 0===n[t]&&(n[t]=[]),n[t].push(r),n},{},n),i=[];for(t in u)i.push(u[t]);return i},n.comparator=function(t){return function(n,r){return t(n,r)?-1:t(r,n)?1:0}},n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return V.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.composeWith=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:rn(t,Z(n))},n.concat=tn,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=o(n,2),r=n[0],n=n[1];!u&&r(t)&&(u=!0,e=n(t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(b(function(n,r){return fn(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,E(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:p(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.createCompareFunction=v,n.curry=f,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=A,n.descend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:v(e(n),e(r),1,-1)},n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:gn(t).filter(function(n){return!k(n,e)})},n.differenceWith=yn,n.differenceWithFn=vn,n.dissoc=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null==n)return{};var e,u={};for(e in n)u[e]=n[e];return delete u[t],u},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=w,n.dropLast=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:0<t?n.slice(0,-t):n.slice()},n.dropLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;var e=p(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(h(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(h(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(p(n))return t=[],n.reduce(function(n,r){return P(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(p(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=p(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!p(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=P(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqProps=dn,n.equals=P,n.evolve=wn,n.evolveArray=mn,n.evolveObject=bn,n.filter=T,n.filterArray=On,n.filterObject=jn,n.find=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0,u=n.length;e<u;){var i=n[e];if(t(i))return i;e++}},n.findIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length,u=-1;++u<e;)if(t(n[u]))return u;return-1},n.findLast=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return n[e]},n.findLastIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return e;return-1},n.flatten=function n(r,t){for(var e=void 0===t?[]:t,u=0;u<r.length;u++)p(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(p(n))for(var e=0,u=n.length;e<u;)t(n[e]),e++;else for(var i=0,o=un(n),f=o.length;i<f;){var c=o[i];t(n[c],c,n),i++}return n}},n.fromPairs=function(n){var r={};return n.forEach(function(n){n=o(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,f,c;if(p(o))return n=l(o),1===o.length?[n]:(f=[],c=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===c.length,t=t===o.length-1,e?(u&&c.push(n),c.push(r),t&&f.push(c)):u?(f.push([n]),t&&f.push([r])):(f.push(c),t&&f.push([r]),c=[])),r},void 0),f);throw new TypeError("list.reduce is not a function")},n.has=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!n&&n.hasOwnProperty(t)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==I(t,n)},n.head=X,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:An(t,n)},n.identity=Y,n.ifElse=Nn,n.inc=function(n){return n+1},n.includes=k,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var f=u[o];i[I(e,f)]=f}return i}for(var c={},a=0;a<n.length;a++){var l=n[a];c[t(l)]=l}return c},n.indexOf=function(r,n){return 1===arguments.length?function(n){return x(r,n)}:x(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?xn(n,0,-1):[]},n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return k(n,t)},n)},n.intersperse=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=n.length,i=[];++e<u;)e===u-1?i.push(n[e]):i.push(n[e],t);return i},n.is=Pn,n.isEmpty=function(n){var r=N(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))},n.isNil=function(n){return null==n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return cn(r,n)}:cn(r,n)},n.length=function(n){return p(n)||"string"==typeof n?n.length:NaN},n.lens=r,n.lensIndex=function(n){return r(kn(n),Tn(n))},n.lensPath=function(n){return r(I(n),$(n))},n.lensProp=function(n){return r(S(n),y(n))},n.map=E,n.mapArray=j,n.mapObjIndexed=on,n.mapObject=O,n.match=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:null===(n=n.match(t))?[]:n},n.mathMod=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:d(t)&&d(n)&&1<=n?(t%n+n)%n:NaN},n.max=fn,n.maxBy=In,n.maxByFn=Fn,n.mean=Rn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Rn(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=W,n.mergeAll=function(n){var r={};return E(function(n){r=W(r,n)},n),r},n.mergeDeepRight=R,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=qn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Cn,n.minByFn=Bn,n.modify=Un,n.modifyPath=Dn,n.modifyPathFn=_n,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=Ln,n.multiply=zn,n.negate=function(n){return-n},n.none=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(t(n[e]))return!1;return!0},n.not=function(n){return!n},n.nth=kn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:i({},t,n)},n.of=function(n){return[n]},n.omit=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){var e,u=F(t,","),i={};for(e in n)u.includes(e)||(i[e]=n[e]);return i}},n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?f(Mn(n,r)):Mn(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=$n,n.partial=Gn,n.partialObject=function(r,t){return function(n){return r(R(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(p(n)?Kn:Jn)(t,n)},n.partitionArray=Kn,n.partitionObject=Jn,n.path=I,n.pathEq=Qn,n.pathFn=En,n.pathOr=Vn,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return I(n,e)})},n.pick=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=F(t,","),u={},i=0;i<e.length;)e[i]in n&&(u[e[i]]=n[e[i]]),i++;return u}},n.pickAll=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=F(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=V,n.pipeWith=rn,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],E(function(n){void 0!==n[t]&&e.push(n[t])},n),e)},n.prepend=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:[t].concat("string"==typeof n?n.split(""):n)},n.product=Xn,n.prop=S,n.propEq=Yn,n.propIs=Zn,n.propOr=nr,n.propSatisfies=rr,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(p(t))return j(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=tr,n.reduce=b,n.reduceFn=K,n.reduceStopper=function(n){return new J(n)},n.reject=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return!t(n)},n)},n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=er,n.reverse=Z,n.set=ur,n.slice=ir,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return p(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===N(u)?u():u,i=e||"Function"!==N(i)?i:i(),[q(e=e?u:i,n),w(e,n)]):[[],[]];throw new TypeError("Cannot read property 'slice' of ".concat(n))},n.splitEvery=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(t<1)throw Error("First argument to splitEvery must be a positive integer");for(var e=[],u=0;u<n.length;)e.push(n.slice(u,u+=t));return e},n.splitWhen=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!n)throw new TypeError("Cannot read property 'length' of ".concat(n));for(var e=[],u=[],i=!1,o=-1;o++<n.length-1;)i?u.push(n[o]):t(n[o])?(u.push(n[o]),i=!0):e.push(n[o]);return[e,u]},n.startsWith=function r(t,e){var u;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.startsWith(t):!!p(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=P(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Wn,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:tn(T(function(n){return!k(n,e)},t),T(function(n){return!k(n,t)},e))},n.tail=nn,n.take=q,n.takeLast=function r(t,n){var e,u;return 1===arguments.length?function(n){return r(t,n)}:(e=n.length,t<0?n.slice():(u=e<t?e:t,"string"==typeof n?n.slice(e-u):xn(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return p(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=p(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!d(n)||n<0)throw new RangeError("n must be an integer");return E(t,tr(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return p(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(or(e))return i=or(u),function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];try{return e.apply(void 0,r)}catch(n){return i?u.apply(void 0,[n].concat(r)):u}};throw Error("R.tryCatch | fn '".concat(e,"'"))},n.type=N,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=l(t),n.forEach(function(n){k(n,t)||e.push(n)}),e)},n.uniq=gn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new pn,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:function(n){return t(n)?n:e(n)}},n.unnest=function(n){return n.reduce(function(n,r){return[].concat(s(n),Array.isArray(r)?s(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:p(e[t])?j(function(n){return u(u({},e),{},i({},t,n))},e[t]):[e]},n.update=Tn,n.updateFn=Sn,n.values=function(n){return"Object"!==N(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(fr)(n).x},n.when=cr,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){var n;return 1===arguments.length?function(n){return r(t,n)}:(n=T(function(n,r){return P(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:b(function(n,r){return-1<x(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:q(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=ar});
package/immutable.d.ts CHANGED
@@ -95,6 +95,9 @@ interface AssocPartialOne<K extends keyof any> {
95
95
  <T>(val: T): <U>(obj: U) => Record<K, T> & U;
96
96
  <T, U>(val: T, obj: U): Record<K, T> & U;
97
97
  }
98
+ type AtLeastOneFunctionsFlowFromRightToLeft<TArgs extends readonly any[], TResult> =
99
+ | readonly [(...args: any) => TResult, ...ReadonlyArray<(args: any) => any>, (...args: TArgs) => any]
100
+ | readonly [(...args: TArgs) => TResult];
98
101
 
99
102
  type AnyFunction = (...args: readonly any[]) => unknown;
100
103
  type AnyConstructor = new (...args: readonly any[]) => unknown;
@@ -277,6 +280,8 @@ export function assocPath<Output>(path: Path, newValue: any, obj: object): Outpu
277
280
  export function assocPath<Output>(path: Path, newValue: any): (obj: object) => Output;
278
281
  export function assocPath<Output>(path: Path): (newValue: any) => (obj: object) => Output;
279
282
 
283
+ export function binary<T extends (...arg: readonly any[]) => any>(fn: T): (...args: readonly any[]) => ReturnType<T>;
284
+
280
285
  /**
281
286
  * Creates a function that is bound to a context.
282
287
  */
@@ -293,6 +298,8 @@ export function both<T>(pred1: Predicate<T>, pred2: Predicate<T>): Predicate<T>;
293
298
  export function both<T>(pred1: Predicate<T>): (pred2: Predicate<T>) => Predicate<T>;
294
299
  export function both(pred1: Pred): (pred2: Pred) => Pred;
295
300
 
301
+ export function call<T extends (...args: readonly any[]) => any>(fn: T, ...args: Parameters<T>): ReturnType<T>;
302
+
296
303
  /**
297
304
  * The method is also known as `flatMap`.
298
305
  */
@@ -315,6 +322,11 @@ export function clamp(min: number, max: number): (input: number) => number;
315
322
  export function clone<T>(input: T): T;
316
323
  export function clone<T>(input: readonly T[]): readonly T[];
317
324
 
325
+ export function collectBy<T, K extends PropertyKey>(keyFn: (value: T) => K, list: readonly T[]): readonly (readonly T[])[];
326
+ export function collectBy<T, K extends PropertyKey>(keyFn: (value: T) => K): (list: readonly T[]) => readonly (readonly T[])[];
327
+
328
+ export function comparator<T>(pred: (a: T, b: T) => boolean): (x: T, y: T) => Ordering;
329
+
318
330
  /**
319
331
  * It returns `inverted` version of `origin` function that accept `input` as argument.
320
332
  *
@@ -390,6 +402,16 @@ export function compose<TArgs extends readonly any[], R1>(
390
402
  f1: (...args: TArgs) => R1
391
403
  ): (...args: TArgs) => R1;
392
404
 
405
+ export function composeWith<TArgs extends readonly any[], TResult>(
406
+ transformer: (fn: (...args: readonly any[]) => any, intermediatResult: any) => any,
407
+ fns: AtLeastOneFunctionsFlowFromRightToLeft<TArgs, TResult>,
408
+ ): (...args: TArgs) => TResult;
409
+ export function composeWith(
410
+ transformer: (fn: (...args: readonly any[]) => any, intermediatResult: any) => any,
411
+ ): <TArgs extends readonly any[], TResult>(
412
+ fns: AtLeastOneFunctionsFlowFromRightToLeft<TArgs, TResult>,
413
+ ) => (...args: TArgs) => TResult;
414
+
393
415
  /**
394
416
  * It returns a new string or array, which is the result of merging `x` and `y`.
395
417
  */
@@ -1270,17 +1292,10 @@ export function product(list: readonly number[]): number;
1270
1292
  *
1271
1293
  * If there is no such property, it returns `undefined`.
1272
1294
  */
1273
- export function prop<P extends keyof never, T>(propToFind: P, value: T): Prop<T, P>;
1274
- export function prop<P extends keyof never>(propToFind: P): {
1275
- <T>(value: Record<P, T>): T;
1276
- <T>(value: T): Prop<T, P>;
1277
- };
1278
- export function prop<P extends keyof T, T>(propToFind: P): {
1279
- (value: T): Prop<T, P>;
1280
- };
1281
- export function prop<P extends keyof never, T>(propToFind: P): {
1282
- (value: Record<P, T>): T;
1283
- };
1295
+ export function prop<_, P extends keyof never, T>(p: P, value: T): Prop<T, P>;
1296
+ export function prop<V>(p: keyof never, value: unknown): V;
1297
+ export function prop<_, P extends keyof never>(p: P): <T>(value: T) => Prop<T, P>;
1298
+ export function prop<V>(p: keyof never): (value: unknown) => V;
1284
1299
 
1285
1300
  /**
1286
1301
  * It returns true if `obj` has property `propToFind` and its value is equal to `valueToMatch`.
package/index.d.ts CHANGED
@@ -95,6 +95,9 @@ interface AssocPartialOne<K extends keyof any> {
95
95
  <T>(val: T): <U>(obj: U) => Record<K, T> & U;
96
96
  <T, U>(val: T, obj: U): Record<K, T> & U;
97
97
  }
98
+ type AtLeastOneFunctionsFlowFromRightToLeft<TArgs extends any[], TResult> =
99
+ | [(...args: any) => TResult, ...Array<(args: any) => any>, (...args: TArgs) => any]
100
+ | [(...args: TArgs) => TResult];
98
101
 
99
102
  type AnyFunction = (...args: any[]) => unknown;
100
103
  type AnyConstructor = new (...args: any[]) => unknown;
@@ -277,6 +280,8 @@ export function assocPath<Output>(path: Path, newValue: any, obj: object): Outpu
277
280
  export function assocPath<Output>(path: Path, newValue: any): (obj: object) => Output;
278
281
  export function assocPath<Output>(path: Path): (newValue: any) => (obj: object) => Output;
279
282
 
283
+ export function binary<T extends (...arg: any[]) => any>(fn: T): (...args: any[]) => ReturnType<T>;
284
+
280
285
  /**
281
286
  * Creates a function that is bound to a context.
282
287
  */
@@ -293,6 +298,8 @@ export function both<T>(pred1: Predicate<T>, pred2: Predicate<T>): Predicate<T>;
293
298
  export function both<T>(pred1: Predicate<T>): (pred2: Predicate<T>) => Predicate<T>;
294
299
  export function both(pred1: Pred): (pred2: Pred) => Pred;
295
300
 
301
+ export function call<T extends (...args: any[]) => any>(fn: T, ...args: Parameters<T>): ReturnType<T>;
302
+
296
303
  /**
297
304
  * The method is also known as `flatMap`.
298
305
  */
@@ -315,6 +322,11 @@ export function clamp(min: number, max: number): (input: number) => number;
315
322
  export function clone<T>(input: T): T;
316
323
  export function clone<T>(input: T[]): T[];
317
324
 
325
+ export function collectBy<T, K extends PropertyKey>(keyFn: (value: T) => K, list: T[]): T[][];
326
+ export function collectBy<T, K extends PropertyKey>(keyFn: (value: T) => K): (list: T[]) => T[][];
327
+
328
+ export function comparator<T>(pred: (a: T, b: T) => boolean): (x: T, y: T) => Ordering;
329
+
318
330
  /**
319
331
  * It returns `inverted` version of `origin` function that accept `input` as argument.
320
332
  *
@@ -390,6 +402,16 @@ export function compose<TArgs extends any[], R1>(
390
402
  f1: (...args: TArgs) => R1
391
403
  ): (...args: TArgs) => R1;
392
404
 
405
+ export function composeWith<TArgs extends any[], TResult>(
406
+ transformer: (fn: (...args: any[]) => any, intermediatResult: any) => any,
407
+ fns: AtLeastOneFunctionsFlowFromRightToLeft<TArgs, TResult>,
408
+ ): (...args: TArgs) => TResult;
409
+ export function composeWith(
410
+ transformer: (fn: (...args: any[]) => any, intermediatResult: any) => any,
411
+ ): <TArgs extends any[], TResult>(
412
+ fns: AtLeastOneFunctionsFlowFromRightToLeft<TArgs, TResult>,
413
+ ) => (...args: TArgs) => TResult;
414
+
393
415
  /**
394
416
  * It returns a new string or array, which is the result of merging `x` and `y`.
395
417
  */
@@ -1270,17 +1292,10 @@ export function product(list: number[]): number;
1270
1292
  *
1271
1293
  * If there is no such property, it returns `undefined`.
1272
1294
  */
1273
- export function prop<P extends keyof never, T>(propToFind: P, value: T): Prop<T, P>;
1274
- export function prop<P extends keyof never>(propToFind: P): {
1275
- <T>(value: Record<P, T>): T;
1276
- <T>(value: T): Prop<T, P>;
1277
- };
1278
- export function prop<P extends keyof T, T>(propToFind: P): {
1279
- (value: T): Prop<T, P>;
1280
- };
1281
- export function prop<P extends keyof never, T>(propToFind: P): {
1282
- (value: Record<P, T>): T;
1283
- };
1295
+ export function prop<_, P extends keyof never, T>(p: P, value: T): Prop<T, P>;
1296
+ export function prop<V>(p: keyof never, value: unknown): V;
1297
+ export function prop<_, P extends keyof never>(p: P): <T>(value: T) => Prop<T, P>;
1298
+ export function prop<V>(p: keyof never): (value: unknown) => V;
1284
1299
 
1285
1300
  /**
1286
1301
  * It returns true if `obj` has property `propToFind` and its value is equal to `valueToMatch`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rambda",
3
- "version": "8.2.0",
3
+ "version": "8.3.0",
4
4
  "scripts": {
5
5
  "benchmark": "cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark",
6
6
  "benchmark:all": "yarn build:step && cd ../rambda-scripts && yarn benchmark:all",
@@ -48,6 +48,7 @@
48
48
  "combinate": "1.1.11",
49
49
  "cross-env": "7.0.3",
50
50
  "dtslint": "4.2.1",
51
+ "fast-check": "^3.11.0",
51
52
  "helpers-fn": "1.8.1",
52
53
  "is-ci": "3.0.1",
53
54
  "jest": "29.5.0",
package/rambda.js CHANGED
@@ -20,13 +20,18 @@ export * from './src/applyTo.js'
20
20
  export * from './src/ascend.js'
21
21
  export * from './src/assoc.js'
22
22
  export * from './src/assocPath.js'
23
+ export * from './src/binary.js'
23
24
  export * from './src/bind.js'
24
25
  export * from './src/both.js'
26
+ export * from './src/call.js'
25
27
  export * from './src/chain.js'
26
28
  export * from './src/clamp.js'
27
29
  export * from './src/clone.js'
30
+ export * from './src/collectBy.js'
31
+ export * from './src/comparator.js'
28
32
  export * from './src/complement.js'
29
33
  export * from './src/compose.js'
34
+ export * from './src/composeWith.js'
30
35
  export * from './src/concat.js'
31
36
  export * from './src/cond.js'
32
37
  export * from './src/converge.js'
@@ -0,0 +1,64 @@
1
+ export function _arity(n, fn){
2
+ switch (n){
3
+ case 0:
4
+ return function (){
5
+ return fn.apply(this, arguments)
6
+ }
7
+ case 1:
8
+ return function (_1){
9
+ return fn.apply(this, arguments)
10
+ }
11
+ case 2:
12
+ return function (_1, _2){
13
+ return fn.apply(this, arguments)
14
+ }
15
+ case 3:
16
+ return function (
17
+ _1, _2, _3
18
+ ){
19
+ return fn.apply(this, arguments)
20
+ }
21
+ case 4:
22
+ return function (
23
+ _1, _2, _3, _4
24
+ ){
25
+ return fn.apply(this, arguments)
26
+ }
27
+ case 5:
28
+ return function (
29
+ _1, _2, _3, _4, _5
30
+ ){
31
+ return fn.apply(this, arguments)
32
+ }
33
+ case 6:
34
+ return function (
35
+ _1, _2, _3, _4, _5, _6
36
+ ){
37
+ return fn.apply(this, arguments)
38
+ }
39
+ case 7:
40
+ return function (
41
+ _1, _2, _3, _4, _5, _6, _7
42
+ ){
43
+ return fn.apply(this, arguments)
44
+ }
45
+ case 8:
46
+ return function (
47
+ _1, _2, _3, _4, _5, _6, _7, _8
48
+ ){
49
+ return fn.apply(this, arguments)
50
+ }
51
+ case 9:
52
+ return function (
53
+ _1, _2, _3, _4, _5, _6, _7, _8, _9
54
+ ){
55
+ return fn.apply(this, arguments)
56
+ }
57
+ default:
58
+ return function (
59
+ _1, _2, _3, _4, _5, _6, _7, _8, _9, _10
60
+ ){
61
+ return fn.apply(this, arguments)
62
+ }
63
+ }
64
+ }
package/src/binary.js ADDED
@@ -0,0 +1,5 @@
1
+ export function binary(fn){
2
+ if (fn.length <= 2) return fn
3
+
4
+ return (a, b) => fn(a, b)
5
+ }
package/src/call.js ADDED
@@ -0,0 +1 @@
1
+ export const call = (fn, ...inputs) => fn(...inputs)
@@ -0,0 +1,27 @@
1
+ import { reduce } from './reduce.js'
2
+
3
+ export function collectBy(fn, list){
4
+ if (arguments.length === 1){
5
+ return _list => collectBy(fn, _list)
6
+ }
7
+
8
+ const group = reduce(
9
+ (o, x) => {
10
+ const tag = fn(x)
11
+ if (o[ tag ] === undefined){
12
+ o[ tag ] = []
13
+ }
14
+ o[ tag ].push(x)
15
+
16
+ return o
17
+ },
18
+ {},
19
+ list
20
+ )
21
+ const newList = []
22
+ for (const tag in group){
23
+ newList.push(group[ tag ])
24
+ }
25
+
26
+ return newList
27
+ }
@@ -0,0 +1,5 @@
1
+ export function comparator(fn){
2
+ return function (a, b){
3
+ return fn(a, b) ? -1 : fn(b, a) ? 1 : 0
4
+ }
5
+ }
@@ -0,0 +1,33 @@
1
+ import { _arity } from './_internals/_arity.js'
2
+ import { head } from './head.js'
3
+ import { identity } from './identity.js'
4
+ import { reduce } from './reduce.js'
5
+ import { reverse } from './reverse.js'
6
+ import { tail } from './tail.js'
7
+
8
+ export function pipeWith(xf, list){
9
+ if (list.length <= 0){
10
+ return identity
11
+ }
12
+
13
+ const headList = head(list)
14
+ const tailList = tail(list)
15
+
16
+ return _arity(headList.length, function (){
17
+ return reduce(
18
+ function (result, f){
19
+ return xf.call(
20
+ this, f, result
21
+ )
22
+ },
23
+ headList.apply(this, arguments),
24
+ tailList
25
+ )
26
+ })
27
+ }
28
+
29
+ export function composeWith(xf, list){
30
+ if (arguments.length === 1) return _list => composeWith(xf, _list)
31
+
32
+ return pipeWith.apply(this, [ xf, reverse(list) ])
33
+ }
package/src/curryN.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { _arity } from './_internals/_arity.js'
2
+
1
3
  function _curryN(
2
4
  n, cache, fn
3
5
  ){
@@ -25,71 +27,6 @@ function _curryN(
25
27
  }
26
28
  }
27
29
 
28
- function _arity(n, fn){
29
- switch (n){
30
- case 0:
31
- return function (){
32
- return fn.apply(this, arguments)
33
- }
34
- case 1:
35
- return function (_1){
36
- return fn.apply(this, arguments)
37
- }
38
- case 2:
39
- return function (_1, _2){
40
- return fn.apply(this, arguments)
41
- }
42
- case 3:
43
- return function (
44
- _1, _2, _3
45
- ){
46
- return fn.apply(this, arguments)
47
- }
48
- case 4:
49
- return function (
50
- _1, _2, _3, _4
51
- ){
52
- return fn.apply(this, arguments)
53
- }
54
- case 5:
55
- return function (
56
- _1, _2, _3, _4, _5
57
- ){
58
- return fn.apply(this, arguments)
59
- }
60
- case 6:
61
- return function (
62
- _1, _2, _3, _4, _5, _6
63
- ){
64
- return fn.apply(this, arguments)
65
- }
66
- case 7:
67
- return function (
68
- _1, _2, _3, _4, _5, _6, _7
69
- ){
70
- return fn.apply(this, arguments)
71
- }
72
- case 8:
73
- return function (
74
- _1, _2, _3, _4, _5, _6, _7, _8
75
- ){
76
- return fn.apply(this, arguments)
77
- }
78
- case 9:
79
- return function (
80
- _1, _2, _3, _4, _5, _6, _7, _8, _9
81
- ){
82
- return fn.apply(this, arguments)
83
- }
84
- default:
85
- return function (
86
- _1, _2, _3, _4, _5, _6, _7, _8, _9, _10
87
- ){
88
- return fn.apply(this, arguments)
89
- }
90
- }
91
- }
92
-
93
30
  export function curryN(n, fn){
94
31
  if (arguments.length === 1) return _fn => curryN(n, _fn)
95
32
 
package/src/pipe.js CHANGED
@@ -1,72 +1,6 @@
1
+ import { _arity } from './_internals/_arity.js'
1
2
  import { reduceFn } from './reduce.js'
2
3
 
3
- export function _arity(n, fn){
4
- switch (n){
5
- case 0:
6
- return function (){
7
- return fn.apply(this, arguments)
8
- }
9
- case 1:
10
- return function (a0){
11
- return fn.apply(this, arguments)
12
- }
13
- case 2:
14
- return function (a0, a1){
15
- return fn.apply(this, arguments)
16
- }
17
- case 3:
18
- return function (
19
- a0, a1, a2
20
- ){
21
- return fn.apply(this, arguments)
22
- }
23
- case 4:
24
- return function (
25
- a0, a1, a2, a3
26
- ){
27
- return fn.apply(this, arguments)
28
- }
29
- case 5:
30
- return function (
31
- a0, a1, a2, a3, a4
32
- ){
33
- return fn.apply(this, arguments)
34
- }
35
- case 6:
36
- return function (
37
- a0, a1, a2, a3, a4, a5
38
- ){
39
- return fn.apply(this, arguments)
40
- }
41
- case 7:
42
- return function (
43
- a0, a1, a2, a3, a4, a5, a6
44
- ){
45
- return fn.apply(this, arguments)
46
- }
47
- case 8:
48
- return function (
49
- a0, a1, a2, a3, a4, a5, a6, a7
50
- ){
51
- return fn.apply(this, arguments)
52
- }
53
- case 9:
54
- return function (
55
- a0, a1, a2, a3, a4, a5, a6, a7, a8
56
- ){
57
- return fn.apply(this, arguments)
58
- }
59
- case 10:
60
- return function (
61
- a0, a1, a2, a3, a4, a5, a6, a7, a8, a9
62
- ){
63
- return fn.apply(this, arguments)
64
- }
65
- default:
66
- throw new Error('First argument to _arity must be a non-negative integer no greater than ten')
67
- }
68
- }
69
-
70
4
  export function _pipe(f, g){
71
5
  return function (){
72
6
  return g.call(this, f.apply(this, arguments))