rambda 9.2.1 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +124 -78
- package/dist/rambda.js +5 -19
- package/dist/rambda.umd.js +1 -1
- package/immutable.d.ts +40 -32
- package/index.d.ts +40 -32
- package/package.json +9 -19
- package/rambda.js +1 -1
- package/src/forEachObjIndexed.js +0 -1
- package/src/isEmpty.js +0 -7
- package/src/isNotEmpty.js +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
9.3.0
|
|
2
|
+
|
|
3
|
+
- Breaking change in relation to TS typings of `R.assoc`, `R.dissoc` and `R.modify` - https://github.com/ramda/types/pull/37
|
|
4
|
+
|
|
5
|
+
- Add `R.isNotEmpty` as it is new method in `Ramda`
|
|
6
|
+
|
|
7
|
+
- Fix `R.head`/`R.last` TS definition - It returns `undefined` if array has length of 0. Before
|
|
8
|
+
|
|
1
9
|
9.2.1
|
|
2
10
|
|
|
3
11
|
- Broken `Deno` build - [Issue #731](https://github.com/selfrefactor/rambda/issues/731)
|
package/README.md
CHANGED
|
@@ -106,59 +106,57 @@ 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
|
|
109
|
+
Click to see the full list of 46 Ramda methods not implemented in Rambda and their status.
|
|
110
110
|
</summary>
|
|
111
111
|
|
|
112
|
-
-
|
|
113
|
-
-
|
|
112
|
+
- construct - Using classes is not very functional programming oriented.
|
|
113
|
+
- constructN - same as above
|
|
114
|
+
- into - no support for transducer as it is overly complex to implement, understand and read.
|
|
115
|
+
- invert - overly complicated and limited use case
|
|
114
116
|
- invertObj
|
|
115
117
|
- invoker
|
|
116
|
-
- keysIn
|
|
118
|
+
- keysIn - we shouldn't encourage extending object with `.prototype`
|
|
117
119
|
- lift
|
|
118
120
|
- liftN
|
|
119
|
-
- mapAccum
|
|
121
|
+
- mapAccum - `Ramda` example doesn't looks convincing
|
|
120
122
|
- mapAccumRight
|
|
121
|
-
- memoizeWith
|
|
122
|
-
- mergeDeepWith
|
|
123
|
+
- memoizeWith - hard to imagine its usage in context of `R.pipe`/`R.compose`
|
|
124
|
+
- mergeDeepWith - limited use case
|
|
123
125
|
- mergeDeepWithKey
|
|
124
126
|
- mergeWithKey
|
|
125
|
-
- nAry
|
|
126
|
-
- nthArg
|
|
127
|
-
- o
|
|
128
|
-
- otherwise
|
|
129
|
-
- pair
|
|
130
|
-
- partialRight
|
|
131
|
-
- pathSatisfies
|
|
127
|
+
- nAry - hard to argument about and hard to create meaningful TypeScript definitions
|
|
128
|
+
- nthArg - limited use case
|
|
129
|
+
- o - enough TypeScript issues with `R.pipe`/`R.compose` to add more composition methods
|
|
130
|
+
- otherwise - naming is confusing
|
|
131
|
+
- pair - `left-pad` types of debacles happens partially because of such methods that should not be hidden, bur rather part of your code base even if they need to exist.
|
|
132
|
+
- partialRight - I dislike `R.partial`, so I don't want to add more methods that are based on it
|
|
132
133
|
- pipeWith
|
|
133
|
-
- project
|
|
134
|
+
- project - naming is confusing, but also limited use case
|
|
134
135
|
- promap
|
|
135
|
-
- reduceRight
|
|
136
|
-
- reduceWhile
|
|
136
|
+
- reduceRight - I find `right/left` methods confusing so I added them only where it makes sense.
|
|
137
|
+
- reduceWhile - functions with 4 inputs - I think that even 3 is too much
|
|
137
138
|
- reduced
|
|
138
|
-
- remove
|
|
139
|
-
- scan
|
|
139
|
+
- remove - nice name but it is too generic. Also, `Rambdax` has such method and there it works very differently
|
|
140
|
+
- scan - hard to explain
|
|
140
141
|
- sequence
|
|
141
142
|
- splitWhenever
|
|
142
143
|
- symmetricDifferenceWith
|
|
143
144
|
- andThen
|
|
144
145
|
- toPairsIn
|
|
146
|
+
- transduce - currently is out of focus
|
|
147
|
+
- traverse - same as above
|
|
145
148
|
- unary
|
|
146
149
|
- uncurryN
|
|
147
|
-
- unfold
|
|
148
|
-
- unionWith
|
|
150
|
+
- unfold - similar to `R.scan` and I find that it doesn't help with readability
|
|
151
|
+
- unionWith - why it has its usage, I want to limit number of methods that accept more than 2 arguments
|
|
149
152
|
- until
|
|
150
|
-
- useWith
|
|
153
|
+
- useWith - hard to explain
|
|
151
154
|
- valuesIn
|
|
152
|
-
- xprod
|
|
155
|
+
- xprod - limited use case
|
|
153
156
|
- thunkify
|
|
154
|
-
- default
|
|
155
|
-
|
|
156
|
-
Most of above methods are in progress to be added to **Rambda**. The following methods are not going to be added:
|
|
157
157
|
- __ - placeholder method allows user to further customize the method call. While, it seems useful initially, the price is too high in terms of complexity for TypeScript definitions. If it is not easy exressable in TypeScript, it is not worth it as **Rambda** is a TypeScript first library.
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
- transduce - currently is out of focus
|
|
161
|
-
- traverse - same as above
|
|
158
|
+
|
|
159
|
+
The following methods are not going to be added(reason for exclusion is provided as a comment):
|
|
162
160
|
</details>
|
|
163
161
|
|
|
164
162
|
[](#-missing-ramda-methods)
|
|
@@ -216,7 +214,7 @@ There are methods which are benchmarked only with `Ramda` and `Rambda`(i.e. no `
|
|
|
216
214
|
|
|
217
215
|
Note that some of these methods, are called with and without curring. This is done in order to give more detailed performance feedback.
|
|
218
216
|
|
|
219
|
-
The benchmarks results are produced from latest versions of *Rambda*, *Lodash*(4.17.21) and *Ramda*(0.30.
|
|
217
|
+
The benchmarks results are produced from latest versions of *Rambda*, *Lodash*(4.17.21) and *Ramda*(0.30.1).
|
|
220
218
|
|
|
221
219
|
</summary>
|
|
222
220
|
|
|
@@ -5853,7 +5851,7 @@ describe('R.hasPath', () => {
|
|
|
5853
5851
|
head(str: string): string
|
|
5854
5852
|
```
|
|
5855
5853
|
|
|
5856
|
-
It returns the first element of list or string `input`.
|
|
5854
|
+
It returns the first element of list or string `input`. It returns `undefined` if array has length of 0.
|
|
5857
5855
|
|
|
5858
5856
|
<a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20%5B%0A%20%20R.head(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.head('foo')%20%0A%5D%0A%2F%2F%20%3D%3E%20%5B1%2C%20'f'%5D">Try this <strong>R.head</strong> example in Rambda REPL</a>
|
|
5859
5857
|
|
|
@@ -5864,6 +5862,7 @@ It returns the first element of list or string `input`.
|
|
|
5864
5862
|
```typescript
|
|
5865
5863
|
head(str: string): string;
|
|
5866
5864
|
head(str: ''): undefined;
|
|
5865
|
+
head(list: readonly[]): undefined;
|
|
5867
5866
|
head<T>(list: never[]): undefined;
|
|
5868
5867
|
head<T extends unknown[]>(array: T): FirstArrayElement<T>
|
|
5869
5868
|
head<T extends readonly unknown[]>(array: T): FirstArrayElement<T>
|
|
@@ -5937,9 +5936,9 @@ describe('R.head', () => {
|
|
|
5937
5936
|
it('empty array', () => {
|
|
5938
5937
|
const list = [] as const
|
|
5939
5938
|
head(emptyList) // $ExpectType undefined
|
|
5940
|
-
head(list) // $ExpectType
|
|
5939
|
+
head(list) // $ExpectType undefined
|
|
5941
5940
|
last(emptyList) // $ExpectType undefined
|
|
5942
|
-
last(list) // $ExpectType
|
|
5941
|
+
last(list) // $ExpectType undefined
|
|
5943
5942
|
})
|
|
5944
5943
|
|
|
5945
5944
|
it('mixed', () => {
|
|
@@ -6595,12 +6594,6 @@ export function isEmpty(input){
|
|
|
6595
6594
|
return false
|
|
6596
6595
|
if (!input) return true
|
|
6597
6596
|
|
|
6598
|
-
if (type(input.isEmpty) === 'Function') {
|
|
6599
|
-
return input.isEmpty();
|
|
6600
|
-
} else if (input.isEmpty) {
|
|
6601
|
-
return !!input.isEmpty;
|
|
6602
|
-
}
|
|
6603
|
-
|
|
6604
6597
|
if (inputType === 'Object'){
|
|
6605
6598
|
return Object.keys(input).length === 0
|
|
6606
6599
|
}
|
|
@@ -6635,10 +6628,6 @@ test('happy', () => {
|
|
|
6635
6628
|
expect(isEmpty(0)).toBeFalse()
|
|
6636
6629
|
expect(isEmpty(NaN)).toBeFalse()
|
|
6637
6630
|
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()
|
|
6642
6631
|
})
|
|
6643
6632
|
```
|
|
6644
6633
|
|
|
@@ -6716,6 +6705,27 @@ test('happy', () => {
|
|
|
6716
6705
|
|
|
6717
6706
|
[](#isNil)
|
|
6718
6707
|
|
|
6708
|
+
### isNotEmpty
|
|
6709
|
+
|
|
6710
|
+
```typescript
|
|
6711
|
+
|
|
6712
|
+
isNotEmpty<T>(value: T[]): value is NonEmptyArray<T>
|
|
6713
|
+
```
|
|
6714
|
+
|
|
6715
|
+
<details>
|
|
6716
|
+
|
|
6717
|
+
<summary>All TypeScript definitions</summary>
|
|
6718
|
+
|
|
6719
|
+
```typescript
|
|
6720
|
+
isNotEmpty<T>(value: T[]): value is NonEmptyArray<T>;
|
|
6721
|
+
isNotEmpty<T>(value: readonly T[]): value is ReadonlyNonEmptyArray<T>;
|
|
6722
|
+
isNotEmpty(value: any): boolean;
|
|
6723
|
+
```
|
|
6724
|
+
|
|
6725
|
+
</details>
|
|
6726
|
+
|
|
6727
|
+
[](#isNotEmpty)
|
|
6728
|
+
|
|
6719
6729
|
### isNotNil
|
|
6720
6730
|
|
|
6721
6731
|
<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>
|
|
@@ -6930,7 +6940,7 @@ test('happy', () => {
|
|
|
6930
6940
|
last(str: ''): undefined
|
|
6931
6941
|
```
|
|
6932
6942
|
|
|
6933
|
-
It returns the last element of `input`, as the `input` can be either a string or an array.
|
|
6943
|
+
It returns the last element of `input`, as the `input` can be either a string or an array. It returns `undefined` if array has length of 0.
|
|
6934
6944
|
|
|
6935
6945
|
<a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20%5B%0A%20%20R.last(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.last('foo')%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B3%2C%20'o'%5D">Try this <strong>R.last</strong> example in Rambda REPL</a>
|
|
6936
6946
|
|
|
@@ -6941,9 +6951,11 @@ It returns the last element of `input`, as the `input` can be either a string or
|
|
|
6941
6951
|
```typescript
|
|
6942
6952
|
last(str: ''): undefined;
|
|
6943
6953
|
last(str: string): string;
|
|
6954
|
+
last(list: readonly[]): undefined;
|
|
6944
6955
|
last(list: never[]): undefined;
|
|
6945
|
-
last<T extends unknown[]>(array: T): LastArrayElement<T
|
|
6946
|
-
last<T extends readonly unknown[]>(array: T): LastArrayElement<T
|
|
6956
|
+
last<T extends unknown[]>(array: T): LastArrayElement<T>;
|
|
6957
|
+
last<T extends readonly unknown[]>(array: T): LastArrayElement<T>;
|
|
6958
|
+
last(str: string): string | undefined;
|
|
6947
6959
|
```
|
|
6948
6960
|
|
|
6949
6961
|
</details>
|
|
@@ -7251,7 +7263,7 @@ export function lens(getter, setter){
|
|
|
7251
7263
|
<summary><strong>TypeScript</strong> test</summary>
|
|
7252
7264
|
|
|
7253
7265
|
```typescript
|
|
7254
|
-
import {lens, assoc, lensProp, view, lensIndex, lensPath} from 'rambda'
|
|
7266
|
+
import {lens, assoc, lensProp, view, lensIndex, over, lensPath} from 'rambda'
|
|
7255
7267
|
|
|
7256
7268
|
interface Input {
|
|
7257
7269
|
foo: string,
|
|
@@ -7275,6 +7287,10 @@ describe('R.lensProp', () => {
|
|
|
7275
7287
|
const result = view<Input, string>(lensProp('foo'), testObject)
|
|
7276
7288
|
result // $ExpectType string
|
|
7277
7289
|
})
|
|
7290
|
+
it('issue 740', () => {
|
|
7291
|
+
// @ts-expect-error
|
|
7292
|
+
over(lensProp('x'), (n) => String(n), {x: 1})
|
|
7293
|
+
})
|
|
7278
7294
|
})
|
|
7279
7295
|
|
|
7280
7296
|
describe('R.lensIndex', () => {
|
|
@@ -8828,11 +8844,7 @@ It returns the lesser value between `x` and `y` according to `compareFn` functio
|
|
|
8828
8844
|
|
|
8829
8845
|
```typescript
|
|
8830
8846
|
|
|
8831
|
-
modify<
|
|
8832
|
-
prop: K,
|
|
8833
|
-
fn: (a: T[K]) => P,
|
|
8834
|
-
obj: T,
|
|
8835
|
-
): Omit<T, K> & Record<K, P>
|
|
8847
|
+
modify<K extends PropertyKey, T>(prop: K, fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U
|
|
8836
8848
|
```
|
|
8837
8849
|
|
|
8838
8850
|
<a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20result%20%3D%20R.modify()%0A%2F%2F%20%3D%3E">Try this <strong>R.modify</strong> example in Rambda REPL</a>
|
|
@@ -8842,15 +8854,12 @@ modify<T extends object, K extends keyof T, P>(
|
|
|
8842
8854
|
<summary>All TypeScript definitions</summary>
|
|
8843
8855
|
|
|
8844
8856
|
```typescript
|
|
8845
|
-
modify<
|
|
8846
|
-
|
|
8847
|
-
|
|
8848
|
-
|
|
8849
|
-
|
|
8850
|
-
|
|
8851
|
-
prop: K,
|
|
8852
|
-
fn: (a: A) => P,
|
|
8853
|
-
): <T extends Record<K, A>>(target: T) => Omit<T, K> & Record<K, P>;
|
|
8857
|
+
modify<K extends PropertyKey, T>(prop: K, fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U;
|
|
8858
|
+
modify<U, K extends keyof U>(prop: K, fn: (value: U[K]) => U[K], object: U): U;
|
|
8859
|
+
modify<K extends PropertyKey>(prop: K): {
|
|
8860
|
+
<T>(fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U;
|
|
8861
|
+
<T, U extends Record<K, T>>(fn: (value: T) => T, object: U): U;
|
|
8862
|
+
};
|
|
8854
8863
|
```
|
|
8855
8864
|
|
|
8856
8865
|
</details>
|
|
@@ -8991,23 +9000,52 @@ describe('brute force', () => {
|
|
|
8991
9000
|
<summary><strong>TypeScript</strong> test</summary>
|
|
8992
9001
|
|
|
8993
9002
|
```typescript
|
|
8994
|
-
import {modify,
|
|
8995
|
-
|
|
9003
|
+
import { add, identity, map, modify, pipe, toUpper } from 'rambda';
|
|
9004
|
+
|
|
9005
|
+
type Obj = {
|
|
9006
|
+
foo: string;
|
|
9007
|
+
bar: number;
|
|
9008
|
+
};
|
|
8996
9009
|
|
|
8997
9010
|
describe('R.modify', () => {
|
|
8998
|
-
|
|
8999
|
-
|
|
9000
|
-
|
|
9011
|
+
it('ramda tests', () => {
|
|
9012
|
+
const result1 = modify('foo', toUpper, {} as Obj);
|
|
9013
|
+
result1; // $ExpectType Obj
|
|
9001
9014
|
|
|
9002
|
-
|
|
9003
|
-
|
|
9004
|
-
})
|
|
9005
|
-
it('curried', () => {
|
|
9006
|
-
const {age} = modify('age', add(1))(person)
|
|
9015
|
+
const result2 = modify('bar', add(1), {} as Obj);
|
|
9016
|
+
result2; // $ExpectType Obj
|
|
9007
9017
|
|
|
9008
|
-
|
|
9009
|
-
|
|
9010
|
-
|
|
9018
|
+
const result3 = modify('foo', toUpper)({} as Obj);
|
|
9019
|
+
result3; // $ExpectType Obj
|
|
9020
|
+
|
|
9021
|
+
const result4 = modify('bar', add(1))({} as Obj);
|
|
9022
|
+
result4; // $ExpectType Obj
|
|
9023
|
+
|
|
9024
|
+
const result5 = modify('foo')(toUpper)({} as Obj);
|
|
9025
|
+
result5; // $ExpectType Obj
|
|
9026
|
+
|
|
9027
|
+
const result6 = modify('bar')(add(1))({} as Obj);
|
|
9028
|
+
result6; // $ExpectType Obj
|
|
9029
|
+
|
|
9030
|
+
const result7 = modify('foo')(toUpper, {} as Obj);
|
|
9031
|
+
result7; // $ExpectType Obj
|
|
9032
|
+
|
|
9033
|
+
const result8 = modify('bar')(add(1), {} as Obj);
|
|
9034
|
+
result8; // $ExpectType Obj
|
|
9035
|
+
|
|
9036
|
+
const result9 = modify('foo', identity, {} as Obj);
|
|
9037
|
+
result9; // $ExpectType Obj
|
|
9038
|
+
|
|
9039
|
+
// @ts-expect-error
|
|
9040
|
+
modify('foo', add(1), {} as Obj);
|
|
9041
|
+
// @ts-expect-error
|
|
9042
|
+
modify('bar', toUpper, {} as Obj);
|
|
9043
|
+
|
|
9044
|
+
const f = pipe(map<Obj, Obj>(modify('foo', toUpper)));
|
|
9045
|
+
|
|
9046
|
+
f([] as Obj[]); // $ExpectType Obj[]
|
|
9047
|
+
});
|
|
9048
|
+
});
|
|
9011
9049
|
```
|
|
9012
9050
|
|
|
9013
9051
|
</details>
|
|
@@ -17226,6 +17264,14 @@ describe('R.zipWith', () => {
|
|
|
17226
17264
|
|
|
17227
17265
|
## ❯ CHANGELOG
|
|
17228
17266
|
|
|
17267
|
+
9.3.0
|
|
17268
|
+
|
|
17269
|
+
- Breaking change in relation to TS typings of `R.assoc`, `R.dissoc` and `R.modify` - https://github.com/ramda/types/pull/37
|
|
17270
|
+
|
|
17271
|
+
- Add `R.isNotEmpty` as it is new method in `Ramda`
|
|
17272
|
+
|
|
17273
|
+
- Fix `R.head`/`R.last` TS definition - It returns `undefined` if array has length of 0. Before
|
|
17274
|
+
|
|
17229
17275
|
9.2.1
|
|
17230
17276
|
|
|
17231
17277
|
- Broken `Deno` build - [Issue #731](https://github.com/selfrefactor/rambda/issues/731)
|
|
@@ -17650,11 +17696,11 @@ Fix wrong versions in changelog
|
|
|
17650
17696
|
|
|
17651
17697
|
> Links to Rambda
|
|
17652
17698
|
|
|
17653
|
-
- [https://github.com/stoeffel/awesome-fp-js
|
|
17699
|
+
- [awesome-fp-js](https://github.com/stoeffel/awesome-fp-js)
|
|
17654
17700
|
|
|
17655
|
-
- [ https://mailchi.mp/webtoolsweekly/web-tools-280
|
|
17701
|
+
- [Web Tools Weekly #280](https://mailchi.mp/webtoolsweekly/web-tools-280)
|
|
17656
17702
|
|
|
17657
|
-
- [https://github.com/docsifyjs/awesome-docsify
|
|
17703
|
+
- [awesome-docsify](https://github.com/docsifyjs/awesome-docsify)
|
|
17658
17704
|
|
|
17659
17705
|
> Deprecated from `Used by` section
|
|
17660
17706
|
|
package/dist/rambda.js
CHANGED
|
@@ -877,20 +877,6 @@ function _toPropertyKey(t) {
|
|
|
877
877
|
var i = _toPrimitive(t, "string");
|
|
878
878
|
return "symbol" == typeof i ? i : i + "";
|
|
879
879
|
}
|
|
880
|
-
function _defineProperty(obj, key, value) {
|
|
881
|
-
key = _toPropertyKey(key);
|
|
882
|
-
if (key in obj) {
|
|
883
|
-
Object.defineProperty(obj, key, {
|
|
884
|
-
value: value,
|
|
885
|
-
enumerable: true,
|
|
886
|
-
configurable: true,
|
|
887
|
-
writable: true
|
|
888
|
-
});
|
|
889
|
-
} else {
|
|
890
|
-
obj[key] = value;
|
|
891
|
-
}
|
|
892
|
-
return obj;
|
|
893
|
-
}
|
|
894
880
|
|
|
895
881
|
function compare(a, b) {
|
|
896
882
|
return String(a) === String(b);
|
|
@@ -1544,11 +1530,6 @@ function isEmpty(input) {
|
|
|
1544
1530
|
const inputType = type(input);
|
|
1545
1531
|
if (['Undefined', 'NaN', 'Number', 'Null'].includes(inputType)) return false;
|
|
1546
1532
|
if (!input) return true;
|
|
1547
|
-
if (type(input.isEmpty) === 'Function') {
|
|
1548
|
-
return input.isEmpty();
|
|
1549
|
-
} else if (input.isEmpty) {
|
|
1550
|
-
return !!input.isEmpty;
|
|
1551
|
-
}
|
|
1552
1533
|
if (inputType === 'Object') {
|
|
1553
1534
|
return Object.keys(input).length === 0;
|
|
1554
1535
|
}
|
|
@@ -1562,6 +1543,10 @@ function isNil(x) {
|
|
|
1562
1543
|
return x === undefined || x === null;
|
|
1563
1544
|
}
|
|
1564
1545
|
|
|
1546
|
+
function isNotEmpty(input) {
|
|
1547
|
+
return !isEmpty(input);
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1565
1550
|
function isNotNil(input) {
|
|
1566
1551
|
return input != null;
|
|
1567
1552
|
}
|
|
@@ -2621,6 +2606,7 @@ exports.intersperse = intersperse;
|
|
|
2621
2606
|
exports.is = is;
|
|
2622
2607
|
exports.isEmpty = isEmpty;
|
|
2623
2608
|
exports.isNil = isNil;
|
|
2609
|
+
exports.isNotEmpty = isNotEmpty;
|
|
2624
2610
|
exports.isNotNil = isNotNil;
|
|
2625
2611
|
exports.join = join;
|
|
2626
2612
|
exports.juxt = juxt;
|
package/dist/rambda.umd.js
CHANGED
|
@@ -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,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 U(n){n=function(n,r){if("object"!=typeof n||!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 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 D(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function L(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,U(e.key),e)}}function z(n,r,t){return r&&L(n.prototype,r),t&&L(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function f(n,r,t){return(r=U(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)||M(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)||M(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 M(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 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=z(function n(r){D(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(){return z(function n(){D(this,n),this.set=new Set,this.items={}},[{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)}}])}();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))}var Fr=p(function(n,r,t){return n(t)?t:r(t)});function Sr(r){return{x:r,map:function(n){return Sr(r)}}}var kr=p(function(n,r,t){return n(t)?r(t):t});var Ir=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=Fr,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(Sr)(n).x},n.when=kr,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=Ir});
|
|
1
|
+
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){"use strict";function a(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,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 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 C(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function U(n,r){if(r)for(var t=n.prototype,e=r,u=0;u<e.length;u++){var i=e[u];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,L(i.key),i)}return Object.defineProperty(n,"prototype",{writable:!1}),n}function c(n,r,t){return(r=L(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function D(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 f(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?D(Object(t),!0).forEach(function(n){c(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):D(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}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)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 h(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||z(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(n){n=function(n,r){if("object"!=typeof n||!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 s(n){return(s="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 z(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t={}.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 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(h(i),t)).length<u.length?p(u,n):u.apply(void 0,h(n))}}var M=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 _(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"===s(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,c({},n,r))}var J=p(y);function H(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 $(n,r,t){var e,u,n=m(n);return 0===n.length?r:(e=n[0],1<n.length&&(u="object"!==s(t)||null===t||!t.hasOwnProperty(e)?H(n[1])?[]:{}:t[e],r=$(Array.prototype.slice.call(n,1),r,u)),H(e)&&g(t)?((n=l(t))[e]=r,n):y(e,r,t))}var G=p($);var K=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"===s(e)&&null!==e?e.getTime?new Date(e.getTime()):b(e):e}return t}var Q=U(function n(r){C(this,n),this.value=r});function V(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 Q)return r.value;e++}}return r}var w=p(V);function X(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Y(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,V(X,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function Z(n){return"string"==typeof n?n[0]||"":n[0]}function nn(n){return n}function rn(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function j(r,n){return 1===arguments.length?function(n){return j(r,n)}:n.slice(0<r?r:0)}function tn(n){return j(1,n)}function en(t,n){var r,e;return 0<n.length?(r=Z(n),e=tn(n),a(r.length,function(){return w(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):nn}function un(r,n){return 1===arguments.length?function(n){return un(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(h(r),h(n))}var on="Incorrect iterable input",cn=Object.keys;function O(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 fn=A;function E(r,n){if(1===arguments.length)return function(n){return E(r,n)};if(n)return(g(n)?O:A)(r,n);throw Error(on)}function an(r,n){return 1===arguments.length?function(n){return an(r,n)}:r<n?n:r}function N(r,n){return 1===arguments.length?function(n){return N(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function x(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 ln(n,r){if(!g(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=x(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)S(r[e],n)&&(u=e);return u}function P(n,r){if(!g(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=x(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)S(r[e],n)&&(u=e);return u}function hn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function sn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function pn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function S(t,e){var n,u,i,r,o,c,f,a;return 1===arguments.length?function(n){return S(t,n)}:!!Object.is(t,e)||(n=x(t))===x(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Null","Undefined"].includes(n)||(["BigInt","Number"].includes(n)?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["Boolean","String"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||S(n,u[r])||(i=!1)}),i):(r=pn(t),o=pn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(r=sn(t),o=sn(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=hn(o.values()),c=hn(f.values()),0===o.filter(function(n){return-1===P(n,c)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(a=!0,f.forEach(function(n){var r;a&&(r=t[n])!==(n=e[n])&&!S(r,n)&&(a=!1)}),a))))))}function k(r,n){if(1===arguments.length)return function(n){return k(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!g(n)&&-1<P(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var gn=function(){return U(function n(){C(this,n),this.set=new Set,this.items={}},[{key:"checkUniqueness",value:function(n){var r=x(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)}}])}();function vn(n){var r=new gn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function yn(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 dn=p(yn);function mn(r,n){if(1===arguments.length)return function(n){return mn(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 bn(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?bn(r,n):void 0}function wn(r,n){return 1===arguments.length?function(n){return wn(r,n)}:0<r?r<n.length-1?[].concat(h(n.slice(0,r)),h(n.slice(r+1))):n.slice(0,n.length-1):n.slice(1)}function jn(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var On=p(jn);function An(n,r,t){return S(n(r),n(t))}var En=p(An);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 xn=p(function(n,r,t){return S(I(n,r),I(n,t))});function Pn(t,n){return O(function(n,r){return"Function"===x(t[r])?t[r](n):n},n,!0)}function Sn(e,n){return A(function(n,r){var t;return"Object"===x(n)?"Function"===(t=x(e[r]))?e[r](n):"Object"===t?kn(e[r],n):n:"Function"===x(e[r])?e[r](n):n},n)}function kn(r,n){if(1===arguments.length)return function(n){return kn(r,n)};var t=x(r),e=x(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?Sn:Pn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function Fn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function In(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)?In(r,n,!1):Fn(r,n);throw Error("Incorrect iterable input")}function Tn(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 Wn(r,n){return 1===arguments.length?function(n){return Wn(r,n)}:!!n&&n.hasOwnProperty(r)}var Bn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var Rn=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 qn(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 Cn(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 Un=p(Cn);function Dn(n,r,t){return[].concat(h(t.slice(0,n)),[r],h(t.slice(n)))}var Ln=p(Dn);function zn(n,r,t){return[].concat(h(t.slice(0,n)),h(r),h(t.slice(n)))}var Mn=p(zn);function _n(r,n){return 1===arguments.length?function(n){return _n(r,n)}:null!=n&&n.constructor===r||n instanceof r}function Jn(n){var r=x(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))}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"===x(t[n])&&"Object"===x(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"!==x(e)||void 0===t[n]?t:g(t)?jn(n,r(t[n]),t):f(f({},t),{},c({},n,r(t[n])))});function rr(n,r,t){n=m(n);return 1===n.length?f(f({},t),{},c({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=tr(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:J(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(h(i),r))):e.apply(void 0,h(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 S(F(n,t),r)});var sr=p(function(n,r,t){return N(n,F(r,t))});function pr(n,r,t){if(0===r.length)throw Error("R.pathSatisfies received an empty path");return!!n(F(r,t))}var gr=p(pr);var vr=w(ur,1);var yr=p(function(n,r,t){return!!t&&S(n,I(r,t))});var dr=p(function(n,r,t){return _n(n,t[r])});var mr=p(function(n,r,t){return t?N(n,t[r]):n});var br=p(function(n,r,t){return n(I(r,t))});function wr(r,n){if(1===arguments.length)return function(n){return wr(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}function jr(i,o,c,n){return w(function(n,r){return t=i,e=o,n=n,u=(u=c)(r=r),t=t(Wn(u,n)?n[u]:b(e),r),n[u]=t,n;var t,e,u},{},n)}var Or=p(jr);var Ar=p(function(n,r,t){return t.replace(n,r)});var Er=p(function(n,r,t){return cr(n,_(r),t)});var Nr=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):qn(n,0,r)}var xr=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:f(f({},t),{},c(c({},n,t[r]),r,t[n]))});function Pr(n){return["Promise","Function"].includes(x(n))}var Sr=p(function(n,r,t){return n(t)?t:r(t)});function kr(r){return{x:r,map:function(n){return kr(r)}}}var Fr=p(function(n,r,t){return n(t)?r(t):t});var Ir=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=ln,n._pipe=X,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=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=_,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.ap=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.reduce(function(n,r){return[].concat(h(n),h(e.map(r)))},[])},n.aperture=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(n.length<t)return[];for(var e=0,u=n.length-(t-1),i=Array(u);e<u;)i[e]=n.slice(e,e+t),e+=1;return i},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=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,h(c).concat([n])))};if(2==n)return function(n,r){return u(i,o,v.apply(void 0,h(c).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,v.apply(void 0,h(c).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,v.apply(void 0,h(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,h(c).concat(r)))};if(g(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==s(i[t])&&!g(i[t])||(r[t]=u(i[t],o,c)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,h(c)));return r}var f,a={};for(f in i)0!=i.hasOwnProperty(f)&&"constructor"!==f&&("object"===s(i[f])?a[f]=u(i[f],o,c):"function"==typeof i[f]&&(a[f]=i[f].apply(i,h(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=J,n.assocFn=y,n.assocPath=G,n.assocPathFn=$,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,h(n.map(t)))},n.clamp=K,n.clone=b,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=w(function(n,r){var t=e(r);return void 0===n[t]&&(n[t]=[]),n[t].push(r),n},{},n),i=[];for(t in u)i.push(u[t]);return i},n.comparator=function(t){return function(n,r){return t(n,r)?-1:t(r,n)?1:0}},n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return Y.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)}:en(t,rn(n))},n.concat=un,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(w(function(n,r){return an(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=N,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)}:vn(t).filter(function(n){return!k(n,e)})},n.differenceWith=dn,n.differenceWithFn=yn,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"!==s(n)||null===n||!n.hasOwnProperty(e),1<i.length?(u=u?H(i[1])?[]:{}:n[e],i=r(Array.prototype.slice.call(i,1),u,n),g(n)?On(e,i,n):f(f({},n),{},c({},e,i))):g(n)?wn(e,n):mn([e],n))},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=j,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(s(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(s(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 S(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=null,n.slice().filter(function(n){if(null===e)e=t(n);else{if(n=t(n),S(e,n))return!1;e=n}return!0}))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(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"===x(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=S(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqBy=En,n.eqByFn=An,n.eqProps=xn,n.equals=S,n.evolve=kn,n.evolveArray=Pn,n.evolveObject=Sn,n.filter=T,n.filterArray=In,n.filterObject=Fn,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 Tn(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?Tn(t,n):void 0},n.forEachObjIndexedFn=Tn,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=Wn,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=Z,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Bn(t,n)},n.identity=nn,n.ifElse=Rn,n.inc=function(n){return n+1},n.includes=k,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var c=u[o];i[F(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?qn(n,0,-1):[]},n.innerJoin=Un,n.innerJoinFn=Cn,n.insert=Ln,n.insertAll=Mn,n.insertAllFn=zn,n.insertFn=Dn,n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return k(n,t)},n)},n.intersperse=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=n.length,i=[];++e<u;)e===u-1?i.push(n[e]):i.push(n[e],t);return i},n.is=_n,n.isEmpty=Jn,n.isNil=function(n){return null==n},n.isNotEmpty=function(n){return!Jn(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 ln(r,n)}:ln(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),On(n))},n.lensPath=function(n){return r(F(n),G(n))},n.lensProp=function(n){return r(I(n),J(n))},n.lt=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t<n},n.lte=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t<=n},n.map=E,n.mapArray=O,n.mapObjIndexed=fn,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=an,n.maxBy=Gn,n.maxByFn=$n,n.mean=Qn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Qn(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=W,n.mergeAll=function(n){var r={};return E(function(n){r=W(r,n)},n),r},n.mergeDeepLeft=function(n,r){return B(r,n)},n.mergeDeepRight=B,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Xn,n.mergeWithFn=Vn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Zn,n.minByFn=Yn,n.modify=nr,n.modifyPath=tr,n.modifyPathFn=rr,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=er,n.multiply=ur,n.negate=function(n){return-n},n.none=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(t(n[e]))return!1;return!0},n.not=function(n){return!n},n.nth=Hn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:c({},t,n)},n.of=function(n){return[n]},n.omit=mn,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=F,n.pathEq=hr,n.pathFn=bn,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 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.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=Y,n.pipeWith=en,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 O(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=wr,n.reduce=w,n.reduceBy=Or,n.reduceByFn=jr,n.reduceFn=V,n.reduceStopper=function(n){return new Q(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=wn,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=rn,n.set=Er,n.slice=Nr,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"===x(u)?u():u,i=e||"Function"!==x(i)?i:i(),[R(e=e?u:i,n),j(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=S(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Kn,n.swap=xr,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:un(T(function(n){return!k(n,e)},t),T(function(n){return!k(n,t)},e))},n.tail=tn,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):qn(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,wr(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return 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=x,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=l(t),n.forEach(function(n){k(n,t)||e.push(n)}),e)},n.uniq=vn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new gn,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=Sr,n.unnest=function(n){return n.reduce(function(n,r){return[].concat(h(n),Array.isArray(r)?h(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:g(e[t])?O(function(n){return f(f({},e),{},c({},t,n))},e[t]):[e]},n.update=On,n.updateFn=jn,n.values=function(n){return"Object"!==x(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(kr)(n).x},n.when=Fr,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){var n;return 1===arguments.length?function(n){return r(t,n)}:(n=T(function(n,r){return S(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:w(function(n,r){return-1<P(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:R(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=Ir});
|
package/immutable.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error" | "Map" | "WeakMap" | "Generator" | "GeneratorFunction" | "BigInt" | "ArrayBuffer" | "Date"
|
|
2
2
|
|
|
3
|
+
export type NonEmptyArray<T> = readonly [T, ...readonly T[]];
|
|
4
|
+
export type ReadonlyNonEmptyArray<T> = readonly [T, ...readonly T[]];
|
|
5
|
+
|
|
3
6
|
type LastArrayElement<ValueType extends readonly unknown[]> =
|
|
4
7
|
ValueType extends readonly [infer ElementType]
|
|
5
8
|
? ElementType
|
|
@@ -25,7 +28,7 @@ type Ord = number | string | boolean | Date;
|
|
|
25
28
|
type Ordering = -1 | 0 | 1;
|
|
26
29
|
type Path = string | readonly (number | string)[];
|
|
27
30
|
export type RamdaPath = readonly (number | string)[];
|
|
28
|
-
type Predicate<T> = (x: T) => boolean;
|
|
31
|
+
export type Predicate<T> = (x: T) => boolean;
|
|
29
32
|
export type IndexedPredicate<T> = (x: T, i: number) => boolean;
|
|
30
33
|
export type ObjectPredicate<T> = (x: T, prop: string, inputObj: Dictionary<T>) => boolean;
|
|
31
34
|
type CondPair<T extends readonly any[], R> = readonly [(...val: T) => boolean, (...val: T) => R]
|
|
@@ -89,10 +92,6 @@ type EvolveValue<V, E> =
|
|
|
89
92
|
? EvolveNestedValue<V, E>
|
|
90
93
|
: never;
|
|
91
94
|
|
|
92
|
-
interface AssocPartialOne<K extends keyof any> {
|
|
93
|
-
<T>(val: T): <U>(obj: U) => Record<K, T> & U;
|
|
94
|
-
<T, U>(val: T, obj: U): Record<K, T> & U;
|
|
95
|
-
}
|
|
96
95
|
type AtLeastOneFunctionsFlowFromRightToLeft<TArgs extends readonly any[], TResult> =
|
|
97
96
|
| readonly [(...args: any) => TResult, ...ReadonlyArray<(args: any) => any>, (...args: TArgs) => any]
|
|
98
97
|
| readonly [(...args: TArgs) => TResult];
|
|
@@ -113,7 +112,7 @@ type RegExpReplacerFn =
|
|
|
113
112
|
| ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, p8: string, p9: string, offset: number, s: string, groups?: Record<string, string>) => string)
|
|
114
113
|
type RegExpReplacer = string | RegExpReplacerFn
|
|
115
114
|
|
|
116
|
-
/** `
|
|
115
|
+
/** `First`, when `First` is a supertype of `Second`; otherwise `never`. */
|
|
117
116
|
type IsFirstSubtypeOfSecond<First, Second> = (First extends Second ? Second : never);
|
|
118
117
|
|
|
119
118
|
// RAMBDAX INTERFACES
|
|
@@ -121,9 +120,9 @@ type IsFirstSubtypeOfSecond<First, Second> = (First extends Second ? Second : ne
|
|
|
121
120
|
type Func<T> = (input: any) => T;
|
|
122
121
|
type VoidInputFunc<T> = () => T;
|
|
123
122
|
type Fn<In, Out> = (x: In) => Out;
|
|
124
|
-
type SortObjectPredicate<T> = (aProp: string, bProp: string, aValue: T, bValue: T) => number;
|
|
123
|
+
export type SortObjectPredicate<T> = (aProp: string, bProp: string, aValue: T, bValue: T) => number;
|
|
125
124
|
|
|
126
|
-
type IdentityFunction<T> = (x: T) => T;
|
|
125
|
+
export type IdentityFunction<T> = (x: T) => T;
|
|
127
126
|
|
|
128
127
|
interface Filter<T> {
|
|
129
128
|
(list: readonly T[]): readonly T[];
|
|
@@ -156,9 +155,9 @@ export interface IsValidAsync {
|
|
|
156
155
|
readonly schema: Schema | SchemaAsync;
|
|
157
156
|
}
|
|
158
157
|
|
|
159
|
-
type ProduceRules<Output,K extends keyof Output, Input> = { readonly [P in K]: (input: Input) => Output[P];
|
|
158
|
+
export type ProduceRules<Output,K extends keyof Output, Input> = { readonly [P in K]: (input: Input) => Output[P];
|
|
160
159
|
};
|
|
161
|
-
type ProduceAsyncRules<Output,K extends keyof Output, Input> = { readonly [P in K]: (input: Input) => Promise<Output[P]>;
|
|
160
|
+
export type ProduceAsyncRules<Output,K extends keyof Output, Input> = { readonly [P in K]: (input: Input) => Promise<Output[P]>;
|
|
162
161
|
};
|
|
163
162
|
type ProduceAsyncRule<Input> = (input: Input) => Promise<any>;
|
|
164
163
|
type Async<T> = (x: any) => Promise<T>;
|
|
@@ -168,10 +167,10 @@ type AsyncPredicate<T> = (x: T) => Promise<boolean>;
|
|
|
168
167
|
type AsyncPredicateIndexed<T> = (x: T, i: number) => Promise<boolean>;
|
|
169
168
|
type AsyncWithProp<T> = (x: any, prop?: string) => Promise<T>;
|
|
170
169
|
|
|
171
|
-
type ApplyDiffUpdate = {readonly op:'update', readonly path: string, readonly value: any};
|
|
172
|
-
type ApplyDiffAdd = {readonly op:'add', readonly path: string, readonly value: any};
|
|
173
|
-
type ApplyDiffRemove = {readonly op:'remove', readonly path: string};
|
|
174
|
-
type ApplyDiffRule = ApplyDiffUpdate | ApplyDiffAdd | ApplyDiffRemove;
|
|
170
|
+
export type ApplyDiffUpdate = {readonly op:'update', readonly path: string, readonly value: any};
|
|
171
|
+
export type ApplyDiffAdd = {readonly op:'add', readonly path: string, readonly value: any};
|
|
172
|
+
export type ApplyDiffRemove = {readonly op:'remove', readonly path: string};
|
|
173
|
+
export type ApplyDiffRule = ApplyDiffUpdate | ApplyDiffAdd | ApplyDiffRemove;
|
|
175
174
|
|
|
176
175
|
|
|
177
176
|
export function F(): boolean;
|
|
@@ -279,9 +278,14 @@ export function ascend<T>(fn: (obj: T) => Ord): (a: T, b: T) => Ordering;
|
|
|
279
278
|
/**
|
|
280
279
|
* It makes a shallow clone of `obj` with setting or overriding the property `prop` with `newValue`.
|
|
281
280
|
*/
|
|
282
|
-
export function assoc<
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
export function assoc<K extends PropertyKey>(prop: K): {
|
|
282
|
+
<T>(val: T): <U extends Record<K, T>>(obj: U) => U;
|
|
283
|
+
<U extends Record<K, T>, T>(val: T, obj: U): U;
|
|
284
|
+
};
|
|
285
|
+
export function assoc<T, K extends PropertyKey>(prop: K, val: T): {
|
|
286
|
+
<U>(obj: U): U extends Record<K, any> ? U[K] extends T ? U : Record<K, T> & Omit<U, K> : U & Record<K, T>;
|
|
287
|
+
};
|
|
288
|
+
export function assoc<U, K extends keyof U, T extends U[K]>(prop: K, val: T, obj: U): U;
|
|
285
289
|
|
|
286
290
|
/**
|
|
287
291
|
* It makes a shallow clone of `obj` with setting or overriding with `newValue` the property found with `path`.
|
|
@@ -511,8 +515,8 @@ export function differenceWith<T1, T2>(
|
|
|
511
515
|
/**
|
|
512
516
|
* It returns a new object that does not contain property `prop`.
|
|
513
517
|
*/
|
|
514
|
-
export function dissoc<
|
|
515
|
-
export function dissoc<K extends
|
|
518
|
+
export function dissoc<K extends PropertyKey>(prop: K): <U extends { readonly [P in K]?: any}>(obj: string extends keyof U ? U : undefined extends U[K] ? U : never) => U;
|
|
519
|
+
export function dissoc<U, K extends keyof U>(prop: string extends keyof U ? K : undefined extends U[K] ? K : never, obj: U): U;
|
|
516
520
|
|
|
517
521
|
export function dissocPath<T>(path: Path, obj: any): T;
|
|
518
522
|
export function dissocPath<T>(path: Path): (obj: any) => T;
|
|
@@ -722,10 +726,11 @@ export function hasPath<T>(
|
|
|
722
726
|
): (input: object) => boolean;
|
|
723
727
|
|
|
724
728
|
/**
|
|
725
|
-
* It returns the first element of list or string `input`.
|
|
729
|
+
* It returns the first element of list or string `input`. It returns `undefined` if array has length of 0.
|
|
726
730
|
*/
|
|
727
731
|
export function head(str: string): string;
|
|
728
732
|
export function head(str: ''): undefined;
|
|
733
|
+
export function head(list: readonly[]): undefined;
|
|
729
734
|
export function head<T>(list: readonly never[]): undefined;
|
|
730
735
|
export function head<T extends readonly unknown[]>(array: T): FirstArrayElement<T>
|
|
731
736
|
export function head<T extends readonly unknown[]>(array: T): FirstArrayElement<T>
|
|
@@ -848,6 +853,10 @@ export function isEmpty<T>(x: T): boolean;
|
|
|
848
853
|
*/
|
|
849
854
|
export function isNil(x: any): x is null | undefined;
|
|
850
855
|
|
|
856
|
+
export function isNotEmpty<T>(value: readonly T[]): value is NonEmptyArray<T>;
|
|
857
|
+
export function isNotEmpty<T>(value: readonly T[]): value is ReadonlyNonEmptyArray<T>;
|
|
858
|
+
export function isNotEmpty(value: any): boolean;
|
|
859
|
+
|
|
851
860
|
export function isNotNil<T>(value: T): value is NonNullable<T>;
|
|
852
861
|
|
|
853
862
|
/**
|
|
@@ -873,13 +882,15 @@ export function keys<T extends object>(x: T): readonly (keyof T & string)[];
|
|
|
873
882
|
export function keys<T>(x: T): readonly string[];
|
|
874
883
|
|
|
875
884
|
/**
|
|
876
|
-
* It returns the last element of `input`, as the `input` can be either a string or an array.
|
|
885
|
+
* It returns the last element of `input`, as the `input` can be either a string or an array. It returns `undefined` if array has length of 0.
|
|
877
886
|
*/
|
|
878
887
|
export function last(str: ''): undefined;
|
|
879
888
|
export function last(str: string): string;
|
|
889
|
+
export function last(list: readonly[]): undefined;
|
|
880
890
|
export function last(list: readonly never[]): undefined;
|
|
881
|
-
export function last<T extends readonly unknown[]>(array: T): LastArrayElement<T
|
|
882
|
-
export function last<T extends readonly unknown[]>(array: T): LastArrayElement<T
|
|
891
|
+
export function last<T extends readonly unknown[]>(array: T): LastArrayElement<T>;
|
|
892
|
+
export function last<T extends readonly unknown[]>(array: T): LastArrayElement<T>;
|
|
893
|
+
export function last(str: string): string | undefined;
|
|
883
894
|
|
|
884
895
|
/**
|
|
885
896
|
* It returns the last index of `target` in `list` array.
|
|
@@ -1075,15 +1086,12 @@ export function minBy<T>(compareFn: (input: T) => Ord, x: T, y: T): T;
|
|
|
1075
1086
|
export function minBy<T>(compareFn: (input: T) => Ord, x: T): (y: T) => T;
|
|
1076
1087
|
export function minBy<T>(compareFn: (input: T) => Ord): (x: T) => (y: T) => T;
|
|
1077
1088
|
|
|
1078
|
-
export function modify<
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
prop: K,
|
|
1085
|
-
fn: (a: A) => P,
|
|
1086
|
-
): <T extends Record<K, A>>(target: T) => Omit<T, K> & Record<K, P>;
|
|
1089
|
+
export function modify<K extends PropertyKey, T>(prop: K, fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U;
|
|
1090
|
+
export function modify<U, K extends keyof U>(prop: K, fn: (value: U[K]) => U[K], object: U): U;
|
|
1091
|
+
export function modify<K extends PropertyKey>(prop: K): {
|
|
1092
|
+
<T>(fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U;
|
|
1093
|
+
<T, U extends Record<K, T>>(fn: (value: T) => T, object: U): U;
|
|
1094
|
+
};
|
|
1087
1095
|
|
|
1088
1096
|
/**
|
|
1089
1097
|
* It changes a property of object on the base of provided path and transformer function.
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error" | "Map" | "WeakMap" | "Generator" | "GeneratorFunction" | "BigInt" | "ArrayBuffer" | "Date"
|
|
2
2
|
|
|
3
|
+
export type NonEmptyArray<T> = [T, ...T[]];
|
|
4
|
+
export type ReadonlyNonEmptyArray<T> = readonly [T, ...T[]];
|
|
5
|
+
|
|
3
6
|
type LastArrayElement<ValueType extends readonly unknown[]> =
|
|
4
7
|
ValueType extends readonly [infer ElementType]
|
|
5
8
|
? ElementType
|
|
@@ -25,7 +28,7 @@ type Ord = number | string | boolean | Date;
|
|
|
25
28
|
type Ordering = -1 | 0 | 1;
|
|
26
29
|
type Path = string | (number | string)[];
|
|
27
30
|
export type RamdaPath = (number | string)[];
|
|
28
|
-
type Predicate<T> = (x: T) => boolean;
|
|
31
|
+
export type Predicate<T> = (x: T) => boolean;
|
|
29
32
|
export type IndexedPredicate<T> = (x: T, i: number) => boolean;
|
|
30
33
|
export type ObjectPredicate<T> = (x: T, prop: string, inputObj: Dictionary<T>) => boolean;
|
|
31
34
|
type CondPair<T extends any[], R> = [(...val: T) => boolean, (...val: T) => R]
|
|
@@ -89,10 +92,6 @@ type EvolveValue<V, E> =
|
|
|
89
92
|
? EvolveNestedValue<V, E>
|
|
90
93
|
: never;
|
|
91
94
|
|
|
92
|
-
interface AssocPartialOne<K extends keyof any> {
|
|
93
|
-
<T>(val: T): <U>(obj: U) => Record<K, T> & U;
|
|
94
|
-
<T, U>(val: T, obj: U): Record<K, T> & U;
|
|
95
|
-
}
|
|
96
95
|
type AtLeastOneFunctionsFlowFromRightToLeft<TArgs extends any[], TResult> =
|
|
97
96
|
| [(...args: any) => TResult, ...Array<(args: any) => any>, (...args: TArgs) => any]
|
|
98
97
|
| [(...args: TArgs) => TResult];
|
|
@@ -113,7 +112,7 @@ type RegExpReplacerFn =
|
|
|
113
112
|
| ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, p8: string, p9: string, offset: number, s: string, groups?: Record<string, string>) => string)
|
|
114
113
|
type RegExpReplacer = string | RegExpReplacerFn
|
|
115
114
|
|
|
116
|
-
/** `
|
|
115
|
+
/** `First`, when `First` is a supertype of `Second`; otherwise `never`. */
|
|
117
116
|
type IsFirstSubtypeOfSecond<First, Second> = (First extends Second ? Second : never);
|
|
118
117
|
|
|
119
118
|
// RAMBDAX INTERFACES
|
|
@@ -121,9 +120,9 @@ type IsFirstSubtypeOfSecond<First, Second> = (First extends Second ? Second : ne
|
|
|
121
120
|
type Func<T> = (input: any) => T;
|
|
122
121
|
type VoidInputFunc<T> = () => T;
|
|
123
122
|
type Fn<In, Out> = (x: In) => Out;
|
|
124
|
-
type SortObjectPredicate<T> = (aProp: string, bProp: string, aValue: T, bValue: T) => number;
|
|
123
|
+
export type SortObjectPredicate<T> = (aProp: string, bProp: string, aValue: T, bValue: T) => number;
|
|
125
124
|
|
|
126
|
-
type IdentityFunction<T> = (x: T) => T;
|
|
125
|
+
export type IdentityFunction<T> = (x: T) => T;
|
|
127
126
|
|
|
128
127
|
interface Filter<T> {
|
|
129
128
|
(list: T[]): T[];
|
|
@@ -156,9 +155,9 @@ export interface IsValidAsync {
|
|
|
156
155
|
schema: Schema | SchemaAsync;
|
|
157
156
|
}
|
|
158
157
|
|
|
159
|
-
type ProduceRules<Output,K extends keyof Output, Input> = { [P in K]: (input: Input) => Output[P];
|
|
158
|
+
export type ProduceRules<Output,K extends keyof Output, Input> = { [P in K]: (input: Input) => Output[P];
|
|
160
159
|
};
|
|
161
|
-
type ProduceAsyncRules<Output,K extends keyof Output, Input> = { [P in K]: (input: Input) => Promise<Output[P]>;
|
|
160
|
+
export type ProduceAsyncRules<Output,K extends keyof Output, Input> = { [P in K]: (input: Input) => Promise<Output[P]>;
|
|
162
161
|
};
|
|
163
162
|
type ProduceAsyncRule<Input> = (input: Input) => Promise<any>;
|
|
164
163
|
type Async<T> = (x: any) => Promise<T>;
|
|
@@ -168,10 +167,10 @@ type AsyncPredicate<T> = (x: T) => Promise<boolean>;
|
|
|
168
167
|
type AsyncPredicateIndexed<T> = (x: T, i: number) => Promise<boolean>;
|
|
169
168
|
type AsyncWithProp<T> = (x: any, prop?: string) => Promise<T>;
|
|
170
169
|
|
|
171
|
-
type ApplyDiffUpdate = {op:'update', path: string, value: any};
|
|
172
|
-
type ApplyDiffAdd = {op:'add', path: string, value: any};
|
|
173
|
-
type ApplyDiffRemove = {op:'remove', path: string};
|
|
174
|
-
type ApplyDiffRule = ApplyDiffUpdate | ApplyDiffAdd | ApplyDiffRemove;
|
|
170
|
+
export type ApplyDiffUpdate = {op:'update', path: string, value: any};
|
|
171
|
+
export type ApplyDiffAdd = {op:'add', path: string, value: any};
|
|
172
|
+
export type ApplyDiffRemove = {op:'remove', path: string};
|
|
173
|
+
export type ApplyDiffRule = ApplyDiffUpdate | ApplyDiffAdd | ApplyDiffRemove;
|
|
175
174
|
|
|
176
175
|
|
|
177
176
|
export function F(): boolean;
|
|
@@ -279,9 +278,14 @@ export function ascend<T>(fn: (obj: T) => Ord): (a: T, b: T) => Ordering;
|
|
|
279
278
|
/**
|
|
280
279
|
* It makes a shallow clone of `obj` with setting or overriding the property `prop` with `newValue`.
|
|
281
280
|
*/
|
|
282
|
-
export function assoc<
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
export function assoc<K extends PropertyKey>(prop: K): {
|
|
282
|
+
<T>(val: T): <U extends Record<K, T>>(obj: U) => U;
|
|
283
|
+
<U extends Record<K, T>, T>(val: T, obj: U): U;
|
|
284
|
+
};
|
|
285
|
+
export function assoc<T, K extends PropertyKey>(prop: K, val: T): {
|
|
286
|
+
<U>(obj: U): U extends Record<K, any> ? U[K] extends T ? U : Record<K, T> & Omit<U, K> : U & Record<K, T>;
|
|
287
|
+
};
|
|
288
|
+
export function assoc<U, K extends keyof U, T extends U[K]>(prop: K, val: T, obj: U): U;
|
|
285
289
|
|
|
286
290
|
/**
|
|
287
291
|
* It makes a shallow clone of `obj` with setting or overriding with `newValue` the property found with `path`.
|
|
@@ -511,8 +515,8 @@ export function differenceWith<T1, T2>(
|
|
|
511
515
|
/**
|
|
512
516
|
* It returns a new object that does not contain property `prop`.
|
|
513
517
|
*/
|
|
514
|
-
export function dissoc<
|
|
515
|
-
export function dissoc<K extends
|
|
518
|
+
export function dissoc<K extends PropertyKey>(prop: K): <U extends { [P in K]?: any}>(obj: string extends keyof U ? U : undefined extends U[K] ? U : never) => U;
|
|
519
|
+
export function dissoc<U, K extends keyof U>(prop: string extends keyof U ? K : undefined extends U[K] ? K : never, obj: U): U;
|
|
516
520
|
|
|
517
521
|
export function dissocPath<T>(path: Path, obj: any): T;
|
|
518
522
|
export function dissocPath<T>(path: Path): (obj: any) => T;
|
|
@@ -722,10 +726,11 @@ export function hasPath<T>(
|
|
|
722
726
|
): (input: object) => boolean;
|
|
723
727
|
|
|
724
728
|
/**
|
|
725
|
-
* It returns the first element of list or string `input`.
|
|
729
|
+
* It returns the first element of list or string `input`. It returns `undefined` if array has length of 0.
|
|
726
730
|
*/
|
|
727
731
|
export function head(str: string): string;
|
|
728
732
|
export function head(str: ''): undefined;
|
|
733
|
+
export function head(list: readonly[]): undefined;
|
|
729
734
|
export function head<T>(list: never[]): undefined;
|
|
730
735
|
export function head<T extends unknown[]>(array: T): FirstArrayElement<T>
|
|
731
736
|
export function head<T extends readonly unknown[]>(array: T): FirstArrayElement<T>
|
|
@@ -848,6 +853,10 @@ export function isEmpty<T>(x: T): boolean;
|
|
|
848
853
|
*/
|
|
849
854
|
export function isNil(x: any): x is null | undefined;
|
|
850
855
|
|
|
856
|
+
export function isNotEmpty<T>(value: T[]): value is NonEmptyArray<T>;
|
|
857
|
+
export function isNotEmpty<T>(value: readonly T[]): value is ReadonlyNonEmptyArray<T>;
|
|
858
|
+
export function isNotEmpty(value: any): boolean;
|
|
859
|
+
|
|
851
860
|
export function isNotNil<T>(value: T): value is NonNullable<T>;
|
|
852
861
|
|
|
853
862
|
/**
|
|
@@ -873,13 +882,15 @@ export function keys<T extends object>(x: T): (keyof T & string)[];
|
|
|
873
882
|
export function keys<T>(x: T): string[];
|
|
874
883
|
|
|
875
884
|
/**
|
|
876
|
-
* It returns the last element of `input`, as the `input` can be either a string or an array.
|
|
885
|
+
* It returns the last element of `input`, as the `input` can be either a string or an array. It returns `undefined` if array has length of 0.
|
|
877
886
|
*/
|
|
878
887
|
export function last(str: ''): undefined;
|
|
879
888
|
export function last(str: string): string;
|
|
889
|
+
export function last(list: readonly[]): undefined;
|
|
880
890
|
export function last(list: never[]): undefined;
|
|
881
|
-
export function last<T extends unknown[]>(array: T): LastArrayElement<T
|
|
882
|
-
export function last<T extends readonly unknown[]>(array: T): LastArrayElement<T
|
|
891
|
+
export function last<T extends unknown[]>(array: T): LastArrayElement<T>;
|
|
892
|
+
export function last<T extends readonly unknown[]>(array: T): LastArrayElement<T>;
|
|
893
|
+
export function last(str: string): string | undefined;
|
|
883
894
|
|
|
884
895
|
/**
|
|
885
896
|
* It returns the last index of `target` in `list` array.
|
|
@@ -1075,15 +1086,12 @@ export function minBy<T>(compareFn: (input: T) => Ord, x: T, y: T): T;
|
|
|
1075
1086
|
export function minBy<T>(compareFn: (input: T) => Ord, x: T): (y: T) => T;
|
|
1076
1087
|
export function minBy<T>(compareFn: (input: T) => Ord): (x: T) => (y: T) => T;
|
|
1077
1088
|
|
|
1078
|
-
export function modify<
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
prop: K,
|
|
1085
|
-
fn: (a: A) => P,
|
|
1086
|
-
): <T extends Record<K, A>>(target: T) => Omit<T, K> & Record<K, P>;
|
|
1089
|
+
export function modify<K extends PropertyKey, T>(prop: K, fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U;
|
|
1090
|
+
export function modify<U, K extends keyof U>(prop: K, fn: (value: U[K]) => U[K], object: U): U;
|
|
1091
|
+
export function modify<K extends PropertyKey>(prop: K): {
|
|
1092
|
+
<T>(fn: (value: T) => T): <U extends Record<K, T>>(object: U) => U;
|
|
1093
|
+
<T, U extends Record<K, T>>(fn: (value: T) => T, object: U): U;
|
|
1094
|
+
};
|
|
1087
1095
|
|
|
1088
1096
|
/**
|
|
1089
1097
|
* It changes a property of object on the base of provided path and transformer function.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rambda",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"before": "yarn out && yarn docs",
|
|
6
6
|
"benchmark": "cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark",
|
|
@@ -11,29 +11,20 @@
|
|
|
11
11
|
"build:main": "cross-env NODE_ENV=build rollup -c files/rollup.config.mjs",
|
|
12
12
|
"build:step": "yarn populatereadme && yarn build:main",
|
|
13
13
|
"build:web": "cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs",
|
|
14
|
-
"d": "yarn out &&
|
|
14
|
+
"d": "yarn out && run d",
|
|
15
15
|
"docs": "npx docsify-cli init ./docs && yarn fix-docsify",
|
|
16
16
|
"fix-docsify": "cd ../rambda-scripts && yarn fix-docsify:rambda",
|
|
17
|
-
"git:add": "git add -A",
|
|
18
|
-
"github": "cd ../rambda-scripts && yarn github",
|
|
19
17
|
"immutable": "cd ../rambda-scripts && yarn immutable:rambda",
|
|
20
18
|
"immutable:x": "cd ../rambda-scripts && yarn immutable:rambdax",
|
|
21
|
-
"lint": "yarn git:add && yarn lint:staged && yarn git:add",
|
|
22
|
-
"lint:all": "cd ../rambda-scripts && yarn lint",
|
|
23
|
-
"lint:staged": "cd ../rambda-scripts && yarn lint:staged",
|
|
24
|
-
"new": "cd ../rambda-scripts && yarn new",
|
|
25
19
|
"out": "yarn populatedocs && yarn populatereadme && yarn immutable && yarn build",
|
|
26
20
|
"populatedocs": "cd ../rambda-scripts && yarn populate:docs",
|
|
27
21
|
"populatedocs:x": "cd ../rambda-scripts && yarn populate:docs:rambdax",
|
|
28
22
|
"populatereadme": "cd ../rambda-scripts && yarn populate:readme",
|
|
29
23
|
"populatereadme:x": "cd ../rambda-scripts && yarn populate:readme:rambdax",
|
|
30
|
-
"run:ramda:test": "cd ../rambda-scripts && yarn run:ramda:test",
|
|
31
24
|
"test": "jest -o -u --watch",
|
|
32
25
|
"test:all": "jest source/*.spec.js -u --bail=false",
|
|
33
26
|
"test:ci": "jest source/*.spec.js --coverage --no-cache -w 1",
|
|
34
27
|
"test:typings": "dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source",
|
|
35
|
-
"test:ts": "yarn test:typings",
|
|
36
|
-
"ts": "yarn test:typings",
|
|
37
28
|
"usedby": "cd ../rambda-scripts && yarn usedby",
|
|
38
29
|
"x": "yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"
|
|
39
30
|
},
|
|
@@ -42,14 +33,14 @@
|
|
|
42
33
|
],
|
|
43
34
|
"dependencies": {},
|
|
44
35
|
"devDependencies": {
|
|
45
|
-
"@babel/core": "7.24.
|
|
36
|
+
"@babel/core": "7.24.7",
|
|
46
37
|
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
|
|
47
|
-
"@babel/preset-env": "7.24.
|
|
38
|
+
"@babel/preset-env": "7.24.7",
|
|
48
39
|
"@definitelytyped/dtslint": "0.0.182",
|
|
49
40
|
"@rollup/plugin-babel": "6.0.4",
|
|
50
|
-
"@rollup/plugin-commonjs": "
|
|
41
|
+
"@rollup/plugin-commonjs": "26.0.1",
|
|
51
42
|
"@rollup/plugin-node-resolve": "15.2.3",
|
|
52
|
-
"@rollup/plugin-replace": "5.0.
|
|
43
|
+
"@rollup/plugin-replace": "5.0.7",
|
|
53
44
|
"@types/jest": "29.5.12",
|
|
54
45
|
"combinate": "1.1.11",
|
|
55
46
|
"cross-env": "7.0.3",
|
|
@@ -60,13 +51,13 @@
|
|
|
60
51
|
"jest-extended": "4.0.2",
|
|
61
52
|
"lodash": "4.17.21",
|
|
62
53
|
"rambdax": "11.1.1",
|
|
63
|
-
"ramda": "0.30.
|
|
54
|
+
"ramda": "0.30.1",
|
|
64
55
|
"rollup": "4.18.0",
|
|
65
56
|
"rollup-plugin-cleanup": "3.2.1",
|
|
66
57
|
"rollup-plugin-sourcemaps": "0.6.3",
|
|
67
58
|
"rollup-plugin-uglify": "6.0.4",
|
|
68
|
-
"types-ramda": "0.30.
|
|
69
|
-
"typescript": "5.
|
|
59
|
+
"types-ramda": "0.30.1",
|
|
60
|
+
"typescript": "5.5.3"
|
|
70
61
|
},
|
|
71
62
|
"jest": {
|
|
72
63
|
"testEnvironment": "node",
|
|
@@ -98,7 +89,6 @@
|
|
|
98
89
|
"files": [
|
|
99
90
|
"dist",
|
|
100
91
|
"src",
|
|
101
|
-
"README.md",
|
|
102
92
|
"CHANGELOG.md",
|
|
103
93
|
"index.d.ts",
|
|
104
94
|
"immutable.d.ts",
|
package/rambda.js
CHANGED
|
@@ -95,6 +95,7 @@ export * from './src/intersperse.js'
|
|
|
95
95
|
export * from './src/is.js'
|
|
96
96
|
export * from './src/isEmpty.js'
|
|
97
97
|
export * from './src/isNil.js'
|
|
98
|
+
export * from './src/isNotEmpty.js'
|
|
98
99
|
export * from './src/isNotNil.js'
|
|
99
100
|
export * from './src/join.js'
|
|
100
101
|
export * from './src/juxt.js'
|
|
@@ -219,4 +220,3 @@ export * from './src/xor.js'
|
|
|
219
220
|
export * from './src/zip.js'
|
|
220
221
|
export * from './src/zipObj.js'
|
|
221
222
|
export * from './src/zipWith.js'
|
|
222
|
-
|
package/src/forEachObjIndexed.js
CHANGED
package/src/isEmpty.js
CHANGED
|
@@ -6,13 +6,6 @@ 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
|
-
|
|
16
9
|
if (inputType === 'Object'){
|
|
17
10
|
return Object.keys(input).length === 0
|
|
18
11
|
}
|