rambda 9.0.1 → 9.1.1

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,22 @@
1
+ 9.1.1
2
+
3
+ - Faster R.equals with Object.is short circuit - https://github.com/selfrefactor/rambda/pull/725
4
+ - Fix R.cond transform is unary - https://github.com/selfrefactor/rambda/issues/720
5
+
6
+ 9.1.0
7
+
8
+ Add these methods
9
+
10
+ - insert
11
+ - insertAll
12
+ - lt
13
+ - lte
14
+ - isNotNil
15
+ - pickBy
16
+ - pathSatisfies
17
+ - swap
18
+ - mergeDeepLeft
19
+
1
20
  9.0.1
2
21
 
3
22
  - Fix bad TS typings, due to missing declaration - [Issue #716](https://github.com/selfrefactor/rambda/issues/716)
package/README.md CHANGED
@@ -106,25 +106,19 @@ One of the main issues with `Ramda` is the slow process of releasing new version
106
106
 
107
107
  <details>
108
108
  <summary>
109
- 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.
110
110
  </summary>
111
111
 
112
- - insert
113
- - insertAll
114
112
  - into
115
113
  - invert
116
114
  - invertObj
117
115
  - invoker
118
- - isNotNil
119
116
  - keysIn
120
117
  - lift
121
118
  - liftN
122
- - lt
123
- - lte
124
119
  - mapAccum
125
120
  - mapAccumRight
126
121
  - memoizeWith
127
- - mergeDeepLeft
128
122
  - mergeDeepWith
129
123
  - mergeDeepWithKey
130
124
  - mergeWithKey
@@ -135,7 +129,6 @@ One of the main issues with `Ramda` is the slow process of releasing new version
135
129
  - pair
136
130
  - partialRight
137
131
  - pathSatisfies
138
- - pickBy
139
132
  - pipeWith
140
133
  - project
141
134
  - promap
@@ -146,7 +139,6 @@ One of the main issues with `Ramda` is the slow process of releasing new version
146
139
  - scan
147
140
  - sequence
148
141
  - splitWhenever
149
- - swap
150
142
  - symmetricDifferenceWith
151
143
  - andThen
152
144
  - toPairsIn
@@ -3933,6 +3925,8 @@ function parseRegex(maybeRegex){
3933
3925
  export function equals(a, b){
3934
3926
  if (arguments.length === 1) return _b => equals(a, _b)
3935
3927
 
3928
+ if (Object.is(a, b)) return true
3929
+
3936
3930
  const aType = type(a)
3937
3931
 
3938
3932
  if (aType !== type(b)) return false
@@ -4337,7 +4331,7 @@ describe('brute force', () => {
4337
4331
  {
4338
4332
  "ERRORS_MESSAGE_MISMATCH": 0,
4339
4333
  "ERRORS_TYPE_MISMATCH": 0,
4340
- "RESULTS_MISMATCH": 8,
4334
+ "RESULTS_MISMATCH": 0,
4341
4335
  "SHOULD_NOT_THROW": 0,
4342
4336
  "SHOULD_THROW": 0,
4343
4337
  "TOTAL_TESTS": 289,
@@ -6531,6 +6525,18 @@ It returns a new list by applying a `predicate` function to all elements of `lis
6531
6525
 
6532
6526
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#innerJoin)
6533
6527
 
6528
+ ### insert
6529
+
6530
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20list%20%3D%20%5B'a'%2C%20'b'%2C%20'c'%2C%20'd'%2C%20'e'%5D%3B%0Aconst%20result%20%3D%20R.insert(2%2C%20'x'%2C%20list)%3B%0A%2F%2F%20%3D%3E%20%5B'a'%2C%20'b'%2C%20'x'%2C%20'c'%2C%20'd'%2C%20'e'%5D">Try this <strong>R.insert</strong> example in Rambda REPL</a>
6531
+
6532
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#insert)
6533
+
6534
+ ### insertAll
6535
+
6536
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20list%20%3D%20%5B'a'%2C%20'b'%2C%20'c'%2C%20'd'%2C%20'e'%5D%3B%0Aconst%20result%20%3D%20R.insertAll(2%2C%20%5B'x'%2C%20'y'%2C%20'z'%5D%2C%20list)%3B%0A%2F%2F%20%3D%3E%20%5B'a'%2C%20'b'%2C%20'x'%2C%20'y'%2C%20'z'%2C%20'c'%2C%20'd'%2C%20'e'%5D">Try this <strong>R.insertAll</strong> example in Rambda REPL</a>
6537
+
6538
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#insertAll)
6539
+
6534
6540
  ### intersection
6535
6541
 
6536
6542
  It loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.
@@ -6589,6 +6595,12 @@ export function isEmpty(input){
6589
6595
  return false
6590
6596
  if (!input) return true
6591
6597
 
6598
+ if (type(input.isEmpty) === 'Function') {
6599
+ return input.isEmpty();
6600
+ } else if (input.isEmpty) {
6601
+ return !!input.isEmpty;
6602
+ }
6603
+
6592
6604
  if (inputType === 'Object'){
6593
6605
  return Object.keys(input).length === 0
6594
6606
  }
@@ -6623,6 +6635,10 @@ test('happy', () => {
6623
6635
  expect(isEmpty(0)).toBeFalse()
6624
6636
  expect(isEmpty(NaN)).toBeFalse()
6625
6637
  expect(isEmpty([ '' ])).toBeFalse()
6638
+ expect(isEmpty({ isEmpty: false})).toBeFalse()
6639
+ expect(isEmpty({ isEmpty: () => false})).toBeFalse()
6640
+ expect(isEmpty({ isEmpty: true})).toBeTrue()
6641
+ expect(isEmpty({ isEmpty: () => true})).toBeTrue()
6626
6642
  })
6627
6643
  ```
6628
6644
 
@@ -6700,6 +6716,12 @@ test('happy', () => {
6700
6716
 
6701
6717
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#isNil)
6702
6718
 
6719
+ ### isNotNil
6720
+
6721
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20%5B%0A%20%20R.isNotNil(null)%2C%0A%20%20R.isNotNil(undefined)%2C%0A%20%20R.isNotNil(%5B%5D)%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5Bfalse%2C%20false%2C%20true%5D">Try this <strong>R.isNotNil</strong> example in Rambda REPL</a>
6722
+
6723
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#isNotNil)
6724
+
6703
6725
  ### join
6704
6726
 
6705
6727
  ```typescript
@@ -7542,6 +7564,12 @@ test('get (set(set s v1) v2) === v2', () => {
7542
7564
 
7543
7565
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#lensProp)
7544
7566
 
7567
+ ### lt
7568
+
7569
+ <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>
7570
+
7571
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#lt)
7572
+
7545
7573
  ### map
7546
7574
 
7547
7575
  ```typescript
@@ -8267,6 +8295,12 @@ describe('R.mergeAll', () => {
8267
8295
 
8268
8296
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mergeAll)
8269
8297
 
8298
+ ### mergeDeepLeft
8299
+
8300
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20R.mergeDeepLeft(%0A%20%20%7Ba%3A%20%7Bb%3A%201%7D%7D%2C%0A%20%20%7Ba%3A%20%7Bb%3A%202%2C%20c%3A%203%7D%7D%0A)%0A%2F%2F%20%3D%3E%20%7Ba%3A%20%7Bb%3A%201%2C%20c%3A%203%7D%7D">Try this <strong>R.mergeDeepLeft</strong> example in Rambda REPL</a>
8301
+
8302
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mergeDeepLeft)
8303
+
8270
8304
  ### mergeDeepRight
8271
8305
 
8272
8306
  ```typescript
@@ -8976,120 +9010,10 @@ describe('R.modify', () => {
8976
9010
 
8977
9011
  ### modifyPath
8978
9012
 
8979
- ```typescript
8980
-
8981
- modifyPath<T extends Record<string, unknown>>(path: Path, fn: (x: any) => unknown, object: Record<string, unknown>): T
8982
- ```
8983
-
8984
9013
  It changes a property of object on the base of provided path and transformer function.
8985
9014
 
8986
9015
  <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20R.modifyPath('a.b.c'%2C%20x%3D%3E%20x%2B1%2C%20%7Ba%3A%7Bb%3A%20%7Bc%3A1%7D%7D%7D)%0A%2F%2F%20%3D%3E%20%7Ba%3A%7Bb%3A%20%7Bc%3A2%7D%7D%7D">Try this <strong>R.modifyPath</strong> example in Rambda REPL</a>
8987
9016
 
8988
- <details>
8989
-
8990
- <summary>All TypeScript definitions</summary>
8991
-
8992
- ```typescript
8993
- modifyPath<T extends Record<string, unknown>>(path: Path, fn: (x: any) => unknown, object: Record<string, unknown>): T;
8994
- modifyPath<T extends Record<string, unknown>>(path: Path, fn: (x: any) => unknown): (object: Record<string, unknown>) => T;
8995
- modifyPath<T extends Record<string, unknown>>(path: Path): (fn: (x: any) => unknown) => (object: Record<string, unknown>) => T;
8996
- ```
8997
-
8998
- </details>
8999
-
9000
- <details>
9001
-
9002
- <summary><strong>R.modifyPath</strong> source</summary>
9003
-
9004
- ```javascript
9005
- import { createPath } from './_internals/createPath.js'
9006
- import { isArray } from './_internals/isArray.js'
9007
- import { assoc } from './assoc.js'
9008
- import { curry } from './curry.js'
9009
- import { path as pathModule } from './path.js'
9010
-
9011
- export function modifyPathFn(
9012
- pathInput, fn, object
9013
- ){
9014
- const path = createPath(pathInput)
9015
- if (path.length === 1){
9016
- return {
9017
- ...object,
9018
- [ path[ 0 ] ] : fn(object[ path[ 0 ] ]),
9019
- }
9020
- }
9021
- if (pathModule(path, object) === undefined) return object
9022
-
9023
- const val = modifyPath(
9024
- Array.prototype.slice.call(path, 1),
9025
- fn,
9026
- object[ path[ 0 ] ]
9027
- )
9028
- if (val === object[ path[ 0 ] ]){
9029
- return object
9030
- }
9031
-
9032
- return assoc(
9033
- path[ 0 ], val, object
9034
- )
9035
- }
9036
-
9037
- export const modifyPath = curry(modifyPathFn)
9038
- ```
9039
-
9040
- </details>
9041
-
9042
- <details>
9043
-
9044
- <summary><strong>Tests</strong></summary>
9045
-
9046
- ```javascript
9047
- import { modifyPath } from './modifyPath.js'
9048
-
9049
- test('happy', () => {
9050
- const result = modifyPath(
9051
- 'a.b.c', x => x + 1, { a : { b : { c : 1 } } }
9052
- )
9053
- expect(result).toEqual({ a : { b : { c : 2 } } })
9054
- })
9055
-
9056
- test('with array', () => {
9057
- const input = { foo : [ { bar : '123' } ] }
9058
- const result = modifyPath(
9059
- 'foo.0.bar', x => x + 'foo', input
9060
- )
9061
- expect(result).toEqual({ foo : { 0 : { bar : '123foo' } } })
9062
- })
9063
- ```
9064
-
9065
- </details>
9066
-
9067
- <details>
9068
-
9069
- <summary><strong>TypeScript</strong> test</summary>
9070
-
9071
- ```typescript
9072
- import {modifyPath} from 'rambda'
9073
-
9074
- const obj = {a: {b: {c: 1}}}
9075
-
9076
- describe('R.modifyPath', () => {
9077
- it('happy', () => {
9078
- const result = modifyPath('a.b.c', (x: number) => x + 1, obj)
9079
- result // $ExpectType Record<string, unknown>
9080
- })
9081
- it('explicit return type', () => {
9082
- interface Foo extends Record<string, unknown> {
9083
- a: 1,
9084
- }
9085
- const result = modifyPath<Foo>('a.b.c', (x: number) => x + 1, obj)
9086
- result // $ExpectType Foo
9087
- })
9088
- })
9089
- ```
9090
-
9091
- </details>
9092
-
9093
9017
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#modifyPath)
9094
9018
 
9095
9019
  ### modulo
@@ -11077,6 +11001,12 @@ describe('R.paths', () => {
11077
11001
 
11078
11002
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#paths)
11079
11003
 
11004
+ ### pathSatisfies
11005
+
11006
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20R.pathSatisfies(%0A%20%20x%20%3D%3E%20x%20%3E%200%2C%0A%20%20%5B'a'%2C%20'b'%2C%20'c'%5D%2C%0A%20%20%7Ba%3A%20%7Bb%3A%20%7Bc%3A%201%7D%7D%7D%0A)%0A%2F%2F%20%3D%3E%20true">Try this <strong>R.pathSatisfies</strong> example in Rambda REPL</a>
11007
+
11008
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pathSatisfies)
11009
+
11080
11010
  ### pick
11081
11011
 
11082
11012
  ```typescript
@@ -11447,6 +11377,12 @@ describe('R.pickAll with string as props input', () => {
11447
11377
 
11448
11378
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pickAll)
11449
11379
 
11380
+ ### pickBy
11381
+
11382
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20R.pickBy(%0A%20%20x%20%3D%3E%20x%20%3E%201%2C%0A%20%20%7Ba%3A%201%2C%20b%3A%202%2C%20c%3A%203%7D%0A)%0A%2F%2F%20%3D%3E%20%7Bb%3A%202%2C%20c%3A%203%7D">Try this <strong>R.pickBy</strong> example in Rambda REPL</a>
11383
+
11384
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pickBy)
11385
+
11450
11386
  ### pipe
11451
11387
 
11452
11388
  It performs left-to-right function composition.
@@ -14134,6 +14070,12 @@ test('happy', () => {
14134
14070
 
14135
14071
  [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sum)
14136
14072
 
14073
+ ### swap
14074
+
14075
+ <a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20R.swap(1%2C%202%2C%20%5B1%2C%202%2C%203%5D)%0A%2F%2F%20%3D%3E%20%5B1%2C%203%2C%202%5D">Try this <strong>R.swap</strong> example in Rambda REPL</a>
14076
+
14077
+ [![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#swap)
14078
+
14137
14079
  ### symmetricDifference
14138
14080
 
14139
14081
  ```typescript
@@ -17250,6 +17192,25 @@ describe('R.zipWith', () => {
17250
17192
 
17251
17193
  ## ❯ CHANGELOG
17252
17194
 
17195
+ 9.1.1
17196
+
17197
+ - Faster R.equals with Object.is short circuit - https://github.com/selfrefactor/rambda/pull/725
17198
+ - Fix R.cond transform is unary - https://github.com/selfrefactor/rambda/issues/720
17199
+
17200
+ 9.1.0
17201
+
17202
+ Add these methods
17203
+
17204
+ - insert
17205
+ - insertAll
17206
+ - lt
17207
+ - lte
17208
+ - isNotNil
17209
+ - pickBy
17210
+ - pathSatisfies
17211
+ - swap
17212
+ - mergeDeepLeft
17213
+
17253
17214
  9.0.1
17254
17215
 
17255
17216
  - Fix bad TS typings, due to missing declaration - [Issue #716](https://github.com/selfrefactor/rambda/issues/716)
package/dist/rambda.js CHANGED
@@ -529,13 +529,13 @@ function concat(x, y) {
529
529
  }
530
530
 
531
531
  function cond(conditions) {
532
- return input => {
532
+ return (...input) => {
533
533
  let done = false;
534
534
  let toReturn;
535
- conditions.forEach(([predicate, resultClosure]) => {
536
- if (!done && predicate(input)) {
535
+ conditions.forEach(([predicate, getResult]) => {
536
+ if (!done && predicate(...input)) {
537
537
  done = true;
538
- toReturn = resultClosure(input);
538
+ toReturn = getResult(...input);
539
539
  }
540
540
  });
541
541
  return toReturn;
@@ -704,6 +704,7 @@ function parseRegex(maybeRegex) {
704
704
  }
705
705
  function equals(a, b) {
706
706
  if (arguments.length === 1) return _b => equals(a, _b);
707
+ if (Object.is(a, b)) return true;
707
708
  const aType = type(a);
708
709
  if (aType !== type(b)) return false;
709
710
  if (aType === 'Function') return a.name === undefined ? false : a.name === b.name;
@@ -1496,6 +1497,16 @@ function innerJoinFn(pred, xs, ys) {
1496
1497
  }
1497
1498
  const innerJoin = curry(innerJoinFn);
1498
1499
 
1500
+ function insertFn(indexToInsert, valueToInsert, array) {
1501
+ return [...array.slice(0, indexToInsert), valueToInsert, ...array.slice(indexToInsert)];
1502
+ }
1503
+ const insert = curry(insertFn);
1504
+
1505
+ function insertAllFn(index, listToInsert, list) {
1506
+ return [...list.slice(0, index), ...listToInsert, ...list.slice(index)];
1507
+ }
1508
+ const insertAll = curry(insertAllFn);
1509
+
1499
1510
  function intersection(listA, listB) {
1500
1511
  if (arguments.length === 1) return _list => intersection(listA, _list);
1501
1512
  return filter(x => includes$1(x, listA), listB);
@@ -1525,6 +1536,11 @@ function isEmpty(input) {
1525
1536
  const inputType = type(input);
1526
1537
  if (['Undefined', 'NaN', 'Number', 'Null'].includes(inputType)) return false;
1527
1538
  if (!input) return true;
1539
+ if (type(input.isEmpty) === 'Function') {
1540
+ return input.isEmpty();
1541
+ } else if (input.isEmpty) {
1542
+ return !!input.isEmpty;
1543
+ }
1528
1544
  if (inputType === 'Object') {
1529
1545
  return Object.keys(input).length === 0;
1530
1546
  }
@@ -1538,6 +1554,10 @@ function isNil(x) {
1538
1554
  return x === undefined || x === null;
1539
1555
  }
1540
1556
 
1557
+ function isNotNil(input) {
1558
+ return input != null;
1559
+ }
1560
+
1541
1561
  function join(glue, list) {
1542
1562
  if (arguments.length === 1) return _list => join(glue, _list);
1543
1563
  return list.join(glue);
@@ -1597,6 +1617,11 @@ function lensProp(key) {
1597
1617
  return lens(prop(key), assoc(key));
1598
1618
  }
1599
1619
 
1620
+ function lt(a, b) {
1621
+ if (arguments.length === 1) return _b => lt(a, _b);
1622
+ return a < b;
1623
+ }
1624
+
1600
1625
  function match(pattern, input) {
1601
1626
  if (arguments.length === 1) return _input => match(pattern, _input);
1602
1627
  const willReturn = input.match(pattern);
@@ -1665,6 +1690,10 @@ function mergeDeepRight(target, source) {
1665
1690
  return willReturn;
1666
1691
  }
1667
1692
 
1693
+ function mergeDeepLeft(newProps, target) {
1694
+ return mergeDeepRight(target, newProps);
1695
+ }
1696
+
1668
1697
  function mergeLeft(x, y) {
1669
1698
  if (arguments.length === 1) return _y => mergeLeft(x, _y);
1670
1699
  return mergeRight(y, x);
@@ -1878,6 +1907,12 @@ function pathOrFn(defaultValue, pathInput, obj) {
1878
1907
  }
1879
1908
  const pathOr = curry(pathOrFn);
1880
1909
 
1910
+ function pathSatisfiesFn(fn, pathInput, obj) {
1911
+ if (pathInput.length === 0) throw new Error("R.pathSatisfies received an empty path");
1912
+ return Boolean(fn(path(pathInput, obj)));
1913
+ }
1914
+ const pathSatisfies = curry(pathSatisfiesFn);
1915
+
1881
1916
  function paths(pathsToSearch, obj) {
1882
1917
  if (arguments.length === 1) {
1883
1918
  return _obj => paths(pathsToSearch, _obj);
@@ -1921,6 +1956,18 @@ function pickAll(propsToPick, obj) {
1921
1956
  return willReturn;
1922
1957
  }
1923
1958
 
1959
+ function pickBy(predicate, obj) {
1960
+ if (arguments.length === 1) {
1961
+ return _obj => pickBy(predicate, _obj);
1962
+ }
1963
+ return Object.keys(obj).reduce((accum, key) => {
1964
+ if (predicate(obj[key], key, obj)) {
1965
+ accum[key] = obj[key];
1966
+ }
1967
+ return accum;
1968
+ }, {});
1969
+ }
1970
+
1924
1971
  function pluck(property, list) {
1925
1972
  if (arguments.length === 1) return _list => pluck(property, _list);
1926
1973
  const willReturn = [];
@@ -2143,6 +2190,31 @@ function subtract(a, b) {
2143
2190
  return a - b;
2144
2191
  }
2145
2192
 
2193
+ function swapArrayOrString(indexA, indexB, iterable) {
2194
+ const actualIndexA = indexA < 0 ? iterable.length + indexA : indexA;
2195
+ const actualIndexB = indexB < 0 ? iterable.length + indexB : indexB;
2196
+ if (actualIndexA === actualIndexB || Math.min(actualIndexA, actualIndexB) < 0 || Math.max(actualIndexA, actualIndexB) >= iterable.length) return iterable;
2197
+ if (typeof iterable === 'string') {
2198
+ return iterable.slice(0, actualIndexA) + iterable[actualIndexB] + iterable.slice(actualIndexA + 1, actualIndexB) + iterable[actualIndexA] + iterable.slice(actualIndexB + 1);
2199
+ }
2200
+ const clone = iterable.slice();
2201
+ const temp = clone[actualIndexA];
2202
+ clone[actualIndexA] = clone[actualIndexB];
2203
+ clone[actualIndexB] = temp;
2204
+ return clone;
2205
+ }
2206
+ function swapFn(indexA, indexB, iterable) {
2207
+ if (isArray(iterable) || typeof iterable === 'string') return swapArrayOrString(indexA, indexB, iterable);
2208
+ const aVal = iterable[indexA];
2209
+ const bVal = iterable[indexB];
2210
+ if (aVal === undefined || bVal === undefined) return iterable;
2211
+ return _objectSpread2(_objectSpread2({}, iterable), {}, {
2212
+ [indexA]: iterable[indexB],
2213
+ [indexB]: iterable[indexA]
2214
+ });
2215
+ }
2216
+ const swap = curry(swapFn);
2217
+
2146
2218
  function symmetricDifference(x, y) {
2147
2219
  if (arguments.length === 1) {
2148
2220
  return _y => symmetricDifference(x, _y);
@@ -2528,11 +2600,16 @@ exports.indexOf = indexOf;
2528
2600
  exports.init = init;
2529
2601
  exports.innerJoin = innerJoin;
2530
2602
  exports.innerJoinFn = innerJoinFn;
2603
+ exports.insert = insert;
2604
+ exports.insertAll = insertAll;
2605
+ exports.insertAllFn = insertAllFn;
2606
+ exports.insertFn = insertFn;
2531
2607
  exports.intersection = intersection;
2532
2608
  exports.intersperse = intersperse;
2533
2609
  exports.is = is;
2534
2610
  exports.isEmpty = isEmpty;
2535
2611
  exports.isNil = isNil;
2612
+ exports.isNotNil = isNotNil;
2536
2613
  exports.join = join;
2537
2614
  exports.juxt = juxt;
2538
2615
  exports.keys = keys;
@@ -2543,6 +2620,7 @@ exports.lens = lens;
2543
2620
  exports.lensIndex = lensIndex;
2544
2621
  exports.lensPath = lensPath;
2545
2622
  exports.lensProp = lensProp;
2623
+ exports.lt = lt;
2546
2624
  exports.map = map;
2547
2625
  exports.mapArray = mapArray;
2548
2626
  exports.mapObjIndexed = mapObjIndexed;
@@ -2556,6 +2634,7 @@ exports.mean = mean;
2556
2634
  exports.median = median;
2557
2635
  exports.merge = mergeRight;
2558
2636
  exports.mergeAll = mergeAll;
2637
+ exports.mergeDeepLeft = mergeDeepLeft;
2559
2638
  exports.mergeDeepRight = mergeDeepRight;
2560
2639
  exports.mergeLeft = mergeLeft;
2561
2640
  exports.mergeRight = mergeRight;
@@ -2590,9 +2669,12 @@ exports.path = path;
2590
2669
  exports.pathEq = pathEq;
2591
2670
  exports.pathFn = pathFn;
2592
2671
  exports.pathOr = pathOr;
2672
+ exports.pathSatisfies = pathSatisfies;
2673
+ exports.pathSatisfiesFn = pathSatisfiesFn;
2593
2674
  exports.paths = paths;
2594
2675
  exports.pick = pick;
2595
2676
  exports.pickAll = pickAll;
2677
+ exports.pickBy = pickBy;
2596
2678
  exports.pipe = pipe;
2597
2679
  exports.pipeWith = pipeWith;
2598
2680
  exports.pluck = pluck;
@@ -2628,6 +2710,7 @@ exports.splitWhen = splitWhen;
2628
2710
  exports.startsWith = startsWith;
2629
2711
  exports.subtract = subtract;
2630
2712
  exports.sum = sum;
2713
+ exports.swap = swap;
2631
2714
  exports.symmetricDifference = symmetricDifference;
2632
2715
  exports.tail = tail;
2633
2716
  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 c(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,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 f(n,r,t){return(r=M(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function o(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,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 p(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?p(u,n):u.apply(void 0,s(n))}}var _=p(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 g=Array.isArray;function i(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,i(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=p(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)&&g(t)?((n=l(t))[e]=r,n):y(e,r,t))}var K=p(G);var Q=p(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=g(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(!g(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=p(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 cn="Incorrect iterable input",fn=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=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(g(n)?w: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(!g(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;)F(r[e],n)&&(u=e);return u}function P(n,r){if(!g(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;)F(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 F(t,e){var n,u,i,r,o,c,f,a;return 1===arguments.length?function(n){return F(t,n)}:!!Object.is(t,e)||(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]||F(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])&&!F(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!!g(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=o(r.length<n.length?[n,r]:[r,n],2),n=r[0],u=r[1];return n.forEach(function(r){u.some(function(n){return t(r,n)})||-1!==P(r,e)||e.push(r)}),e}var mn=p(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 k(r,n){return 1===arguments.length?function(n){return k(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=p(wn);function En(n,r,t){return F(n(r),n(t))}var xn=p(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=p(function(n,r,t){return F(I(n,r),I(n,t))});function Fn(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?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?Sn:Fn)(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 g(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=p(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=p(Un);function Ln(n,r,t){return[].concat(s(t.slice(0,n)),[r],s(t.slice(n)))}var zn=p(Ln);function Mn(n,r,t){return[].concat(s(t.slice(0,n)),s(r),s(t.slice(n)))}var _n=p(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=p($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=p(Vn);function Yn(n,r,t){return n(t)<n(r)?t:r}var Zn=p(Yn);var nr=p(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==N(e)||void 0===t[n]?t:g(t)?wn(n,r(t[n]),t):c(c({},t),{},f({},n,r(t[n])))});function rr(n,r,t){n=m(n);return 1===n.length?c(c({},t),{},f({},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=p(rr);var er=p(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=p(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&&g(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=o(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=p(function(n,r,t){return F(k(n,t),r)});var sr=p(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=p(pr);var vr=j(ur,1);var yr=p(function(n,r,t){return!!t&&F(n,I(r,t))});var dr=p(function(n,r,t){return Jn(n,t[r])});var mr=p(function(n,r,t){return t?x(n,t[r]):n});var br=p(function(n,r,t){return n(I(r,t))});function jr(r,n){if(1===arguments.length)return function(n){return jr(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 j(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 wr=p(Or);var Ar=p(function(n,r,t){return t.replace(n,r)});var Er=p(function(n,r,t){return cr(n,J(r),t)});var xr=p(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)}var Nr=p(function(n,r,t){var e,u,i,o;return g(t)||"string"==typeof t?(i=t,(e=(e=n)<0?i.length+e:e)===(u=(u=r)<0?i.length+u:u)||Math.min(e,u)<0||i.length<=Math.max(e,u)?i:"string"==typeof i?i.slice(0,e)+i[u]+i.slice(e+1,u)+i[e]+i.slice(u+1):(o=(i=i.slice())[e],i[e]=i[u],i[u]=o,i)):void 0===t[n]||void 0===t[r]?t:c(c({},t),{},f(f({},n,t[r]),r,t[n]))});function Pr(n){return["Promise","Function"].includes(N(n))}function Fr(r){return{x:r,map:function(n){return Fr(r)}}}var Sr=p(function(n,r,t){return n(t)?r(t):t});var kr=p(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=i,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=i(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(g(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==h(i[t])&&!g(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=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(i){return function(){for(var n=arguments.length,t=Array(n),r=0;r<n;r++)t[r]=arguments[r];var e,u=!1;return i.forEach(function(n){var n=o(n,2),r=n[0],n=n[1];!u&&r.apply(void 0,t)&&(u=!0,e=n.apply(void 0,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)}:g(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=p,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===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),g(n)?An(e,i,n):c(c({},n),{},f({},e,i))):g(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=g(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(g(n))return t=[],n.reduce(function(n,r){return F(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),F(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(g(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=g(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):!!g(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=F(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqBy=xn,n.eqByFn=En,n.eqProps=Pn,n.equals=F,n.evolve=kn,n.evolveArray=Fn,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++)g(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(!g(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=o(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,c,f;if(g(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=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 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 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=Jn,n.isEmpty=function(n){var r=N(n);return!["Undefined","NaN","Number","Null"].includes(r)&&(!n||("Function"===N(n.isEmpty)?n.isEmpty():n.isEmpty?!!n.isEmpty:"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 g(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=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=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)}: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?p(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)}:(g(n)?lr:ar)(t,n)},n.partitionArray=lr,n.partitionObject=ar,n.path=k,n.pathEq=hr,n.pathFn=jn,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(g(t))return w(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=jr,n.reduce=j,n.reduceBy=wr,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 g(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):!!g(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=F(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=Nr,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=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 g(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=g(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,jr(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 g(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(Pr(e))return i=Pr(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)}:g(e[t])?w(function(n){return c(c({},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(Fr)(n).x},n.when=Sr,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 F(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)}:R(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=kr});
package/immutable.d.ts CHANGED
@@ -45,6 +45,8 @@ interface KeyValuePair<K, V> extends Array<K | V> {
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
 
@@ -693,9 +695,11 @@ export function groupWith<T>(compareFn: (x: T, y: T) => boolean): (input: readon
693
695
  export function groupWith<T>(compareFn: (x: T, y: T) => boolean, input: readonly T[]): readonly ((readonly T[]))[];
694
696
  export function groupWith<T>(compareFn: (x: T, y: T) => boolean, input: string): readonly string[];
695
697
 
696
- export function gt<T>(x: T): T;
698
+ export function gt<T, U>(x: T, y: U): boolean;
699
+ export function gt<T, U>(x: T): (y: U) => boolean;
697
700
 
698
- export function gte<T>(x: T): T;
701
+ export function gte<T, U>(x: T, y: U): boolean;
702
+ export function gte<T, U>(x: T): (y: U) => boolean;
699
703
 
700
704
  /**
701
705
  * It returns `true` if `obj` has property `prop`.
@@ -806,6 +810,14 @@ export function innerJoin<T1, T2>(
806
810
  ): (list2: readonly T2[]) => readonly T1[];
807
811
  export function innerJoin<T1, T2>(pred: (a: T1, b: T2) => boolean, list1: readonly T1[], list2: readonly T2[]): readonly T1[];
808
812
 
813
+ export function insert(index: number): <T>(itemToInsert: T, list: readonly T[]) => readonly T[];
814
+ export function insert<T>(index: number, itemToInsert: T): (list: readonly T[]) => readonly T[];
815
+ export function insert<T>(index: number, itemToInsert: T, list: readonly T[]): readonly T[];
816
+
817
+ export function insertAll(index: number): <T>(itemsToInsert: readonly T[], list: readonly T[]) => readonly T[];
818
+ export function insertAll<T>(index: number, itemsToInsert: readonly T[]): (list: readonly T[]) => readonly T[];
819
+ export function insertAll<T>(index: number, itemsToInsert: readonly T[], list: readonly T[]): readonly T[];
820
+
809
821
  /**
810
822
  * It loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.
811
823
  */
@@ -836,6 +848,8 @@ export function isEmpty<T>(x: T): boolean;
836
848
  */
837
849
  export function isNil(x: any): x is null | undefined;
838
850
 
851
+ export function isNotNil<T>(value: T): value is NonNullable<T>;
852
+
839
853
  /**
840
854
  * It returns a string of all `list` instances joined with a `glue`.
841
855
  */
@@ -941,6 +955,9 @@ export function lensPath<S = any, A = any>(path: Path): Lens<S, A>;
941
955
  */
942
956
  export function lensProp<S, K extends keyof S = keyof S>(prop: K): Lens<S, S[K]>;
943
957
 
958
+ export function lt<T, U>(x: T, y: U): boolean;
959
+ export function lt<T, U>(x: T): (y: U) => boolean;
960
+
944
961
  /**
945
962
  * It returns the result of looping through `iterable` with `fn`.
946
963
  *
@@ -1008,6 +1025,9 @@ export function merge<Output>(target: any): (newProps: any) => Output;
1008
1025
  export function mergeAll<T>(list: readonly object[]): T;
1009
1026
  export function mergeAll(list: readonly object[]): object;
1010
1027
 
1028
+ export function mergeDeepLeft<Output>(newProps: object, target: object): Output;
1029
+ export function mergeDeepLeft<Output>(newProps: object): (target: object) => Output;
1030
+
1011
1031
  /**
1012
1032
  * 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
1033
  *
@@ -1274,6 +1294,9 @@ export function pathOr<T>(defaultValue: T, pathToSearch: Path, obj: any): T;
1274
1294
  export function pathOr<T>(defaultValue: T, pathToSearch: Path): (obj: any) => T;
1275
1295
  export function pathOr<T>(defaultValue: T): (pathToSearch: Path) => (obj: any) => T;
1276
1296
 
1297
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path): (obj: U) => boolean;
1298
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path, obj: U): boolean;
1299
+
1277
1300
  /**
1278
1301
  * It loops over members of `pathsToSearch` as `singlePath` and returns the array produced by `R.path(singlePath, Record<string, unknown>)`.
1279
1302
  *
@@ -1307,6 +1330,9 @@ export function pickAll(propsToPicks: readonly string[]): <T, U>(input: T) => U;
1307
1330
  export function pickAll<T, U>(propsToPick: string, input: T): U;
1308
1331
  export function pickAll<T, U>(propsToPick: string): (input: T) => U;
1309
1332
 
1333
+ export function pickBy<T>(pred: ObjPred<T>): <U, V extends T>(obj: V) => U;
1334
+ export function pickBy<T, U>(pred: ObjPred<T>, obj: T): U;
1335
+
1310
1336
  /**
1311
1337
  * It performs left-to-right function composition.
1312
1338
  */
@@ -1587,6 +1613,9 @@ export function subtract(x: number): (y: number) => number;
1587
1613
 
1588
1614
  export function sum(list: readonly number[]): number;
1589
1615
 
1616
+ export function swap(indexA: number, indexB: number): <T>(list: readonly T[]) => readonly T[];
1617
+ export function swap<T>(indexA: number, indexB: number, list: readonly T[]): readonly T[];
1618
+
1590
1619
  /**
1591
1620
  * It returns a merged list of `x` and `y` with all equal elements removed.
1592
1621
  *
package/index.d.ts CHANGED
@@ -45,6 +45,8 @@ interface KeyValuePair<K, V> extends Array<K | V> {
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
 
@@ -693,9 +695,11 @@ export function groupWith<T>(compareFn: (x: T, y: T) => boolean): (input: T[]) =
693
695
  export function groupWith<T>(compareFn: (x: T, y: T) => boolean, input: T[]): (T[])[];
694
696
  export function groupWith<T>(compareFn: (x: T, y: T) => boolean, input: string): string[];
695
697
 
696
- export function gt<T>(x: T): T;
698
+ export function gt<T, U>(x: T, y: U): boolean;
699
+ export function gt<T, U>(x: T): (y: U) => boolean;
697
700
 
698
- export function gte<T>(x: T): T;
701
+ export function gte<T, U>(x: T, y: U): boolean;
702
+ export function gte<T, U>(x: T): (y: U) => boolean;
699
703
 
700
704
  /**
701
705
  * It returns `true` if `obj` has property `prop`.
@@ -806,6 +810,14 @@ export function innerJoin<T1, T2>(
806
810
  ): (list2: T2[]) => T1[];
807
811
  export function innerJoin<T1, T2>(pred: (a: T1, b: T2) => boolean, list1: T1[], list2: T2[]): T1[];
808
812
 
813
+ export function insert(index: number): <T>(itemToInsert: T, list: T[]) => T[];
814
+ export function insert<T>(index: number, itemToInsert: T): (list: T[]) => T[];
815
+ export function insert<T>(index: number, itemToInsert: T, list: T[]): T[];
816
+
817
+ export function insertAll(index: number): <T>(itemsToInsert: T[], list: T[]) => T[];
818
+ export function insertAll<T>(index: number, itemsToInsert: T[]): (list: T[]) => T[];
819
+ export function insertAll<T>(index: number, itemsToInsert: T[], list: T[]): T[];
820
+
809
821
  /**
810
822
  * It loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.
811
823
  */
@@ -836,6 +848,8 @@ export function isEmpty<T>(x: T): boolean;
836
848
  */
837
849
  export function isNil(x: any): x is null | undefined;
838
850
 
851
+ export function isNotNil<T>(value: T): value is NonNullable<T>;
852
+
839
853
  /**
840
854
  * It returns a string of all `list` instances joined with a `glue`.
841
855
  */
@@ -941,6 +955,9 @@ export function lensPath<S = any, A = any>(path: Path): Lens<S, A>;
941
955
  */
942
956
  export function lensProp<S, K extends keyof S = keyof S>(prop: K): Lens<S, S[K]>;
943
957
 
958
+ export function lt<T, U>(x: T, y: U): boolean;
959
+ export function lt<T, U>(x: T): (y: U) => boolean;
960
+
944
961
  /**
945
962
  * It returns the result of looping through `iterable` with `fn`.
946
963
  *
@@ -1008,6 +1025,9 @@ export function merge<Output>(target: any): (newProps: any) => Output;
1008
1025
  export function mergeAll<T>(list: object[]): T;
1009
1026
  export function mergeAll(list: object[]): object;
1010
1027
 
1028
+ export function mergeDeepLeft<Output>(newProps: object, target: object): Output;
1029
+ export function mergeDeepLeft<Output>(newProps: object): (target: object) => Output;
1030
+
1011
1031
  /**
1012
1032
  * 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
1033
  *
@@ -1274,6 +1294,9 @@ export function pathOr<T>(defaultValue: T, pathToSearch: Path, obj: any): T;
1274
1294
  export function pathOr<T>(defaultValue: T, pathToSearch: Path): (obj: any) => T;
1275
1295
  export function pathOr<T>(defaultValue: T): (pathToSearch: Path) => (obj: any) => T;
1276
1296
 
1297
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path): (obj: U) => boolean;
1298
+ export function pathSatisfies<T, U>(pred: (val: T) => boolean, path: Path, obj: U): boolean;
1299
+
1277
1300
  /**
1278
1301
  * It loops over members of `pathsToSearch` as `singlePath` and returns the array produced by `R.path(singlePath, Record<string, unknown>)`.
1279
1302
  *
@@ -1307,6 +1330,9 @@ export function pickAll(propsToPicks: string[]): <T, U>(input: T) => U;
1307
1330
  export function pickAll<T, U>(propsToPick: string, input: T): U;
1308
1331
  export function pickAll<T, U>(propsToPick: string): (input: T) => U;
1309
1332
 
1333
+ export function pickBy<T>(pred: ObjPred<T>): <U, V extends T>(obj: V) => U;
1334
+ export function pickBy<T, U>(pred: ObjPred<T>, obj: T): U;
1335
+
1310
1336
  /**
1311
1337
  * It performs left-to-right function composition.
1312
1338
  */
@@ -1587,6 +1613,9 @@ export function subtract(x: number): (y: number) => number;
1587
1613
 
1588
1614
  export function sum(list: number[]): number;
1589
1615
 
1616
+ export function swap(indexA: number, indexB: number): <T>(list: T[]) => T[];
1617
+ export function swap<T>(indexA: number, indexB: number, list: T[]): T[];
1618
+
1590
1619
  /**
1591
1620
  * It returns a merged list of `x` and `y` with all equal elements removed.
1592
1621
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rambda",
3
- "version": "9.0.1",
3
+ "version": "9.1.1",
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/cond.js CHANGED
@@ -1,11 +1,11 @@
1
1
  export function cond(conditions){
2
- return input => {
2
+ return (...input) => {
3
3
  let done = false
4
4
  let toReturn
5
- conditions.forEach(([ predicate, resultClosure ]) => {
6
- if (!done && predicate(input)){
5
+ conditions.forEach(([ predicate, getResult ]) => {
6
+ if (!done && predicate(...input)){
7
7
  done = true
8
- toReturn = resultClosure(input)
8
+ toReturn = getResult(...input)
9
9
  }
10
10
  })
11
11
 
package/src/equals.js CHANGED
@@ -82,6 +82,8 @@ function parseRegex(maybeRegex){
82
82
  export function equals(a, b){
83
83
  if (arguments.length === 1) return _b => equals(a, _b)
84
84
 
85
+ if (Object.is(a, b)) return true
86
+
85
87
  const aType = type(a)
86
88
 
87
89
  if (aType !== type(b)) return false
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);
package/src/isEmpty.js CHANGED
@@ -6,6 +6,13 @@ export function isEmpty(input){
6
6
  return false
7
7
  if (!input) return true
8
8
 
9
+ if (type(input.isEmpty) === 'Function') {
10
+ return input.isEmpty();
11
+ } else if (input.isEmpty) {
12
+ return !!input.isEmpty;
13
+ }
14
+
15
+
9
16
  if (inputType === 'Object'){
10
17
  return Object.keys(input).length === 0
11
18
  }
@@ -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
+ 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
+ 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);