rambda 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ 9.1.0
2
+
3
+ Add these methods
4
+
5
+ - insert
6
+ - insertAll
7
+ - lt
8
+ - lte
9
+ - isNotNil
10
+ - pickBy
11
+ - pathSatisfies
12
+ - swap
13
+ - mergeDeepLeft
14
+
15
+ 9.0.1
16
+
17
+ - Fix bad TS typings, due to missing declaration - [Issue #716](https://github.com/selfrefactor/rambda/issues/716)
18
+
1
19
  9.0.0
2
20
 
3
21
  Breaking change in TS definitions of `lenses` as now they are synced to `Ramda` types.
package/README.md CHANGED
@@ -9,6 +9,7 @@
9
9
  ![Library size](https://img.shields.io/bundlephobia/minzip/rambda)
10
10
  [![install size](https://packagephobia.com/badge?p=rambda)](https://packagephobia.com/result?p=rambda)
11
11
  [![nest badge](https://nest.land/badge.svg)](https://nest.land/package/rambda)
12
+ [![PR's Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](https://github.com/selfrefactor/rambda/pulls)
12
13
 
13
14
  ## ❯ Example use
14
15
 
@@ -105,25 +106,19 @@ One of the main issues with `Ramda` is the slow process of releasing new version
105
106
 
106
107
  <details>
107
108
  <summary>
108
- Click to see the full list of 51 Ramda methods not implemented in Rambda and their status.
109
+ Click to see the full list of 43 Ramda methods not implemented in Rambda and their status.
109
110
  </summary>
110
111
 
111
- - insert
112
- - insertAll
113
112
  - into
114
113
  - invert
115
114
  - invertObj
116
115
  - invoker
117
- - isNotNil
118
116
  - keysIn
119
117
  - lift
120
118
  - liftN
121
- - lt
122
- - lte
123
119
  - mapAccum
124
120
  - mapAccumRight
125
121
  - memoizeWith
126
- - mergeDeepLeft
127
122
  - mergeDeepWith
128
123
  - mergeDeepWithKey
129
124
  - mergeWithKey
@@ -134,7 +129,6 @@ One of the main issues with `Ramda` is the slow process of releasing new version
134
129
  - pair
135
130
  - partialRight
136
131
  - pathSatisfies
137
- - pickBy
138
132
  - pipeWith
139
133
  - project
140
134
  - promap
@@ -145,7 +139,6 @@ One of the main issues with `Ramda` is the slow process of releasing new version
145
139
  - scan
146
140
  - sequence
147
141
  - splitWhenever
148
- - swap
149
142
  - symmetricDifferenceWith
150
143
  - andThen
151
144
  - toPairsIn
@@ -6530,6 +6523,14 @@ It returns a new list by applying a `predicate` function to all elements of `lis
6530
6523
 
6531
6524
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#innerJoin)
6532
6525
 
6526
+ ### insert
6527
+
6528
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#insert)
6529
+
6530
+ ### insertAll
6531
+
6532
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#insertAll)
6533
+
6533
6534
  ### intersection
6534
6535
 
6535
6536
  It loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.
@@ -6699,6 +6700,10 @@ test('happy', () => {
6699
6700
 
6700
6701
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#isNil)
6701
6702
 
6703
+ ### isNotNil
6704
+
6705
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#isNotNil)
6706
+
6702
6707
  ### join
6703
6708
 
6704
6709
  ```typescript
@@ -7541,6 +7546,12 @@ test('get (set(set s v1) v2) === v2', () => {
7541
7546
 
7542
7547
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#lensProp)
7543
7548
 
7549
+ ### lt
7550
+
7551
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20%5BR.lt(2%2C%201)%2C%20R.lt(2%2C%203)%5D%0A%2F%2F%20%3D%3E%20%5Bfalse%2C%20true%5D">Try this <strong>R.lt</strong> example in Rambda REPL</a>
7552
+
7553
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#lt)
7554
+
7544
7555
  ### map
7545
7556
 
7546
7557
  ```typescript
@@ -8266,6 +8277,10 @@ describe('R.mergeAll', () => {
8266
8277
 
8267
8278
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mergeAll)
8268
8279
 
8280
+ ### mergeDeepLeft
8281
+
8282
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mergeDeepLeft)
8283
+
8269
8284
  ### mergeDeepRight
8270
8285
 
8271
8286
  ```typescript
@@ -9802,7 +9817,8 @@ Logical OR
9802
9817
 
9803
9818
  ```typescript
9804
9819
 
9805
- over<T>(lens: Lens, fn: Arity1Fn, value: T): T
9820
+ over<S, A>(lens: Lens<S, A>): {
9821
+ (fn: (a: A) => A): (value: S) => S
9806
9822
  ```
9807
9823
 
9808
9824
  It returns a copied **Object** or **Array** with modified value received by applying function `fn` to `lens` focus.
@@ -9814,12 +9830,12 @@ It returns a copied **Object** or **Array** with modified value received by appl
9814
9830
  <summary>All TypeScript definitions</summary>
9815
9831
 
9816
9832
  ```typescript
9817
- over<T>(lens: Lens, fn: Arity1Fn, value: T): T;
9818
- over<T>(lens: Lens, fn: Arity1Fn, value: T[]): T[];
9819
- over(lens: Lens, fn: Arity1Fn): <T>(value: T) => T;
9820
- over(lens: Lens, fn: Arity1Fn): <T>(value: T[]) => T[];
9821
- over(lens: Lens): <T>(fn: Arity1Fn, value: T) => T;
9822
- over(lens: Lens): <T>(fn: Arity1Fn, value: T[]) => T[];
9833
+ over<S, A>(lens: Lens<S, A>): {
9834
+ (fn: (a: A) => A): (value: S) => S;
9835
+ (fn: (a: A) => A, value: S): S;
9836
+ };
9837
+ over<S, A>(lens: Lens<S, A>, fn: (a: A) => A): (value: S) => S;
9838
+ over<S, A>(lens: Lens<S, A>, fn: (a: A) => A, value: S): S;
9823
9839
  ```
9824
9840
 
9825
9841
  </details>
@@ -11075,6 +11091,10 @@ describe('R.paths', () => {
11075
11091
 
11076
11092
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#paths)
11077
11093
 
11094
+ ### pathSatisfies
11095
+
11096
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pathSatisfies)
11097
+
11078
11098
  ### pick
11079
11099
 
11080
11100
  ```typescript
@@ -11445,6 +11465,10 @@ describe('R.pickAll with string as props input', () => {
11445
11465
 
11446
11466
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pickAll)
11447
11467
 
11468
+ ### pickBy
11469
+
11470
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pickBy)
11471
+
11448
11472
  ### pipe
11449
11473
 
11450
11474
  It performs left-to-right function composition.
@@ -13005,7 +13029,10 @@ describe('R.reverse', () => {
13005
13029
 
13006
13030
  ```typescript
13007
13031
 
13008
- set<T, U>(lens: Lens, replacer: U, obj: T): T
13032
+ set<S, A>(lens: Lens<S, A>): {
13033
+ (a: A): (obj: S) => S
13034
+ (a: A, obj: S): S
13035
+ }
13009
13036
  ```
13010
13037
 
13011
13038
  It returns a copied **Object** or **Array** with modified `lens` focus set to `replacer` value.
@@ -13017,9 +13044,12 @@ It returns a copied **Object** or **Array** with modified `lens` focus set to `r
13017
13044
  <summary>All TypeScript definitions</summary>
13018
13045
 
13019
13046
  ```typescript
13020
- set<T, U>(lens: Lens, replacer: U, obj: T): T;
13021
- set<U>(lens: Lens, replacer: U): <T>(obj: T) => T;
13022
- set(lens: Lens): <T, U>(replacer: U, obj: T) => T;
13047
+ set<S, A>(lens: Lens<S, A>): {
13048
+ (a: A): (obj: S) => S
13049
+ (a: A, obj: S): S
13050
+ };
13051
+ set<S, A>(lens: Lens<S, A>, a: A): (obj: S) => S;
13052
+ set<S, A>(lens: Lens<S, A>, a: A, obj: S): S;
13023
13053
  ```
13024
13054
 
13025
13055
  </details>
@@ -14126,6 +14156,10 @@ test('happy', () => {
14126
14156
 
14127
14157
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sum)
14128
14158
 
14159
+ ### swap
14160
+
14161
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#swap)
14162
+
14129
14163
  ### symmetricDifference
14130
14164
 
14131
14165
  ```typescript
@@ -17242,6 +17276,24 @@ describe('R.zipWith', () => {
17242
17276
 
17243
17277
  ## ❯ CHANGELOG
17244
17278
 
17279
+ 9.1.0
17280
+
17281
+ Add these methods
17282
+
17283
+ - insert
17284
+ - insertAll
17285
+ - lt
17286
+ - lte
17287
+ - isNotNil
17288
+ - pickBy
17289
+ - pathSatisfies
17290
+ - swap
17291
+ - mergeDeepLeft
17292
+
17293
+ 9.0.1
17294
+
17295
+ - Fix bad TS typings, due to missing declaration - [Issue #716](https://github.com/selfrefactor/rambda/issues/716)
17296
+
17245
17297
  9.0.0
17246
17298
 
17247
17299
  Breaking change in TS definitions of `lenses` as now they are synced to `Ramda` types.
package/dist/rambda.js CHANGED
@@ -1496,6 +1496,16 @@ function innerJoinFn(pred, xs, ys) {
1496
1496
  }
1497
1497
  const innerJoin = curry(innerJoinFn);
1498
1498
 
1499
+ function insertFn(indexToInsert, valueToInsert, array) {
1500
+ return [...array.slice(0, indexToInsert), valueToInsert, ...array.slice(indexToInsert)];
1501
+ }
1502
+ const insert = curry(insertFn);
1503
+
1504
+ function insertAllFn(index, listToInsert, list) {
1505
+ return [...list.slice(0, index), ...listToInsert, ...list.slice(index)];
1506
+ }
1507
+ const insertAll = curry(insertAllFn);
1508
+
1499
1509
  function intersection(listA, listB) {
1500
1510
  if (arguments.length === 1) return _list => intersection(listA, _list);
1501
1511
  return filter(x => includes$1(x, listA), listB);
@@ -1538,6 +1548,10 @@ function isNil(x) {
1538
1548
  return x === undefined || x === null;
1539
1549
  }
1540
1550
 
1551
+ function isNotNil(input) {
1552
+ return input != null;
1553
+ }
1554
+
1541
1555
  function join(glue, list) {
1542
1556
  if (arguments.length === 1) return _list => join(glue, _list);
1543
1557
  return list.join(glue);
@@ -1597,6 +1611,11 @@ function lensProp(key) {
1597
1611
  return lens(prop(key), assoc(key));
1598
1612
  }
1599
1613
 
1614
+ function lt(a, b) {
1615
+ if (arguments.length === 1) return _b => lt(a, _b);
1616
+ return a < b;
1617
+ }
1618
+
1600
1619
  function match(pattern, input) {
1601
1620
  if (arguments.length === 1) return _input => match(pattern, _input);
1602
1621
  const willReturn = input.match(pattern);
@@ -1665,6 +1684,10 @@ function mergeDeepRight(target, source) {
1665
1684
  return willReturn;
1666
1685
  }
1667
1686
 
1687
+ function mergeDeepLeft(newProps, target) {
1688
+ return mergeDeepRight(target, newProps);
1689
+ }
1690
+
1668
1691
  function mergeLeft(x, y) {
1669
1692
  if (arguments.length === 1) return _y => mergeLeft(x, _y);
1670
1693
  return mergeRight(y, x);
@@ -1878,6 +1901,12 @@ function pathOrFn(defaultValue, pathInput, obj) {
1878
1901
  }
1879
1902
  const pathOr = curry(pathOrFn);
1880
1903
 
1904
+ function pathSatisfiesFn(fn, pathInput, obj) {
1905
+ if (pathInput.length === 0) throw new Error("R.pathSatisfies received an empty path");
1906
+ return Boolean(fn(path(pathInput, obj)));
1907
+ }
1908
+ const pathSatisfies = curry(pathSatisfiesFn);
1909
+
1881
1910
  function paths(pathsToSearch, obj) {
1882
1911
  if (arguments.length === 1) {
1883
1912
  return _obj => paths(pathsToSearch, _obj);
@@ -1921,6 +1950,18 @@ function pickAll(propsToPick, obj) {
1921
1950
  return willReturn;
1922
1951
  }
1923
1952
 
1953
+ function pickBy(predicate, obj) {
1954
+ if (arguments.length === 1) {
1955
+ return _obj => pickBy(predicate, _obj);
1956
+ }
1957
+ return Object.keys(obj).reduce((accum, key) => {
1958
+ if (predicate(obj[key], key, obj)) {
1959
+ accum[key] = obj[key];
1960
+ }
1961
+ return accum;
1962
+ }, {});
1963
+ }
1964
+
1924
1965
  function pluck(property, list) {
1925
1966
  if (arguments.length === 1) return _list => pluck(property, _list);
1926
1967
  const willReturn = [];
@@ -2143,6 +2184,31 @@ function subtract(a, b) {
2143
2184
  return a - b;
2144
2185
  }
2145
2186
 
2187
+ function swapArrayOrString(indexA, indexB, iterable) {
2188
+ const actualIndexA = indexA < 0 ? iterable.length + indexA : indexA;
2189
+ const actualIndexB = indexB < 0 ? iterable.length + indexB : indexB;
2190
+ if (actualIndexA === actualIndexB || Math.min(actualIndexA, actualIndexB) < 0 || Math.max(actualIndexA, actualIndexB) >= iterable.length) return iterable;
2191
+ if (typeof iterable === 'string') {
2192
+ return iterable.slice(0, actualIndexA) + iterable[actualIndexB] + iterable.slice(actualIndexA + 1, actualIndexB) + iterable[actualIndexA] + iterable.slice(actualIndexB + 1);
2193
+ }
2194
+ const clone = iterable.slice();
2195
+ const temp = clone[actualIndexA];
2196
+ clone[actualIndexA] = clone[actualIndexB];
2197
+ clone[actualIndexB] = temp;
2198
+ return clone;
2199
+ }
2200
+ function swapFn(indexA, indexB, iterable) {
2201
+ if (isArray(iterable) || typeof iterable === 'string') return swapArrayOrString(indexA, indexB, iterable);
2202
+ const aVal = iterable[indexA];
2203
+ const bVal = iterable[indexB];
2204
+ if (aVal === undefined || bVal === undefined) return iterable;
2205
+ return _objectSpread2(_objectSpread2({}, iterable), {}, {
2206
+ [indexA]: iterable[indexB],
2207
+ [indexB]: iterable[indexA]
2208
+ });
2209
+ }
2210
+ const swap = curry(swapFn);
2211
+
2146
2212
  function symmetricDifference(x, y) {
2147
2213
  if (arguments.length === 1) {
2148
2214
  return _y => symmetricDifference(x, _y);
@@ -2528,11 +2594,16 @@ exports.indexOf = indexOf;
2528
2594
  exports.init = init;
2529
2595
  exports.innerJoin = innerJoin;
2530
2596
  exports.innerJoinFn = innerJoinFn;
2597
+ exports.insert = insert;
2598
+ exports.insertAll = insertAll;
2599
+ exports.insertAllFn = insertAllFn;
2600
+ exports.insertFn = insertFn;
2531
2601
  exports.intersection = intersection;
2532
2602
  exports.intersperse = intersperse;
2533
2603
  exports.is = is;
2534
2604
  exports.isEmpty = isEmpty;
2535
2605
  exports.isNil = isNil;
2606
+ exports.isNotNil = isNotNil;
2536
2607
  exports.join = join;
2537
2608
  exports.juxt = juxt;
2538
2609
  exports.keys = keys;
@@ -2543,6 +2614,7 @@ exports.lens = lens;
2543
2614
  exports.lensIndex = lensIndex;
2544
2615
  exports.lensPath = lensPath;
2545
2616
  exports.lensProp = lensProp;
2617
+ exports.lt = lt;
2546
2618
  exports.map = map;
2547
2619
  exports.mapArray = mapArray;
2548
2620
  exports.mapObjIndexed = mapObjIndexed;
@@ -2556,6 +2628,7 @@ exports.mean = mean;
2556
2628
  exports.median = median;
2557
2629
  exports.merge = mergeRight;
2558
2630
  exports.mergeAll = mergeAll;
2631
+ exports.mergeDeepLeft = mergeDeepLeft;
2559
2632
  exports.mergeDeepRight = mergeDeepRight;
2560
2633
  exports.mergeLeft = mergeLeft;
2561
2634
  exports.mergeRight = mergeRight;
@@ -2590,9 +2663,12 @@ exports.path = path;
2590
2663
  exports.pathEq = pathEq;
2591
2664
  exports.pathFn = pathFn;
2592
2665
  exports.pathOr = pathOr;
2666
+ exports.pathSatisfies = pathSatisfies;
2667
+ exports.pathSatisfiesFn = pathSatisfiesFn;
2593
2668
  exports.paths = paths;
2594
2669
  exports.pick = pick;
2595
2670
  exports.pickAll = pickAll;
2671
+ exports.pickBy = pickBy;
2596
2672
  exports.pipe = pipe;
2597
2673
  exports.pipeWith = pipeWith;
2598
2674
  exports.pluck = pluck;
@@ -2628,6 +2704,9 @@ exports.splitWhen = splitWhen;
2628
2704
  exports.startsWith = startsWith;
2629
2705
  exports.subtract = subtract;
2630
2706
  exports.sum = sum;
2707
+ exports.swap = swap;
2708
+ exports.swapArrayOrString = swapArrayOrString;
2709
+ exports.swapFn = swapFn;
2631
2710
  exports.symmetricDifference = symmetricDifference;
2632
2711
  exports.tail = tail;
2633
2712
  exports.take = take;
@@ -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 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 R(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 o(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){f(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 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,_(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 f(n,r,t){return(r=_(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function i(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 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)||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 _(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 c(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?c(u,n):u.apply(void 0,s(n))}}var M=c(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 J(r){return function(n){return r}}var p=Array.isArray;function g(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,g(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function v(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function u(n,r,t,e){return n===r?0:n<r?t:e}function y(n,r,t){return Object.assign({},t,f({},n,r))}var H=c(y);function $(n){return Number.isInteger(+(""+n))}var d=Number.isInteger||function(n){return n<<0===n};function m(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:".").map(function(n){return d(n)?+(""+n):n}):n}function G(n,r,t){var e,u,n=m(n);return 0===n.length?r:(e=n[0],1<n.length&&(u="object"!==h(t)||null===t||!t.hasOwnProperty(e)?$(n[1])?[]:{}:t[e],r=G(Array.prototype.slice.call(n,1),r,u)),$(e)&&p(t)?((n=l(t))[e]=r,n):y(e,r,t))}var K=c(G);var Q=c(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 b(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()):b(e):e}return t}var V=L(function n(r){U(this,n),this.value=r});function X(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 V)return r.value;e++}}return r}var j=c(X);function Y(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Z(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,X(Y,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function nn(n){return"string"==typeof n?n[0]||"":n[0]}function rn(n){return n}function tn(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function O(r,n){return 1===arguments.length?function(n){return O(r,n)}:n.slice(0<r?r:0)}function en(n){return O(1,n)}function un(t,n){var r,e;return 0<n.length?(r=nn(n),e=en(n),a(r.length,function(){return j(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):rn}function on(r,n){return 1===arguments.length?function(n){return on(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(s(r),s(n))}var fn="Incorrect iterable input",cn=Object.keys;function w(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 A(r,n){if(1===arguments.length)return function(n){return A(r,n)};for(var t=0,e=cn(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var an=A;function E(r,n){if(1===arguments.length)return function(n){return E(r,n)};if(n)return(p(n)?w:A)(r,n);throw Error(fn)}function ln(r,n){return 1===arguments.length?function(n){return ln(r,n)}:r<n?n:r}function x(r,n){return 1===arguments.length?function(n){return x(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 hn(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)k(r[e],n)&&(u=e);return u}function P(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)k(r[e],n)&&(u=e);return u}function sn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function pn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function gn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function k(t,e){var n,u,i,r,o,f,c,a;return 1===arguments.length?function(n){return k(t,n)}:(n=N(t))===N(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Null","Undefined"].includes(n)||(["BigInt","Number"].includes(n)?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["Boolean","String"].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]||k(n,u[r])||(i=!1)}),i):(r=gn(t),o=gn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(r=pn(t),o=pn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(t instanceof Error?e instanceof Error&&(r=t).message===(o=e).message&&r.toString===o.toString&&""+r==""+o:"Set"===n?(o=t).size===(c=e).size&&(o=sn(o.values()),f=sn(c.values()),0===o.filter(function(n){return-1===P(n,f)}).length):"Object"===n&&(c=Object.keys(t)).length===Object.keys(e).length&&(a=!0,c.forEach(function(n){var r;a&&(r=t[n])!==(n=e[n])&&!k(r,n)&&(a=!1)}),a))))))}function S(r,n){if(1===arguments.length)return function(n){return S(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!p(n)&&-1<P(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var vn=function(){function n(){U(this,n),this.set=new Set,this.items={}}return L(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===P(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 yn(n){var r=new vn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function dn(t,n,r){var e=[],r=i(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!==P(r,e)||e.push(r)}),e}var mn=c(dn);function bn(r,n){if(1===arguments.length)return function(n){return bn(r,n)};if(null!=n){var t,e=m(r,","),u={};for(t in n)!function(n,r){for(var t=-1,e=r.length;++t<e;)if(""+r[t]==""+n)return 1}(t,e)&&(u[t]=n[t]);return u}}function jn(n,r){for(var t=r,e=0,u=m(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?jn(r,n):void 0}function On(r,n){return 1===arguments.length?function(n){return On(r,n)}:0<r?r<n.length-1?[].concat(s(n.slice(0,r)),s(n.slice(r+1))):n.slice(0,n.length-1):n.slice(1)}function wn(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var An=c(wn);function En(n,r,t){return k(n(r),n(t))}var xn=c(En);function Nn(n,r){if(r)return r[n]}function I(r,n){return 1===arguments.length?function(n){return I(r,n)}:Nn(r,n)}var Pn=c(function(n,r,t){return k(I(n,r),I(n,t))});function kn(t,n){return w(function(n,r){return"Function"===N(t[r])?t[r](n):n},n,!0)}function Sn(e,n){return A(function(n,r){var t;return"Object"===N(n)?"Function"===(t=N(e[r]))?e[r](n):"Object"===t?Fn(e[r],n):n:"Function"===N(e[r])?e[r](n):n},n)}function Fn(r,n){if(1===arguments.length)return function(n){return Fn(r,n)};var t=N(r),e=N(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?Sn:kn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function In(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function Tn(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)?Tn(r,n,!1):In(r,n);throw Error("Incorrect iterable input")}function Wn(n,r){for(var t=0,e=cn(r),u=e.length;t<u;){var i=e[t];n(r[i],i,r),t++}return r}function Bn(r,n){return 1===arguments.length?function(n){return Bn(r,n)}:!!n&&n.hasOwnProperty(r)}var qn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var Rn=c(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function Cn(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 Un(o,n,f){for(var r=function(n){for(var r=o,t=n,e=f,u=0,i=e.length;u<i;){if(r(t,e[u]))return 1;u+=1}},t=n,e=0,u=t.length,i=[];e<u;)r(t[e])&&(i[i.length]=t[e]),e+=1;return i}var Dn=c(Un);function Ln(r,n){return 1===arguments.length?function(n){return Ln(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 zn(r,n){var t;return 1===arguments.length?function(n){return zn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function _n(n,r,t){return n(t)>n(r)?t:r}var Mn=c(_n);function Jn(n){return n.reduce(function(n,r){return n+r},0)}function Hn(n){return Jn(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function B(r,t){var e;return 1===arguments.length?function(n){return B(r,n)}:(e=b(r),Object.keys(t).forEach(function(n){"Object"===N(t[n])&&"Object"===N(r[n])?e[n]=B(r[n],t[n]):e[n]=t[n]}),e)}function $n(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}var Gn=c($n);function Kn(n,r,t){return n(t)<n(r)?t:r}var Qn=c(Kn);var Vn=c(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==N(e)||void 0===t[n]?t:p(t)?wn(n,r(t[n]),t):o(o({},t),{},f({},n,r(t[n])))});function Xn(n,r,t){n=m(n);return 1===n.length?o(o({},t),{},f({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=Yn(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:H(n[0],r,t)}var Yn=c(Xn);var Zn=c(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 nr(r,n){return 1===arguments.length?function(n){return nr(r,n)}:r*n}function rr(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function tr(r){return{x:r,map:function(n){return tr(n(r))}}}var er=c(function(n,r,t){return n(function(n){return tr(r(n))})(t).x});function ur(e){for(var u=e.length,n=arguments.length,r=Array(1<n?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];var i=1===r.length&&p(r[0])?r[0]:r;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return i.length+r.length<u?ur.apply(void 0,[e].concat([].concat(s(i),r))):e.apply(void 0,s(i).concat(r))}}function ir(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=i(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function or(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 fr=c(function(n,r,t){return k(F(n,t),r)});var cr=c(function(n,r,t){return x(n,F(r,t))});var ar=j(nr,1);var lr=c(function(n,r,t){return!!t&&k(n,I(r,t))});var hr=c(function(n,r,t){return Ln(n,t[r])});var sr=c(function(n,r,t){return t?x(n,t[r]):n});var pr=c(function(n,r,t){return n(I(r,t))});function gr(r,n){if(1===arguments.length)return function(n){return gr(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}function vr(i,o,f,n){return j(function(n,r){return t=i,e=o,n=n,u=(u=f)(r=r),t=t(Bn(u,n)?n[u]:b(e),r),n[u]=t,n;var t,e,u},{},n)}var yr=c(vr);var dr=c(function(n,r,t){return t.replace(n,r)});var mr=c(function(n,r,t){return er(n,J(r),t)});var br=c(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):Cn(n,0,r)}function jr(n){return["Promise","Function"].includes(N(n))}function Or(r){return{x:r,map:function(n){return Or(r)}}}var wr=c(function(n,r,t){return n(t)?r(t):t});var Ar=c(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=g,n._indexOf=P,n._lastIndexOf=hn,n._pipe=Y,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=R,n.addIndexRight=function(n){return R(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=J,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=g(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,v.apply(void 0,s(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,v.apply(void 0,s(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,v.apply(void 0,s(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,v.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,v.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)}:u(e(n),e(r),-1,1)},n.assoc=H,n.assocFn=y,n.assocPath=K,n.assocPathFn=G,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=Q,n.clone=b,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=j(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 Z.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)}:un(t,tn(n))},n.concat=on,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=i(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(j(function(n,r){return ln(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=u,n.curry=c,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=x,n.descend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),1,-1)},n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:yn(t).filter(function(n){return!S(n,e)})},n.differenceWith=mn,n.differenceWithFn=dn,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.dissocPath=function r(t,n){var e,u,i;return 1===arguments.length?function(n){return r(t,n)}:0===(i=m(t)).length||void 0===F(i,n)?n:(e=i[0],u="object"!==h(n)||null===n||!n.hasOwnProperty(e),1<i.length?(u=u?$(i[1])?[]:{}:n[e],i=r(Array.prototype.slice.call(i,1),u,n),p(n)?An(e,i,n):o(o({},n),{},f({},e,i))):p(n)?On(e,n):bn([e],n))},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=O,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 k(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=null,n.slice().filter(function(n){if(null===e)e=t(n);else{if(n=t(n),k(e,n))return!1;e=n}return!0}))},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.empty=function(n){var r;return"string"==typeof n?"":Array.isArray(n)?"Uint8Array"===(r=n.constructor.name)?Uint8Array.from(""):"Float32Array"===r?new Float32Array([]):[]:"Object"===N(n)?{}:void 0},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=k(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqBy=xn,n.eqByFn=En,n.eqProps=Pn,n.equals=k,n.evolve=Fn,n.evolveArray=kn,n.evolveObject=Sn,n.filter=T,n.filterArray=Tn,n.filterObject=In,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))return Wn(t,n);for(var e=0,u=n.length;e<u;)t(n[e]),e++;return n}},n.forEachObjIndexed=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==n?Wn(t,n):void 0},n.forEachObjIndexedFn=Wn,n.fromPairs=function(n){var r={};return n.forEach(function(n){n=i(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.gt=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t},n.gte=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<=t},n.has=Bn,n.hasIn=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==Nn(t,n)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==F(t,n)},n.head=nn,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:qn(t,n)},n.identity=rn,n.ifElse=Rn,n.inc=function(n){return n+1},n.includes=S,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 P(r,n)}:P(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?Cn(n,0,-1):[]},n.innerJoin=Dn,n.innerJoinFn=Un,n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return S(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=Ln,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 hn(r,n)}:hn(r,n)},n.length=function(n){return p(n)||"string"==typeof n?n.length:NaN},n.lens=r,n.lensIndex=function(n){return r(zn(n),An(n))},n.lensPath=function(n){return r(F(n),K(n))},n.lensProp=function(n){return r(I(n),H(n))},n.map=E,n.mapArray=w,n.mapObjIndexed=an,n.mapObject=A,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=ln,n.maxBy=Mn,n.maxByFn=_n,n.mean=Hn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Hn(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=B,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Gn,n.mergeWithFn=$n,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Qn,n.minByFn=Kn,n.modify=Vn,n.modifyPath=Yn,n.modifyPathFn=Xn,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=Zn,n.multiply=nr,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=zn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:f({},t,n)},n.of=function(n){return[n]},n.omit=bn,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?c(rr(n,r)):rr(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=er,n.partial=ur,n.partialObject=function(r,t){return function(n){return r(B(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(p(n)?or:ir)(t,n)},n.partitionArray=or,n.partitionObject=ir,n.path=F,n.pathEq=fr,n.pathFn=jn,n.pathOr=cr,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=m(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=m(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=Z,n.pipeWith=un,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=ar,n.prop=I,n.propEq=lr,n.propFn=Nn,n.propIs=hr,n.propOr=sr,n.propSatisfies=pr,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(p(t))return w(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=gr,n.reduce=j,n.reduceBy=yr,n.reduceByFn=vr,n.reduceFn=X,n.reduceStopper=function(n){return new V(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.removeIndex=On,n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=dr,n.reverse=tn,n.set=mr,n.slice=br,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.sortWith=function r(f,n){return 1===arguments.length?function(n){return r(f,n)}:!1===Array.isArray(n)?[]:((n=n.slice()).sort(function(n,r){for(var t=n,e=r,u=f,i=0,o=0;0===i&&o<u.length;)i=u[o](t,e),o+=1;return i}),n)},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),O(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=k(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=Jn,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:on(T(function(n){return!S(n,e)},t),T(function(n){return!S(n,t)},e))},n.tail=en,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):Cn(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,gr(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(jr(e))return i=jr(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){S(n,t)||e.push(n)}),e)},n.uniq=yn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new vn,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])?w(function(n){return o(o({},e),{},f({},t,n))},e[t]):[e]},n.update=An,n.updateFn=wn,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(Or)(n).x},n.when=wr,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 k(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)}:j(function(n,r){return-1<P(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});
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,c){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,c,f){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,c,f,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,c,f){return function(){for(var n=0,r=0,t=c.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=c[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?a(o-u.length,i(o,u,f)):f.apply(this,u)}}(r,[],n))}function q(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 o(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){c(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 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 c(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 i(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,c=[],f=!0,a=!1;try{if(i=(t=t.call(n)).next,0===r){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(c.push(e.value),c.length!==r);f=!0);}catch(n){a=!0,u=n}finally{try{if(!f&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw u}}return c}}(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 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)||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(s(i),t)).length<u.length?f(u,n):u.apply(void 0,s(n))}}var _=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 J(r){return function(n){return r}}var p=Array.isArray;function g(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,g(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function v(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function u(n,r,t,e){return n===r?0:n<r?t:e}function y(n,r,t){return Object.assign({},t,c({},n,r))}var H=f(y);function $(n){return Number.isInteger(+(""+n))}var d=Number.isInteger||function(n){return n<<0===n};function m(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:".").map(function(n){return d(n)?+(""+n):n}):n}function G(n,r,t){var e,u,n=m(n);return 0===n.length?r:(e=n[0],1<n.length&&(u="object"!==h(t)||null===t||!t.hasOwnProperty(e)?$(n[1])?[]:{}:t[e],r=G(Array.prototype.slice.call(n,1),r,u)),$(e)&&p(t)?((n=l(t))[e]=r,n):y(e,r,t))}var K=f(G);var Q=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 b(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()):b(e):e}return t}var V=L(function n(r){U(this,n),this.value=r});function X(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 V)return r.value;e++}}return r}var w=f(X);function Y(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Z(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,X(Y,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function nn(n){return"string"==typeof n?n[0]||"":n[0]}function rn(n){return n}function tn(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function O(r,n){return 1===arguments.length?function(n){return O(r,n)}:n.slice(0<r?r:0)}function en(n){return O(1,n)}function un(t,n){var r,e;return 0<n.length?(r=nn(n),e=en(n),a(r.length,function(){return w(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):rn}function on(r,n){return 1===arguments.length?function(n){return on(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(s(r),s(n))}var cn="Incorrect iterable input",fn=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 A(r,n){if(1===arguments.length)return function(n){return A(r,n)};for(var t=0,e=fn(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var an=A;function E(r,n){if(1===arguments.length)return function(n){return E(r,n)};if(n)return(p(n)?j:A)(r,n);throw Error(cn)}function ln(r,n){return 1===arguments.length?function(n){return ln(r,n)}:r<n?n:r}function x(r,n){return 1===arguments.length?function(n){return x(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 hn(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)S(r[e],n)&&(u=e);return u}function P(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)S(r[e],n)&&(u=e);return u}function sn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function pn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function gn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function S(t,e){var n,u,i,r,o,c,f,a;return 1===arguments.length?function(n){return S(t,n)}:(n=N(t))===N(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Null","Undefined"].includes(n)||(["BigInt","Number"].includes(n)?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["Boolean","String"].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]||S(n,u[r])||(i=!1)}),i):(r=gn(t),o=gn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(r=pn(t),o=pn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(t instanceof Error?e instanceof Error&&(r=t).message===(o=e).message&&r.toString===o.toString&&""+r==""+o:"Set"===n?(o=t).size===(f=e).size&&(o=sn(o.values()),c=sn(f.values()),0===o.filter(function(n){return-1===P(n,c)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(a=!0,f.forEach(function(n){var r;a&&(r=t[n])!==(n=e[n])&&!S(r,n)&&(a=!1)}),a))))))}function F(r,n){if(1===arguments.length)return function(n){return F(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!p(n)&&-1<P(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var vn=function(){function n(){U(this,n),this.set=new Set,this.items={}}return L(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===P(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 yn(n){var r=new vn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function dn(t,n,r){var e=[],r=i(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!==P(r,e)||e.push(r)}),e}var mn=f(dn);function bn(r,n){if(1===arguments.length)return function(n){return bn(r,n)};if(null!=n){var t,e=m(r,","),u={};for(t in n)!function(n,r){for(var t=-1,e=r.length;++t<e;)if(""+r[t]==""+n)return 1}(t,e)&&(u[t]=n[t]);return u}}function wn(n,r){for(var t=r,e=0,u=m(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function k(r,n){return 1===arguments.length?function(n){return k(r,n)}:null!=n?wn(r,n):void 0}function On(r,n){return 1===arguments.length?function(n){return On(r,n)}:0<r?r<n.length-1?[].concat(s(n.slice(0,r)),s(n.slice(r+1))):n.slice(0,n.length-1):n.slice(1)}function jn(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var An=f(jn);function En(n,r,t){return S(n(r),n(t))}var xn=f(En);function Nn(n,r){if(r)return r[n]}function I(r,n){return 1===arguments.length?function(n){return I(r,n)}:Nn(r,n)}var Pn=f(function(n,r,t){return S(I(n,r),I(n,t))});function Sn(t,n){return j(function(n,r){return"Function"===N(t[r])?t[r](n):n},n,!0)}function Fn(e,n){return A(function(n,r){var t;return"Object"===N(n)?"Function"===(t=N(e[r]))?e[r](n):"Object"===t?kn(e[r],n):n:"Function"===N(e[r])?e[r](n):n},n)}function kn(r,n){if(1===arguments.length)return function(n){return kn(r,n)};var t=N(r),e=N(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?Fn:Sn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function In(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function Tn(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)?Tn(r,n,!1):In(r,n);throw Error("Incorrect iterable input")}function Wn(n,r){for(var t=0,e=fn(r),u=e.length;t<u;){var i=e[t];n(r[i],i,r),t++}return r}function Bn(r,n){return 1===arguments.length?function(n){return Bn(r,n)}:!!n&&n.hasOwnProperty(r)}var Rn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var qn=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 Cn(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 Un(o,n,c){for(var r=function(n){for(var r=o,t=n,e=c,u=0,i=e.length;u<i;){if(r(t,e[u]))return 1;u+=1}},t=n,e=0,u=t.length,i=[];e<u;)r(t[e])&&(i[i.length]=t[e]),e+=1;return i}var Dn=f(Un);function Ln(n,r,t){return[].concat(s(t.slice(0,n)),[r],s(t.slice(n)))}var zn=f(Ln);function Mn(n,r,t){return[].concat(s(t.slice(0,n)),s(r),s(t.slice(n)))}var _n=f(Mn);function Jn(r,n){return 1===arguments.length?function(n){return Jn(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 Hn(r,n){var t;return 1===arguments.length?function(n){return Hn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function $n(n,r,t){return n(t)>n(r)?t:r}var Gn=f($n);function Kn(n){return n.reduce(function(n,r){return n+r},0)}function Qn(n){return Kn(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function B(r,t){var e;return 1===arguments.length?function(n){return B(r,n)}:(e=b(r),Object.keys(t).forEach(function(n){"Object"===N(t[n])&&"Object"===N(r[n])?e[n]=B(r[n],t[n]):e[n]=t[n]}),e)}function Vn(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}var Xn=f(Vn);function Yn(n,r,t){return n(t)<n(r)?t:r}var Zn=f(Yn);var nr=f(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==N(e)||void 0===t[n]?t:p(t)?jn(n,r(t[n]),t):o(o({},t),{},c({},n,r(t[n])))});function rr(n,r,t){n=m(n);return 1===n.length?o(o({},t),{},c({},n[0],r(t[n[0]]))):void 0===k(n,t)||(r=tr(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:H(n[0],r,t)}var tr=f(rr);var er=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 ur(r,n){return 1===arguments.length?function(n){return ur(r,n)}:r*n}function ir(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function or(r){return{x:r,map:function(n){return or(n(r))}}}var cr=f(function(n,r,t){return n(function(n){return or(r(n))})(t).x});function fr(e){for(var u=e.length,n=arguments.length,r=Array(1<n?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];var i=1===r.length&&p(r[0])?r[0]:r;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return i.length+r.length<u?fr.apply(void 0,[e].concat([].concat(s(i),r))):e.apply(void 0,s(i).concat(r))}}function ar(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=i(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function lr(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 hr=f(function(n,r,t){return S(k(n,t),r)});var sr=f(function(n,r,t){return x(n,k(r,t))});function pr(n,r,t){if(0===r.length)throw Error("R.pathSatisfies received an empty path");return!!n(k(r,t))}var gr=f(pr);var vr=w(ur,1);var yr=f(function(n,r,t){return!!t&&S(n,I(r,t))});var dr=f(function(n,r,t){return Jn(n,t[r])});var mr=f(function(n,r,t){return t?x(n,t[r]):n});var br=f(function(n,r,t){return n(I(r,t))});function wr(r,n){if(1===arguments.length)return function(n){return wr(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}function Or(i,o,c,n){return w(function(n,r){return t=i,e=o,n=n,u=(u=c)(r=r),t=t(Bn(u,n)?n[u]:b(e),r),n[u]=t,n;var t,e,u},{},n)}var jr=f(Or);var Ar=f(function(n,r,t){return t.replace(n,r)});var Er=f(function(n,r,t){return cr(n,J(r),t)});var xr=f(function(n,r,t){return t.slice(n,r)});function R(r,n){return 1===arguments.length?function(n){return R(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):Cn(n,0,r)}function Nr(n,r,t){var e,n=n<0?t.length+n:n,r=r<0?t.length+r:r;return n===r||Math.min(n,r)<0||t.length<=Math.max(n,r)?t:"string"==typeof t?t.slice(0,n)+t[r]+t.slice(n+1,r)+t[n]+t.slice(r+1):(e=(t=t.slice())[n],t[n]=t[r],t[r]=e,t)}function Pr(n,r,t){return p(t)||"string"==typeof t?Nr(n,r,t):void 0===t[n]||void 0===t[r]?t:o(o({},t),{},c(c({},n,t[r]),r,t[n]))}var Sr=f(Pr);function Fr(n){return["Promise","Function"].includes(N(n))}function kr(r){return{x:r,map:function(n){return kr(r)}}}var Ir=f(function(n,r,t){return n(t)?r(t):t});var Tr=f(function(t,n,e){return R((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=g,n._indexOf=P,n._lastIndexOf=hn,n._pipe=Y,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=q,n.addIndexRight=function(n){return q(n,function(n){return n-1},function(n){return n-1})},n.adjust=_,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=J,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=g(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,c){var n=o-c.length;if(1==n)return function(n){return u(i,o,v.apply(void 0,s(c).concat([n])))};if(2==n)return function(n,r){return u(i,o,v.apply(void 0,s(c).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,v.apply(void 0,s(c).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,v.apply(void 0,s(c).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,v.apply(void 0,s(c).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,c)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,s(c)));return r}var f,a={};for(f in i)0!=i.hasOwnProperty(f)&&"constructor"!==f&&("object"===h(i[f])?a[f]=u(i[f],o,c):"function"==typeof i[f]&&(a[f]=i[f].apply(i,s(c))));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)}:u(e(n),e(r),-1,1)},n.assoc=H,n.assocFn=y,n.assocPath=K,n.assocPathFn=G,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=Q,n.clone=b,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=w(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 Z.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)}:un(t,tn(n))},n.concat=on,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=i(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(w(function(n,r){return ln(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=u,n.curry=f,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=x,n.descend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),1,-1)},n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:yn(t).filter(function(n){return!F(n,e)})},n.differenceWith=mn,n.differenceWithFn=dn,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.dissocPath=function r(t,n){var e,u,i;return 1===arguments.length?function(n){return r(t,n)}:0===(i=m(t)).length||void 0===k(i,n)?n:(e=i[0],u="object"!==h(n)||null===n||!n.hasOwnProperty(e),1<i.length?(u=u?$(i[1])?[]:{}:n[e],i=r(Array.prototype.slice.call(i,1),u,n),p(n)?An(e,i,n):o(o({},n),{},c({},e,i))):p(n)?On(e,n):bn([e],n))},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=O,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 S(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=null,n.slice().filter(function(n){if(null===e)e=t(n);else{if(n=t(n),S(e,n))return!1;e=n}return!0}))},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.empty=function(n){var r;return"string"==typeof n?"":Array.isArray(n)?"Uint8Array"===(r=n.constructor.name)?Uint8Array.from(""):"Float32Array"===r?new Float32Array([]):[]:"Object"===N(n)?{}:void 0},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=S(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqBy=xn,n.eqByFn=En,n.eqProps=Pn,n.equals=S,n.evolve=kn,n.evolveArray=Sn,n.evolveObject=Fn,n.filter=T,n.filterArray=Tn,n.filterObject=In,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))return Wn(t,n);for(var e=0,u=n.length;e<u;)t(n[e]),e++;return n}},n.forEachObjIndexed=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==n?Wn(t,n):void 0},n.forEachObjIndexedFn=Wn,n.fromPairs=function(n){var r={};return n.forEach(function(n){n=i(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,c,f;if(p(o))return n=l(o),1===o.length?[n]:(c=[],f=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===f.length,t=t===o.length-1,e?(u&&f.push(n),f.push(r),t&&c.push(f)):u?(c.push([n]),t&&c.push([r])):(c.push(f),t&&c.push([r]),f=[])),r},void 0),c);throw new TypeError("list.reduce is not a function")},n.gt=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t},n.gte=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<=t},n.has=Bn,n.hasIn=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==Nn(t,n)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==k(t,n)},n.head=nn,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Rn(t,n)},n.identity=rn,n.ifElse=qn,n.inc=function(n){return n+1},n.includes=F,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 c=u[o];i[k(e,c)]=c}return i}for(var f={},a=0;a<n.length;a++){var l=n[a];f[t(l)]=l}return f},n.indexOf=function(r,n){return 1===arguments.length?function(n){return P(r,n)}:P(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?Cn(n,0,-1):[]},n.innerJoin=Dn,n.innerJoinFn=Un,n.insert=zn,n.insertAll=_n,n.insertAllFn=Mn,n.insertFn=Ln,n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return F(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=Jn,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.isNotNil=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 hn(r,n)}:hn(r,n)},n.length=function(n){return p(n)||"string"==typeof n?n.length:NaN},n.lens=r,n.lensIndex=function(n){return r(Hn(n),An(n))},n.lensPath=function(n){return r(k(n),K(n))},n.lensProp=function(n){return r(I(n),H(n))},n.lt=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t<n},n.map=E,n.mapArray=j,n.mapObjIndexed=an,n.mapObject=A,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=ln,n.maxBy=Gn,n.maxByFn=$n,n.mean=Qn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Qn(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.mergeDeepLeft=function(n,r){return B(r,n)},n.mergeDeepRight=B,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Xn,n.mergeWithFn=Vn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Zn,n.minByFn=Yn,n.modify=nr,n.modifyPath=tr,n.modifyPathFn=rr,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=er,n.multiply=ur,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=Hn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:c({},t,n)},n.of=function(n){return[n]},n.omit=bn,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(ir(n,r)):ir(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=cr,n.partial=fr,n.partialObject=function(r,t){return function(n){return r(B(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(p(n)?lr:ar)(t,n)},n.partitionArray=lr,n.partitionObject=ar,n.path=k,n.pathEq=hr,n.pathFn=wn,n.pathOr=sr,n.pathSatisfies=gr,n.pathSatisfiesFn=pr,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return k(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=m(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=m(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pickBy=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:Object.keys(e).reduce(function(n,r){return t(e[r],r,e)&&(n[r]=e[r]),n},{})},n.pipe=Z,n.pipeWith=un,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=vr,n.prop=I,n.propEq=yr,n.propFn=Nn,n.propIs=dr,n.propOr=mr,n.propSatisfies=br,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=wr,n.reduce=w,n.reduceBy=jr,n.reduceByFn=Or,n.reduceFn=X,n.reduceStopper=function(n){return new V(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.removeIndex=On,n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=Ar,n.reverse=tn,n.set=Er,n.slice=xr,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.sortWith=function r(c,n){return 1===arguments.length?function(n){return r(c,n)}:!1===Array.isArray(n)?[]:((n=n.slice()).sort(function(n,r){for(var t=n,e=r,u=c,i=0,o=0;0===i&&o<u.length;)i=u[o](t,e),o+=1;return i}),n)},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(),[R(e=e?u:i,n),O(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=S(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=Kn,n.swap=Sr,n.swapArrayOrString=Nr,n.swapFn=Pr,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:on(T(function(n){return!F(n,e)},t),T(function(n){return!F(n,t)},e))},n.tail=en,n.take=R,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):Cn(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,wr(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(Fr(e))return i=Fr(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){F(n,t)||e.push(n)}),e)},n.uniq=yn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new vn,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 o(o({},e),{},c({},t,n))},e[t]):[e]},n.update=An,n.updateFn=jn,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(kr)(n).x},n.when=Ir,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 S(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)}:w(function(n,r){return-1<P(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)}:R(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=Tr});
package/immutable.d.ts CHANGED
@@ -42,9 +42,11 @@ interface KeyValuePair<K, V> extends Array<K | V> {
42
42
  readonly 0: K;
43
43
  readonly 1: V;
44
44
  }
45
-
45
+ export type Functor<A> = { readonly map: <B>(fn: (a: A) => B) => Functor<B>; readonly [key: string]: any };
46
46
  export type Lens<S, A> = (functorFactory: (a: A) => Functor<A>) => (s: S) => Functor<S>;
47
47
 
48
+ export type ObjPred<T = unknown> = (value: any, key: unknown extends T ? string : keyof T) => boolean;
49
+
48
50
  type Arity1Fn = (x: any) => any;
49
51
  type Arity2Fn = (x: any, y: any) => any;
50
52
 
@@ -806,6 +808,14 @@ export function innerJoin<T1, T2>(
806
808
  ): (list2: readonly T2[]) => readonly T1[];
807
809
  export function innerJoin<T1, T2>(pred: (a: T1, b: T2) => boolean, list1: readonly T1[], list2: readonly T2[]): readonly T1[];
808
810
 
811
+ export function insert(index: number): <T>(itemToInsert: T, list: readonly T[]) => readonly T[];
812
+ export function insert<T>(index: number, itemToInsert: T): (list: readonly T[]) => readonly T[];
813
+ export function insert<T>(index: number, itemToInsert: T, list: readonly T[]): readonly T[];
814
+
815
+ export function insertAll(index: number): <T>(itemsToInsert: readonly T[], list: readonly T[]) => readonly T[];
816
+ export function insertAll<T>(index: number, itemsToInsert: readonly T[]): (list: readonly T[]) => readonly T[];
817
+ export function insertAll<T>(index: number, itemsToInsert: readonly T[], list: readonly T[]): readonly T[];
818
+
809
819
  /**
810
820
  * It loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.
811
821
  */
@@ -836,6 +846,8 @@ export function isEmpty<T>(x: T): boolean;
836
846
  */
837
847
  export function isNil(x: any): x is null | undefined;
838
848
 
849
+ export function isNotNil<T>(value: T): value is NonNullable<T>;
850
+
839
851
  /**
840
852
  * It returns a string of all `list` instances joined with a `glue`.
841
853
  */
@@ -941,6 +953,8 @@ export function lensPath<S = any, A = any>(path: Path): Lens<S, A>;
941
953
  */
942
954
  export function lensProp<S, K extends keyof S = keyof S>(prop: K): Lens<S, S[K]>;
943
955
 
956
+ export function lt<T>(x: T): T;
957
+
944
958
  /**
945
959
  * It returns the result of looping through `iterable` with `fn`.
946
960
  *
@@ -1008,6 +1022,9 @@ export function merge<Output>(target: any): (newProps: any) => Output;
1008
1022
  export function mergeAll<T>(list: readonly object[]): T;
1009
1023
  export function mergeAll(list: readonly object[]): object;
1010
1024
 
1025
+ export function mergeDeepLeft<Output>(newProps: object, target: object): Output;
1026
+ export function mergeDeepLeft<Output>(newProps: object): (target: object) => Output;
1027
+
1011
1028
  /**
1012
1029
  * Creates a new object with the own properties of the first object merged with the own properties of the second object. If a key exists in both objects:
1013
1030
  *
@@ -1158,12 +1175,12 @@ export function or<T>(a: T): <U>(b: U) => T | U;
1158
1175
  /**
1159
1176
  * It returns a copied **Object** or **Array** with modified value received by applying function `fn` to `lens` focus.
1160
1177
  */
1161
- export function over<T>(lens: Lens, fn: Arity1Fn, value: T): T;
1162
- export function over<T>(lens: Lens, fn: Arity1Fn, value: readonly T[]): readonly T[];
1163
- export function over(lens: Lens, fn: Arity1Fn): <T>(value: T) => T;
1164
- export function over(lens: Lens, fn: Arity1Fn): <T>(value: readonly T[]) => readonly T[];
1165
- export function over(lens: Lens): <T>(fn: Arity1Fn, value: T) => T;
1166
- export function over(lens: Lens): <T>(fn: Arity1Fn, value: readonly T[]) => readonly T[];
1178
+ export function over<S, A>(lens: Lens<S, A>): {
1179
+ (fn: (a: A) => A): (value: S) => S;
1180
+ (fn: (a: A) => A, value: S): S;
1181
+ };
1182
+ export function over<S, A>(lens: Lens<S, A>, fn: (a: A) => A): (value: S) => S;
1183
+ export function over<S, A>(lens: Lens<S, A>, fn: (a: A) => A, value: S): S;
1167
1184
 
1168
1185
  /**
1169
1186
  * It is very similar to `R.curry`, but you can pass initial arguments when you create the curried function.
@@ -1274,6 +1291,9 @@ export function pathOr<T>(defaultValue: T, pathToSearch: Path, obj: any): T;
1274
1291
  export function pathOr<T>(defaultValue: T, pathToSearch: Path): (obj: any) => T;
1275
1292
  export function pathOr<T>(defaultValue: T): (pathToSearch: Path) => (obj: any) => T;
1276
1293
 
1294
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path): (obj: U) => boolean;
1295
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path, obj: U): boolean;
1296
+
1277
1297
  /**
1278
1298
  * It loops over members of `pathsToSearch` as `singlePath` and returns the array produced by `R.path(singlePath, Record<string, unknown>)`.
1279
1299
  *
@@ -1307,6 +1327,9 @@ export function pickAll(propsToPicks: readonly string[]): <T, U>(input: T) => U;
1307
1327
  export function pickAll<T, U>(propsToPick: string, input: T): U;
1308
1328
  export function pickAll<T, U>(propsToPick: string): (input: T) => U;
1309
1329
 
1330
+ export function pickBy<T>(pred: ObjPred<T>): <U, V extends T>(obj: V) => U;
1331
+ export function pickBy<T, U>(pred: ObjPred<T>, obj: T): U;
1332
+
1310
1333
  /**
1311
1334
  * It performs left-to-right function composition.
1312
1335
  */
@@ -1502,9 +1525,12 @@ export function reverse(input: string): string;
1502
1525
  /**
1503
1526
  * It returns a copied **Object** or **Array** with modified `lens` focus set to `replacer` value.
1504
1527
  */
1505
- export function set<T, U>(lens: Lens, replacer: U, obj: T): T;
1506
- export function set<U>(lens: Lens, replacer: U): <T>(obj: T) => T;
1507
- export function set(lens: Lens): <T, U>(replacer: U, obj: T) => T;
1528
+ export function set<S, A>(lens: Lens<S, A>): {
1529
+ (a: A): (obj: S) => S
1530
+ (a: A, obj: S): S
1531
+ };
1532
+ export function set<S, A>(lens: Lens<S, A>, a: A): (obj: S) => S;
1533
+ export function set<S, A>(lens: Lens<S, A>, a: A, obj: S): S;
1508
1534
 
1509
1535
  export function slice(from: number, to: number, input: string): string;
1510
1536
  export function slice<T>(from: number, to: number, input: readonly T[]): readonly T[];
@@ -1584,6 +1610,9 @@ export function subtract(x: number): (y: number) => number;
1584
1610
 
1585
1611
  export function sum(list: readonly number[]): number;
1586
1612
 
1613
+ export function swap(indexA: number, indexB: number): <T>(list: readonly T[]) => readonly T[];
1614
+ export function swap<T>(indexA: number, indexB: number, list: readonly T[]): readonly T[];
1615
+
1587
1616
  /**
1588
1617
  * It returns a merged list of `x` and `y` with all equal elements removed.
1589
1618
  *
package/index.d.ts CHANGED
@@ -42,9 +42,11 @@ interface KeyValuePair<K, V> extends Array<K | V> {
42
42
  0: K;
43
43
  1: V;
44
44
  }
45
-
45
+ export type Functor<A> = { map: <B>(fn: (a: A) => B) => Functor<B>; [key: string]: any };
46
46
  export type Lens<S, A> = (functorFactory: (a: A) => Functor<A>) => (s: S) => Functor<S>;
47
47
 
48
+ export type ObjPred<T = unknown> = (value: any, key: unknown extends T ? string : keyof T) => boolean;
49
+
48
50
  type Arity1Fn = (x: any) => any;
49
51
  type Arity2Fn = (x: any, y: any) => any;
50
52
 
@@ -806,6 +808,14 @@ export function innerJoin<T1, T2>(
806
808
  ): (list2: T2[]) => T1[];
807
809
  export function innerJoin<T1, T2>(pred: (a: T1, b: T2) => boolean, list1: T1[], list2: T2[]): T1[];
808
810
 
811
+ export function insert(index: number): <T>(itemToInsert: T, list: T[]) => T[];
812
+ export function insert<T>(index: number, itemToInsert: T): (list: T[]) => T[];
813
+ export function insert<T>(index: number, itemToInsert: T, list: T[]): T[];
814
+
815
+ export function insertAll(index: number): <T>(itemsToInsert: T[], list: T[]) => T[];
816
+ export function insertAll<T>(index: number, itemsToInsert: T[]): (list: T[]) => T[];
817
+ export function insertAll<T>(index: number, itemsToInsert: T[], list: T[]): T[];
818
+
809
819
  /**
810
820
  * It loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.
811
821
  */
@@ -836,6 +846,8 @@ export function isEmpty<T>(x: T): boolean;
836
846
  */
837
847
  export function isNil(x: any): x is null | undefined;
838
848
 
849
+ export function isNotNil<T>(value: T): value is NonNullable<T>;
850
+
839
851
  /**
840
852
  * It returns a string of all `list` instances joined with a `glue`.
841
853
  */
@@ -941,6 +953,8 @@ export function lensPath<S = any, A = any>(path: Path): Lens<S, A>;
941
953
  */
942
954
  export function lensProp<S, K extends keyof S = keyof S>(prop: K): Lens<S, S[K]>;
943
955
 
956
+ export function lt<T>(x: T): T;
957
+
944
958
  /**
945
959
  * It returns the result of looping through `iterable` with `fn`.
946
960
  *
@@ -1008,6 +1022,9 @@ export function merge<Output>(target: any): (newProps: any) => Output;
1008
1022
  export function mergeAll<T>(list: object[]): T;
1009
1023
  export function mergeAll(list: object[]): object;
1010
1024
 
1025
+ export function mergeDeepLeft<Output>(newProps: object, target: object): Output;
1026
+ export function mergeDeepLeft<Output>(newProps: object): (target: object) => Output;
1027
+
1011
1028
  /**
1012
1029
  * Creates a new object with the own properties of the first object merged with the own properties of the second object. If a key exists in both objects:
1013
1030
  *
@@ -1158,12 +1175,12 @@ export function or<T>(a: T): <U>(b: U) => T | U;
1158
1175
  /**
1159
1176
  * It returns a copied **Object** or **Array** with modified value received by applying function `fn` to `lens` focus.
1160
1177
  */
1161
- export function over<T>(lens: Lens, fn: Arity1Fn, value: T): T;
1162
- export function over<T>(lens: Lens, fn: Arity1Fn, value: T[]): T[];
1163
- export function over(lens: Lens, fn: Arity1Fn): <T>(value: T) => T;
1164
- export function over(lens: Lens, fn: Arity1Fn): <T>(value: T[]) => T[];
1165
- export function over(lens: Lens): <T>(fn: Arity1Fn, value: T) => T;
1166
- export function over(lens: Lens): <T>(fn: Arity1Fn, value: T[]) => T[];
1178
+ export function over<S, A>(lens: Lens<S, A>): {
1179
+ (fn: (a: A) => A): (value: S) => S;
1180
+ (fn: (a: A) => A, value: S): S;
1181
+ };
1182
+ export function over<S, A>(lens: Lens<S, A>, fn: (a: A) => A): (value: S) => S;
1183
+ export function over<S, A>(lens: Lens<S, A>, fn: (a: A) => A, value: S): S;
1167
1184
 
1168
1185
  /**
1169
1186
  * It is very similar to `R.curry`, but you can pass initial arguments when you create the curried function.
@@ -1274,6 +1291,9 @@ export function pathOr<T>(defaultValue: T, pathToSearch: Path, obj: any): T;
1274
1291
  export function pathOr<T>(defaultValue: T, pathToSearch: Path): (obj: any) => T;
1275
1292
  export function pathOr<T>(defaultValue: T): (pathToSearch: Path) => (obj: any) => T;
1276
1293
 
1294
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path): (obj: U) => boolean;
1295
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path, obj: U): boolean;
1296
+
1277
1297
  /**
1278
1298
  * It loops over members of `pathsToSearch` as `singlePath` and returns the array produced by `R.path(singlePath, Record<string, unknown>)`.
1279
1299
  *
@@ -1307,6 +1327,9 @@ export function pickAll(propsToPicks: string[]): <T, U>(input: T) => U;
1307
1327
  export function pickAll<T, U>(propsToPick: string, input: T): U;
1308
1328
  export function pickAll<T, U>(propsToPick: string): (input: T) => U;
1309
1329
 
1330
+ export function pickBy<T>(pred: ObjPred<T>): <U, V extends T>(obj: V) => U;
1331
+ export function pickBy<T, U>(pred: ObjPred<T>, obj: T): U;
1332
+
1310
1333
  /**
1311
1334
  * It performs left-to-right function composition.
1312
1335
  */
@@ -1502,9 +1525,12 @@ export function reverse(input: string): string;
1502
1525
  /**
1503
1526
  * It returns a copied **Object** or **Array** with modified `lens` focus set to `replacer` value.
1504
1527
  */
1505
- export function set<T, U>(lens: Lens, replacer: U, obj: T): T;
1506
- export function set<U>(lens: Lens, replacer: U): <T>(obj: T) => T;
1507
- export function set(lens: Lens): <T, U>(replacer: U, obj: T) => T;
1528
+ export function set<S, A>(lens: Lens<S, A>): {
1529
+ (a: A): (obj: S) => S
1530
+ (a: A, obj: S): S
1531
+ };
1532
+ export function set<S, A>(lens: Lens<S, A>, a: A): (obj: S) => S;
1533
+ export function set<S, A>(lens: Lens<S, A>, a: A, obj: S): S;
1508
1534
 
1509
1535
  export function slice(from: number, to: number, input: string): string;
1510
1536
  export function slice<T>(from: number, to: number, input: T[]): T[];
@@ -1584,6 +1610,9 @@ export function subtract(x: number): (y: number) => number;
1584
1610
 
1585
1611
  export function sum(list: number[]): number;
1586
1612
 
1613
+ export function swap(indexA: number, indexB: number): <T>(list: T[]) => T[];
1614
+ export function swap<T>(indexA: number, indexB: number, list: T[]): T[];
1615
+
1587
1616
  /**
1588
1617
  * It returns a merged list of `x` and `y` with all equal elements removed.
1589
1618
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rambda",
3
- "version": "9.0.0",
3
+ "version": "9.1.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",
package/rambda.js CHANGED
@@ -88,11 +88,14 @@ export * from './src/indexBy.js'
88
88
  export * from './src/indexOf.js'
89
89
  export * from './src/init.js'
90
90
  export * from './src/innerJoin.js'
91
+ export * from './src/insert.js'
92
+ export * from './src/insertAll.js'
91
93
  export * from './src/intersection.js'
92
94
  export * from './src/intersperse.js'
93
95
  export * from './src/is.js'
94
96
  export * from './src/isEmpty.js'
95
97
  export * from './src/isNil.js'
98
+ export * from './src/isNotNil.js'
96
99
  export * from './src/join.js'
97
100
  export * from './src/juxt.js'
98
101
  export * from './src/keys.js'
@@ -103,6 +106,7 @@ export * from './src/lens.js'
103
106
  export * from './src/lensIndex.js'
104
107
  export * from './src/lensPath.js'
105
108
  export * from './src/lensProp.js'
109
+ export * from './src/lt.js'
106
110
  export * from './src/map.js'
107
111
  export * from './src/match.js'
108
112
  export * from './src/mathMod.js'
@@ -112,6 +116,7 @@ export * from './src/mean.js'
112
116
  export * from './src/median.js'
113
117
  export * from './src/merge.js'
114
118
  export * from './src/mergeAll.js'
119
+ export * from './src/mergeDeepLeft.js'
115
120
  export * from './src/mergeDeepRight.js'
116
121
  export * from './src/mergeLeft.js'
117
122
  export * from './src/mergeRight.js'
@@ -140,9 +145,11 @@ export * from './src/partition.js'
140
145
  export * from './src/path.js'
141
146
  export * from './src/pathEq.js'
142
147
  export * from './src/pathOr.js'
148
+ export * from './src/pathSatisfies.js'
143
149
  export * from './src/paths.js'
144
150
  export * from './src/pick.js'
145
151
  export * from './src/pickAll.js'
152
+ export * from './src/pickBy.js'
146
153
  export * from './src/pipe.js'
147
154
  export * from './src/pluck.js'
148
155
  export * from './src/prepend.js'
@@ -173,6 +180,7 @@ export * from './src/splitWhen.js'
173
180
  export * from './src/startsWith.js'
174
181
  export * from './src/subtract.js'
175
182
  export * from './src/sum.js'
183
+ export * from './src/swap.js'
176
184
  export * from './src/symmetricDifference.js'
177
185
  export * from './src/tail.js'
178
186
  export * from './src/take.js'
package/src/insert.js ADDED
@@ -0,0 +1,11 @@
1
+ import { curry } from './curry.js'
2
+
3
+ export function insertFn(indexToInsert, valueToInsert, array) {
4
+ return [
5
+ ...array.slice(0, indexToInsert),
6
+ valueToInsert,
7
+ ...array.slice(indexToInsert),
8
+ ]
9
+ }
10
+
11
+ export const insert = curry(insertFn)
@@ -0,0 +1,7 @@
1
+ import { curry } from './curry';
2
+
3
+ export function insertAllFn(index, listToInsert, list) {
4
+ return [...list.slice(0, index), ...listToInsert, ...list.slice(index)];
5
+ }
6
+
7
+ export const insertAll = curry(insertAllFn);
@@ -0,0 +1,3 @@
1
+ export function isNotNil(input) {
2
+ return input != null
3
+ }
package/src/lt.js ADDED
@@ -0,0 +1,6 @@
1
+ export function lt(a, b){
2
+ if (arguments.length === 1)
3
+ return _b => lt(a, _b)
4
+
5
+ return a < b
6
+ }
@@ -0,0 +1,5 @@
1
+ import { mergeDeepRight } from './mergeDeepRight.js';
2
+
3
+ export function mergeDeepLeft(newProps, target) {
4
+ return mergeDeepRight(target, newProps);
5
+ }
@@ -0,0 +1,9 @@
1
+ import { path } from "./path.js";
2
+ import { curry } from "./curry.js";
3
+
4
+ export function pathSatisfiesFn(fn, pathInput, obj) {
5
+ if(pathInput.length === 0) throw new Error("R.pathSatisfies received an empty path")
6
+ return Boolean(fn(path(pathInput, obj)))
7
+ }
8
+
9
+ export const pathSatisfies = curry(pathSatisfiesFn)
package/src/pickBy.js ADDED
@@ -0,0 +1,11 @@
1
+ export function pickBy(predicate, obj) {
2
+ if (arguments.length === 1){
3
+ return (_obj) => pickBy(predicate, _obj);
4
+ }
5
+ return Object.keys(obj).reduce((accum, key) => {
6
+ if (predicate(obj[ key ], key, obj)){
7
+ accum[ key ] = obj[ key ];
8
+ }
9
+ return accum;
10
+ }, {});
11
+ }
package/src/swap.js ADDED
@@ -0,0 +1,42 @@
1
+ import { isArray } from './_internals/isArray.js';
2
+ import { curry } from './curry.js';
3
+
4
+ export function swapArrayOrString(indexA, indexB, iterable) {
5
+ const actualIndexA = indexA < 0 ? iterable.length + indexA : indexA;
6
+ const actualIndexB = indexB < 0 ? iterable.length + indexB : indexB;
7
+ if (
8
+ actualIndexA === actualIndexB ||
9
+ Math.min(actualIndexA, actualIndexB) < 0 ||
10
+ Math.max(actualIndexA, actualIndexB) >= iterable.length
11
+ )
12
+ return iterable;
13
+ if (typeof iterable === 'string') {
14
+ return (
15
+ iterable.slice(0, actualIndexA) +
16
+ iterable[actualIndexB] +
17
+ iterable.slice(actualIndexA + 1, actualIndexB) +
18
+ iterable[actualIndexA] +
19
+ iterable.slice(actualIndexB + 1)
20
+ );
21
+ }
22
+ const clone = iterable.slice();
23
+ const temp = clone[actualIndexA];
24
+ clone[actualIndexA] = clone[actualIndexB];
25
+ clone[actualIndexB] = temp;
26
+ return clone;
27
+ }
28
+ export function swapFn(indexA, indexB, iterable) {
29
+ if (isArray(iterable) || typeof iterable === 'string')
30
+ return swapArrayOrString(indexA, indexB, iterable);
31
+
32
+ const aVal = iterable[indexA];
33
+ const bVal = iterable[indexB];
34
+ if (aVal === undefined || bVal === undefined) return iterable;
35
+ return {
36
+ ...iterable,
37
+ [indexA]: iterable[indexB],
38
+ [indexB]: iterable[indexA],
39
+ };
40
+ }
41
+
42
+ export const swap = curry(swapFn);