rambda 8.4.0 → 8.5.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 +14 -0
- package/README.md +104 -115
- package/dist/rambda.js +65 -28
- package/dist/rambda.umd.js +1 -1
- package/immutable.d.ts +34 -26
- package/index.d.ts +34 -26
- package/package.json +2 -1
- package/rambda.js +3 -0
- package/src/dropRepeatsBy.js +21 -0
- package/src/empty.js +15 -0
- package/src/eqBy.js +10 -0
- package/src/forEach.js +30 -20
- package/src/mergeWith.js +5 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
8.5.0
|
|
2
|
+
|
|
3
|
+
- Revert changes in `R.anyPass` introduced in `8.4.0` release. The reason is that the change was breaking the library older than `5.2.0` TypeScript.
|
|
4
|
+
|
|
5
|
+
- Wrong `R.partial` TS definition - [Issue #705](https://github.com/selfrefactor/rambda/issues/705)
|
|
6
|
+
|
|
7
|
+
- Add `R.dropRepeatsBy`
|
|
8
|
+
|
|
9
|
+
- Add `R.empty`
|
|
10
|
+
|
|
11
|
+
- Add `R.eqBy`
|
|
12
|
+
|
|
13
|
+
- Add `R.forEachObjIndexed`
|
|
14
|
+
|
|
1
15
|
8.4.0
|
|
2
16
|
|
|
3
17
|
- Add `R.dissocPath`
|
package/README.md
CHANGED
|
@@ -789,7 +789,7 @@ describe('R.any', () => {
|
|
|
789
789
|
|
|
790
790
|
```typescript
|
|
791
791
|
|
|
792
|
-
anyPass<T
|
|
792
|
+
anyPass<T>(predicates: ((x: T) => boolean)[]): (input: T) => boolean
|
|
793
793
|
```
|
|
794
794
|
|
|
795
795
|
It accepts list of `predicates` and returns a function. This function with its `input` will return `true`, if any of `predicates` returns `true` for this `input`.
|
|
@@ -801,7 +801,6 @@ It accepts list of `predicates` and returns a function. This function with its `
|
|
|
801
801
|
<summary>All TypeScript definitions</summary>
|
|
802
802
|
|
|
803
803
|
```typescript
|
|
804
|
-
anyPass<T, U extends T[]>(predicates: { [K in keyof U]: (x: T) => x is U[K]; }): (input: T) => input is U[number];
|
|
805
804
|
anyPass<T>(predicates: ((x: T) => boolean)[]): (input: T) => boolean;
|
|
806
805
|
anyPass<T>(predicates: ((...inputs: T[]) => boolean)[]): (...inputs: T[]) => boolean;
|
|
807
806
|
```
|
|
@@ -930,18 +929,18 @@ describe('anyPass', () => {
|
|
|
930
929
|
filtered2 // $ExpectType number[]
|
|
931
930
|
})
|
|
932
931
|
it('functions as a type guard', () => {
|
|
933
|
-
const isString = (x: unknown): x is string => typeof x === 'string'
|
|
934
|
-
const isNumber = (x: unknown): x is number => typeof x === 'number'
|
|
935
|
-
const isBoolean = (x: unknown): x is boolean => typeof x === 'boolean'
|
|
936
|
-
|
|
937
|
-
const isStringNumberOrBoolean = anyPass([isString, isNumber, isBoolean])
|
|
932
|
+
const isString = (x: unknown): x is string => typeof x === 'string'
|
|
933
|
+
const isNumber = (x: unknown): x is number => typeof x === 'number'
|
|
934
|
+
const isBoolean = (x: unknown): x is boolean => typeof x === 'boolean'
|
|
935
|
+
|
|
936
|
+
const isStringNumberOrBoolean = anyPass([isString, isNumber, isBoolean])
|
|
938
937
|
|
|
939
|
-
isStringNumberOrBoolean // $ExpectType (input: unknown) =>
|
|
938
|
+
isStringNumberOrBoolean // $ExpectType (input: unknown) => boolean
|
|
940
939
|
|
|
941
|
-
const aValue: unknown = 1
|
|
940
|
+
const aValue: unknown = 1
|
|
942
941
|
|
|
943
942
|
if (isStringNumberOrBoolean(aValue)) {
|
|
944
|
-
aValue // $ExpectType
|
|
943
|
+
aValue // $ExpectType unknown
|
|
945
944
|
}
|
|
946
945
|
})
|
|
947
946
|
})
|
|
@@ -3438,6 +3437,10 @@ describe('R.dropRepeats', () => {
|
|
|
3438
3437
|
|
|
3439
3438
|
[](#dropRepeats)
|
|
3440
3439
|
|
|
3440
|
+
### dropRepeatsBy
|
|
3441
|
+
|
|
3442
|
+
[](#dropRepeatsBy)
|
|
3443
|
+
|
|
3441
3444
|
### dropRepeatsWith
|
|
3442
3445
|
|
|
3443
3446
|
<a title="redirect to Rambda Repl site" href="https://rambda.now.sh?const%20list%20%3D%20%5B%7Ba%3A1%2Cb%3A2%7D%2C%20%7Ba%3A1%2Cb%3A3%7D%2C%20%7Ba%3A2%2C%20b%3A4%7D%5D%0Aconst%20result%20%3D%20R.dropRepeatsWith(R.prop('a')%2C%20list)%0A%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A1%2Cb%3A2%7D%2C%20%7Ba%3A2%2C%20b%3A4%7D%5D">Try this <strong>R.dropRepeatsWith</strong> example in Rambda REPL</a>
|
|
@@ -3603,6 +3606,10 @@ describe('R.either', () => {
|
|
|
3603
3606
|
|
|
3604
3607
|
[](#either)
|
|
3605
3608
|
|
|
3609
|
+
### empty
|
|
3610
|
+
|
|
3611
|
+
[](#empty)
|
|
3612
|
+
|
|
3606
3613
|
### endsWith
|
|
3607
3614
|
|
|
3608
3615
|
```typescript
|
|
@@ -3764,6 +3771,10 @@ describe('R.endsWith - string', () => {
|
|
|
3764
3771
|
|
|
3765
3772
|
[](#endsWith)
|
|
3766
3773
|
|
|
3774
|
+
### eqBy
|
|
3775
|
+
|
|
3776
|
+
[](#eqBy)
|
|
3777
|
+
|
|
3767
3778
|
### eqProps
|
|
3768
3779
|
|
|
3769
3780
|
It returns `true` if property `prop` in `obj1` is equal to property `prop` in `obj2` according to `R.equals`.
|
|
@@ -5422,36 +5433,46 @@ forEach<T, U>(fn: ObjectIterator<T, void>): (list: Dictionary<T>) => Dictionary<
|
|
|
5422
5433
|
import { isArray } from './_internals/isArray.js'
|
|
5423
5434
|
import { keys } from './_internals/keys.js'
|
|
5424
5435
|
|
|
5425
|
-
export function
|
|
5426
|
-
|
|
5436
|
+
export function forEachObjIndexedFn(fn, obj){
|
|
5437
|
+
let index = 0
|
|
5438
|
+
const listKeys = keys(obj)
|
|
5439
|
+
const len = listKeys.length
|
|
5427
5440
|
|
|
5428
|
-
|
|
5429
|
-
|
|
5441
|
+
while (index < len){
|
|
5442
|
+
const key = listKeys[ index ]
|
|
5443
|
+
fn(
|
|
5444
|
+
obj[ key ], key, obj
|
|
5445
|
+
)
|
|
5446
|
+
index++
|
|
5430
5447
|
}
|
|
5431
5448
|
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
const len = list.length
|
|
5449
|
+
return obj
|
|
5450
|
+
}
|
|
5435
5451
|
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
|
|
5440
|
-
|
|
5452
|
+
export function forEachObjIndexed(fn, list){
|
|
5453
|
+
if (arguments.length === 1) return _list => forEachObjIndexed(fn, _list)
|
|
5454
|
+
|
|
5455
|
+
if (list === undefined) return
|
|
5456
|
+
|
|
5457
|
+
return forEachObjIndexedFn(fn, list)
|
|
5458
|
+
}
|
|
5459
|
+
|
|
5460
|
+
export function forEach(fn, iterable){
|
|
5461
|
+
if (arguments.length === 1) return _list => forEach(fn, _list)
|
|
5462
|
+
|
|
5463
|
+
if (iterable === undefined) return
|
|
5464
|
+
|
|
5465
|
+
if (isArray(iterable)){
|
|
5441
5466
|
let index = 0
|
|
5442
|
-
const
|
|
5443
|
-
const len = listKeys.length
|
|
5467
|
+
const len = iterable.length
|
|
5444
5468
|
|
|
5445
5469
|
while (index < len){
|
|
5446
|
-
|
|
5447
|
-
fn(
|
|
5448
|
-
list[ key ], key, list
|
|
5449
|
-
)
|
|
5470
|
+
fn(iterable[ index ])
|
|
5450
5471
|
index++
|
|
5451
5472
|
}
|
|
5452
|
-
}
|
|
5473
|
+
} else return forEachObjIndexedFn(fn, iterable)
|
|
5453
5474
|
|
|
5454
|
-
return
|
|
5475
|
+
return iterable
|
|
5455
5476
|
}
|
|
5456
5477
|
```
|
|
5457
5478
|
|
|
@@ -5582,6 +5603,10 @@ describe('R.forEach with objects', () => {
|
|
|
5582
5603
|
|
|
5583
5604
|
[](#forEach)
|
|
5584
5605
|
|
|
5606
|
+
### forEachObjIndexed
|
|
5607
|
+
|
|
5608
|
+
[](#forEachObjIndexed)
|
|
5609
|
+
|
|
5585
5610
|
### fromPairs
|
|
5586
5611
|
|
|
5587
5612
|
It transforms a `listOfPairs` to an object.
|
|
@@ -8780,7 +8805,7 @@ mergeWith<Output>(fn: (x: any, z: any) => any): <U, V>(a: U, b: V) => Output;
|
|
|
8780
8805
|
```javascript
|
|
8781
8806
|
import { curry } from './curry.js'
|
|
8782
8807
|
|
|
8783
|
-
function mergeWithFn(
|
|
8808
|
+
export function mergeWithFn(
|
|
8784
8809
|
mergeFn, aInput, bInput
|
|
8785
8810
|
){
|
|
8786
8811
|
const a = aInput ?? {}
|
|
@@ -8788,21 +8813,15 @@ function mergeWithFn(
|
|
|
8788
8813
|
const willReturn = {}
|
|
8789
8814
|
|
|
8790
8815
|
Object.keys(a).forEach(key => {
|
|
8791
|
-
if (b[ key ] === undefined)
|
|
8792
|
-
|
|
8793
|
-
} else {
|
|
8794
|
-
willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
8795
|
-
}
|
|
8816
|
+
if (b[ key ] === undefined) willReturn[ key ] = a[ key ]
|
|
8817
|
+
else willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
8796
8818
|
})
|
|
8797
8819
|
|
|
8798
8820
|
Object.keys(b).forEach(key => {
|
|
8799
8821
|
if (willReturn[ key ] !== undefined) return
|
|
8800
8822
|
|
|
8801
|
-
if (a[ key ] === undefined)
|
|
8802
|
-
|
|
8803
|
-
} else {
|
|
8804
|
-
willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
8805
|
-
}
|
|
8823
|
+
if (a[ key ] === undefined) willReturn[ key ] = b[ key ]
|
|
8824
|
+
else willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
8806
8825
|
})
|
|
8807
8826
|
|
|
8808
8827
|
return willReturn
|
|
@@ -8819,10 +8838,10 @@ export const mergeWith = curry(mergeWithFn)
|
|
|
8819
8838
|
|
|
8820
8839
|
```javascript
|
|
8821
8840
|
import { concat } from './concat.js'
|
|
8822
|
-
import {
|
|
8841
|
+
import { mergeWithFn } from './mergeWith.js'
|
|
8823
8842
|
|
|
8824
8843
|
test('happy', () => {
|
|
8825
|
-
const result =
|
|
8844
|
+
const result = mergeWithFn(
|
|
8826
8845
|
concat,
|
|
8827
8846
|
{
|
|
8828
8847
|
a : true,
|
|
@@ -8835,8 +8854,8 @@ test('happy', () => {
|
|
|
8835
8854
|
)
|
|
8836
8855
|
const expected = {
|
|
8837
8856
|
a : true,
|
|
8838
|
-
values : [ 10, 20, 15, 35 ],
|
|
8839
8857
|
b : true,
|
|
8858
|
+
values : [ 10, 20, 15, 35 ],
|
|
8840
8859
|
}
|
|
8841
8860
|
expect(result).toEqual(expected)
|
|
8842
8861
|
})
|
|
@@ -8844,31 +8863,31 @@ test('happy', () => {
|
|
|
8844
8863
|
// https://github.com/ramda/ramda/pull/3222/files#diff-d925d9188b478d2f1d4b26012c6dddac374f9e9d7a336604d654b9a113bfc857
|
|
8845
8864
|
describe('acts as if nil values are simply empty objects', () => {
|
|
8846
8865
|
it('if the first object is nil and the second empty', () => {
|
|
8847
|
-
expect(
|
|
8866
|
+
expect(mergeWithFn(
|
|
8848
8867
|
concat, undefined, {}
|
|
8849
8868
|
)).toEqual({})
|
|
8850
8869
|
})
|
|
8851
8870
|
|
|
8852
8871
|
it('if the first object is empty and the second nil', () => {
|
|
8853
|
-
expect(
|
|
8872
|
+
expect(mergeWithFn(
|
|
8854
8873
|
concat, {}, null
|
|
8855
8874
|
)).toEqual({})
|
|
8856
8875
|
})
|
|
8857
8876
|
|
|
8858
8877
|
it('if both objects are nil', () => {
|
|
8859
|
-
expect(
|
|
8878
|
+
expect(mergeWithFn(
|
|
8860
8879
|
concat, undefined, null
|
|
8861
8880
|
)).toEqual({})
|
|
8862
8881
|
})
|
|
8863
8882
|
|
|
8864
8883
|
it('if the first object is not empty and the second is nil', () => {
|
|
8865
|
-
expect(
|
|
8884
|
+
expect(mergeWithFn(
|
|
8866
8885
|
concat, { a : 'a' }, null
|
|
8867
8886
|
)).toEqual({ a : 'a' })
|
|
8868
8887
|
})
|
|
8869
8888
|
|
|
8870
8889
|
it('if the first object is nil and the second is not empty', () => {
|
|
8871
|
-
expect(
|
|
8890
|
+
expect(mergeWithFn(
|
|
8872
8891
|
concat, undefined, { a : 'a' }
|
|
8873
8892
|
)).toEqual({ a : 'a' })
|
|
8874
8893
|
})
|
|
@@ -10073,18 +10092,7 @@ test('index lens', () => {
|
|
|
10073
10092
|
|
|
10074
10093
|
```typescript
|
|
10075
10094
|
|
|
10076
|
-
partial<
|
|
10077
|
-
Args extends unknown[],
|
|
10078
|
-
ArgsGiven extends [...Partial<Args>],
|
|
10079
|
-
R
|
|
10080
|
-
>(
|
|
10081
|
-
fn: (...args: Args) => R,
|
|
10082
|
-
...args: ArgsGiven
|
|
10083
|
-
): Args extends [...{[K in keyof ArgsGiven]: Args[K]}, ...infer ArgsRemaining]
|
|
10084
|
-
? ArgsRemaining extends []
|
|
10085
|
-
? R
|
|
10086
|
-
: (...args: ArgsRemaining) => R
|
|
10087
|
-
: never
|
|
10095
|
+
partial<V0, V1, T>(fn: (x0: V0, x1: V1) => T, args: [V0]): (x1: V1) => T
|
|
10088
10096
|
```
|
|
10089
10097
|
|
|
10090
10098
|
It is very similar to `R.curry`, but you can pass initial arguments when you create the curried function.
|
|
@@ -10099,31 +10107,22 @@ The name comes from the fact that you partially inject the inputs.
|
|
|
10099
10107
|
<summary>All TypeScript definitions</summary>
|
|
10100
10108
|
|
|
10101
10109
|
```typescript
|
|
10102
|
-
partial<
|
|
10103
|
-
|
|
10104
|
-
|
|
10105
|
-
|
|
10106
|
-
|
|
10107
|
-
|
|
10108
|
-
|
|
10109
|
-
|
|
10110
|
-
|
|
10111
|
-
|
|
10112
|
-
|
|
10113
|
-
|
|
10114
|
-
|
|
10115
|
-
|
|
10116
|
-
|
|
10117
|
-
|
|
10118
|
-
R
|
|
10119
|
-
>(
|
|
10120
|
-
fn: (...args: Args) => R,
|
|
10121
|
-
args: ArgsGiven
|
|
10122
|
-
): Args extends [...{[K in keyof ArgsGiven]: Args[K]}, ...infer ArgsRemaining]
|
|
10123
|
-
? ArgsRemaining extends []
|
|
10124
|
-
? R
|
|
10125
|
-
: (...args: ArgsRemaining) => R
|
|
10126
|
-
: never;
|
|
10110
|
+
partial<V0, V1, T>(fn: (x0: V0, x1: V1) => T, args: [V0]): (x1: V1) => T;
|
|
10111
|
+
partial<V0, V1, V2, T>(fn: (x0: V0, x1: V1, x2: V2) => T, args: [V0, V1]): (x2: V2) => T;
|
|
10112
|
+
partial<V0, V1, V2, T>(fn: (x0: V0, x1: V1, x2: V2) => T, args: [V0]): (x1: V1, x2: V2) => T;
|
|
10113
|
+
partial<V0, V1, V2, V3, T>(
|
|
10114
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
10115
|
+
args: [V0, V1, V2],
|
|
10116
|
+
): (x2: V3) => T;
|
|
10117
|
+
partial<V0, V1, V2, V3, T>(
|
|
10118
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
10119
|
+
args: [V0, V1],
|
|
10120
|
+
): (x2: V2, x3: V3) => T;
|
|
10121
|
+
partial<V0, V1, V2, V3, T>(
|
|
10122
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
10123
|
+
args: [V0],
|
|
10124
|
+
): (x1: V1, x2: V2, x3: V3) => T;
|
|
10125
|
+
partial<T>(fn: (...a: any[]) => T, args: any[]): (...a: any[]) => T;
|
|
10127
10126
|
```
|
|
10128
10127
|
|
|
10129
10128
|
</details>
|
|
@@ -10240,44 +10239,20 @@ describe('R.partial', () => {
|
|
|
10240
10239
|
aBoolean: boolean,
|
|
10241
10240
|
aNull: null
|
|
10242
10241
|
) {
|
|
10243
|
-
return {
|
|
10242
|
+
return {aString, aNumber, aBoolean, aNull}
|
|
10244
10243
|
}
|
|
10245
10244
|
|
|
10246
10245
|
// @ts-expect-error
|
|
10247
|
-
partial(fn, 1)
|
|
10248
|
-
|
|
10249
|
-
const fn1 = partial(fn, 'a')
|
|
10250
|
-
|
|
10251
|
-
// @ts-expect-error
|
|
10252
|
-
partial(fn1, 'b');
|
|
10253
|
-
|
|
10254
|
-
const fn2 = partial(fn1, 2)
|
|
10255
|
-
const result = fn2(true, null)
|
|
10256
|
-
result // $ExpectType { aString: string; aNumber: number; aBoolean: boolean; aNull: null; }
|
|
10257
|
-
})
|
|
10258
|
-
|
|
10259
|
-
it('ramda', () => {
|
|
10260
|
-
function fn(
|
|
10261
|
-
aString: string,
|
|
10262
|
-
aNumber: number,
|
|
10263
|
-
aBoolean: boolean,
|
|
10264
|
-
aNull: null
|
|
10265
|
-
) {
|
|
10266
|
-
return { aString, aNumber, aBoolean, aNull }
|
|
10267
|
-
}
|
|
10268
|
-
|
|
10269
|
-
// @ts-expect-error
|
|
10270
|
-
partial(fn, 1);
|
|
10246
|
+
partial(fn, 1)
|
|
10271
10247
|
|
|
10272
10248
|
const fn1 = partial(fn, ['a'])
|
|
10273
|
-
|
|
10274
|
-
// @ts-expect-error
|
|
10275
|
-
partial(fn1, ['b']);
|
|
10249
|
+
partial(fn1, ['b'])
|
|
10276
10250
|
|
|
10277
10251
|
const fn2 = partial(fn1, [2])
|
|
10278
10252
|
const result = fn2(true, null)
|
|
10279
10253
|
result // $ExpectType { aString: string; aNumber: number; aBoolean: boolean; aNull: null; }
|
|
10280
|
-
})
|
|
10254
|
+
})
|
|
10255
|
+
})
|
|
10281
10256
|
```
|
|
10282
10257
|
|
|
10283
10258
|
</details>
|
|
@@ -17452,6 +17427,20 @@ describe('R.zipWith', () => {
|
|
|
17452
17427
|
|
|
17453
17428
|
## ❯ CHANGELOG
|
|
17454
17429
|
|
|
17430
|
+
8.5.0
|
|
17431
|
+
|
|
17432
|
+
- Revert changes in `R.anyPass` introduced in `8.4.0` release. The reason is that the change was breaking the library older than `5.2.0` TypeScript.
|
|
17433
|
+
|
|
17434
|
+
- Wrong `R.partial` TS definition - [Issue #705](https://github.com/selfrefactor/rambda/issues/705)
|
|
17435
|
+
|
|
17436
|
+
- Add `R.dropRepeatsBy`
|
|
17437
|
+
|
|
17438
|
+
- Add `R.empty`
|
|
17439
|
+
|
|
17440
|
+
- Add `R.eqBy`
|
|
17441
|
+
|
|
17442
|
+
- Add `R.forEachObjIndexed`
|
|
17443
|
+
|
|
17455
17444
|
8.4.0
|
|
17456
17445
|
|
|
17457
17446
|
- Add `R.dissocPath`
|
package/dist/rambda.js
CHANGED
|
@@ -1015,6 +1015,21 @@ function dropRepeats(list) {
|
|
|
1015
1015
|
return toReturn;
|
|
1016
1016
|
}
|
|
1017
1017
|
|
|
1018
|
+
function dropRepeatsBy(fn, list) {
|
|
1019
|
+
if (arguments.length === 1) return _list => dropRepeatsBy(fn, _list);
|
|
1020
|
+
let lastEvaluated = null;
|
|
1021
|
+
return list.slice().filter(item => {
|
|
1022
|
+
if (lastEvaluated === null) {
|
|
1023
|
+
lastEvaluated = fn(item);
|
|
1024
|
+
return true;
|
|
1025
|
+
}
|
|
1026
|
+
const evaluatedResult = fn(item);
|
|
1027
|
+
if (equals(lastEvaluated, evaluatedResult)) return false;
|
|
1028
|
+
lastEvaluated = evaluatedResult;
|
|
1029
|
+
return true;
|
|
1030
|
+
});
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1018
1033
|
function dropRepeatsWith(predicate, list) {
|
|
1019
1034
|
if (arguments.length === 1) {
|
|
1020
1035
|
return _iterable => dropRepeatsWith(predicate, _iterable);
|
|
@@ -1066,6 +1081,19 @@ function either(firstPredicate, secondPredicate) {
|
|
|
1066
1081
|
return (...input) => Boolean(firstPredicate(...input) || secondPredicate(...input));
|
|
1067
1082
|
}
|
|
1068
1083
|
|
|
1084
|
+
function empty(list) {
|
|
1085
|
+
if (typeof list === 'string') return '';
|
|
1086
|
+
if (Array.isArray(list)) {
|
|
1087
|
+
const {
|
|
1088
|
+
name
|
|
1089
|
+
} = list.constructor;
|
|
1090
|
+
if (name === 'Uint8Array') return Uint8Array.from('');
|
|
1091
|
+
if (name === 'Float32Array') return new Float32Array([]);
|
|
1092
|
+
return [];
|
|
1093
|
+
}
|
|
1094
|
+
if (type(list) === 'Object') return {};
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1069
1097
|
function endsWith(target, iterable) {
|
|
1070
1098
|
if (arguments.length === 1) return _iterable => endsWith(target, _iterable);
|
|
1071
1099
|
if (typeof iterable === 'string') {
|
|
@@ -1083,6 +1111,11 @@ function endsWith(target, iterable) {
|
|
|
1083
1111
|
return filtered.length === target.length;
|
|
1084
1112
|
}
|
|
1085
1113
|
|
|
1114
|
+
function eqByFn(fn, a, b) {
|
|
1115
|
+
return equals(fn(a), fn(b));
|
|
1116
|
+
}
|
|
1117
|
+
const eqBy = curry(eqByFn);
|
|
1118
|
+
|
|
1086
1119
|
function prop(propToFind, obj) {
|
|
1087
1120
|
if (arguments.length === 1) return _obj => prop(propToFind, _obj);
|
|
1088
1121
|
if (!obj) return undefined;
|
|
@@ -1246,29 +1279,34 @@ function flip(fn) {
|
|
|
1246
1279
|
return flipFn(fn);
|
|
1247
1280
|
}
|
|
1248
1281
|
|
|
1249
|
-
function
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1282
|
+
function forEachObjIndexedFn(fn, obj) {
|
|
1283
|
+
let index = 0;
|
|
1284
|
+
const listKeys = keys$1(obj);
|
|
1285
|
+
const len = listKeys.length;
|
|
1286
|
+
while (index < len) {
|
|
1287
|
+
const key = listKeys[index];
|
|
1288
|
+
fn(obj[key], key, obj);
|
|
1289
|
+
index++;
|
|
1253
1290
|
}
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1291
|
+
return obj;
|
|
1292
|
+
}
|
|
1293
|
+
function forEachObjIndexed(fn, list) {
|
|
1294
|
+
if (arguments.length === 1) return _list => forEachObjIndexed(fn, _list);
|
|
1295
|
+
if (list === undefined) return;
|
|
1296
|
+
return forEachObjIndexedFn(fn, list);
|
|
1297
|
+
}
|
|
1298
|
+
function forEach(fn, iterable) {
|
|
1299
|
+
if (arguments.length === 1) return _list => forEach(fn, _list);
|
|
1300
|
+
if (iterable === undefined) return;
|
|
1301
|
+
if (isArray(iterable)) {
|
|
1262
1302
|
let index = 0;
|
|
1263
|
-
const
|
|
1264
|
-
const len = listKeys.length;
|
|
1303
|
+
const len = iterable.length;
|
|
1265
1304
|
while (index < len) {
|
|
1266
|
-
|
|
1267
|
-
fn(list[key], key, list);
|
|
1305
|
+
fn(iterable[index]);
|
|
1268
1306
|
index++;
|
|
1269
1307
|
}
|
|
1270
|
-
}
|
|
1271
|
-
return
|
|
1308
|
+
} else return forEachObjIndexedFn(fn, iterable);
|
|
1309
|
+
return iterable;
|
|
1272
1310
|
}
|
|
1273
1311
|
|
|
1274
1312
|
function fromPairs(listOfPairs) {
|
|
@@ -1592,19 +1630,11 @@ function mergeWithFn(mergeFn, aInput, bInput) {
|
|
|
1592
1630
|
const b = bInput !== null && bInput !== void 0 ? bInput : {};
|
|
1593
1631
|
const willReturn = {};
|
|
1594
1632
|
Object.keys(a).forEach(key => {
|
|
1595
|
-
if (b[key] === undefined)
|
|
1596
|
-
willReturn[key] = a[key];
|
|
1597
|
-
} else {
|
|
1598
|
-
willReturn[key] = mergeFn(a[key], b[key]);
|
|
1599
|
-
}
|
|
1633
|
+
if (b[key] === undefined) willReturn[key] = a[key];else willReturn[key] = mergeFn(a[key], b[key]);
|
|
1600
1634
|
});
|
|
1601
1635
|
Object.keys(b).forEach(key => {
|
|
1602
1636
|
if (willReturn[key] !== undefined) return;
|
|
1603
|
-
if (a[key] === undefined)
|
|
1604
|
-
willReturn[key] = b[key];
|
|
1605
|
-
} else {
|
|
1606
|
-
willReturn[key] = mergeFn(a[key], b[key]);
|
|
1607
|
-
}
|
|
1637
|
+
if (a[key] === undefined) willReturn[key] = b[key];else willReturn[key] = mergeFn(a[key], b[key]);
|
|
1608
1638
|
});
|
|
1609
1639
|
return willReturn;
|
|
1610
1640
|
}
|
|
@@ -2381,10 +2411,14 @@ exports.drop = drop;
|
|
|
2381
2411
|
exports.dropLast = dropLast;
|
|
2382
2412
|
exports.dropLastWhile = dropLastWhile;
|
|
2383
2413
|
exports.dropRepeats = dropRepeats;
|
|
2414
|
+
exports.dropRepeatsBy = dropRepeatsBy;
|
|
2384
2415
|
exports.dropRepeatsWith = dropRepeatsWith;
|
|
2385
2416
|
exports.dropWhile = dropWhile;
|
|
2386
2417
|
exports.either = either;
|
|
2418
|
+
exports.empty = empty;
|
|
2387
2419
|
exports.endsWith = endsWith;
|
|
2420
|
+
exports.eqBy = eqBy;
|
|
2421
|
+
exports.eqByFn = eqByFn;
|
|
2388
2422
|
exports.eqProps = eqProps;
|
|
2389
2423
|
exports.equals = equals;
|
|
2390
2424
|
exports.evolve = evolve;
|
|
@@ -2400,6 +2434,8 @@ exports.findLastIndex = findLastIndex;
|
|
|
2400
2434
|
exports.flatten = flatten;
|
|
2401
2435
|
exports.flip = flip;
|
|
2402
2436
|
exports.forEach = forEach;
|
|
2437
|
+
exports.forEachObjIndexed = forEachObjIndexed;
|
|
2438
|
+
exports.forEachObjIndexedFn = forEachObjIndexedFn;
|
|
2403
2439
|
exports.fromPairs = fromPairs;
|
|
2404
2440
|
exports.groupBy = groupBy;
|
|
2405
2441
|
exports.groupWith = groupWith;
|
|
@@ -2446,6 +2482,7 @@ exports.mergeDeepRight = mergeDeepRight;
|
|
|
2446
2482
|
exports.mergeLeft = mergeLeft;
|
|
2447
2483
|
exports.mergeRight = mergeRight;
|
|
2448
2484
|
exports.mergeWith = mergeWith;
|
|
2485
|
+
exports.mergeWithFn = mergeWithFn;
|
|
2449
2486
|
exports.min = min;
|
|
2450
2487
|
exports.minBy = minBy;
|
|
2451
2488
|
exports.minByFn = minByFn;
|
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,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return a(r,function i(o,f,c){return function(){for(var n=0,r=0,t=f.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=f[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?a(o-u.length,i(o,u,c)):c.apply(this,u)}}(r,[],n))}function B(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(){return 0},o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:function(n){return n+1};return t(u.length,function(){var r=arguments[0],t=arguments[arguments.length-1],e=i(t.length),n=Array.prototype.slice.call(arguments,0);return n[0]=function(){var n=r.apply(this,function(n,r){for(var t=(n=n||[]).length,e=(r=r||[]).length,u=[],i=0;i<t;)u[u.length]=n[i],i+=1;for(i=0;i<e;)u[u.length]=r[i],i+=1;return u}(arguments,[e,t]));return e=o(e),n},u.apply(this,n)})}function l(n){return Array.prototype.slice.call(n)}function C(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function o(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?C(Object(t),!0).forEach(function(n){f(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):C(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function h(n){return(h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function U(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function D(n,r){for(var t=0;t<r.length;t++){var e=r[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,_(e.key),e)}}function L(n,r,t){return r&&D(n.prototype,r),t&&D(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function f(n,r,t){return(r=_(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function i(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,f=[],c=!0,a=!1;try{if(i=(t=t.call(n)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(e=i.call(t)).done)&&(f.push(e.value),f.length!==r);c=!0);}catch(n){a=!0,u=n}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw u}}return f}}(n,r)||z(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||z(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t=Object.prototype.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function _(n){n=function(n,r){if("object"!=typeof n||null===n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(n);if("object"!=typeof(t=t.call(n,r||"default")))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==typeof n?n:""+n}function c(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(s(i),t)).length<u.length?c(u,n):u.apply(void 0,s(n))}}var M=c(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=l(t))[e]=r(n[e]),n)});function H(r){return function(n){return r}}var p=Array.isArray;function g(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===h(n[r])&&(t=Math.max(t,g(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function v(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function u(n,r,t,e){return n===r?0:n<r?t:e}function y(n,r,t){return Object.assign({},t,f({},n,r))}var d=c(y);function $(n){return Number.isInteger(+(""+n))}var m=Number.isInteger||function(n){return n<<0===n};function b(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:".").map(function(n){return m(n)?+(""+n):n}):n}function G(n,r,t){var e,u,n=b(n);return 0===n.length?r:(e=n[0],1<n.length&&(u="object"!==h(t)||null===t||!t.hasOwnProperty(e)?$(n[1])?[]:{}:t[e],r=G(Array.prototype.slice.call(n,1),r,u)),$(e)&&p(t)?((n=l(t))[e]=r,n):y(e,r,t))}var J=c(G);var K=c(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function Q(n){var r,t=p(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===h(e)&&null!==e?e.getTime?new Date(e.getTime()):Q(e):e}return t}var V=L(function n(r){U(this,n),this.value=r});function X(n,r,t){if(null!=t){if(!p(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof V)return r.value;e++}}return r}var w=c(X);function Y(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Z(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,X(Y,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function nn(n){return"string"==typeof n?n[0]||"":n[0]}function rn(n){return n}function tn(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function j(r,n){return 1===arguments.length?function(n){return j(r,n)}:n.slice(0<r?r:0)}function en(n){return j(1,n)}function un(t,n){var r,e;return 0<n.length?(r=nn(n),e=en(n),a(r.length,function(){return w(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):rn}function on(r,n){return 1===arguments.length?function(n){return on(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(s(r),s(n))}var fn="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 E(r,n){if(1===arguments.length)return function(n){return E(r,n)};for(var t=0,e=cn(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var an=E;function A(r,n){if(1===arguments.length)return function(n){return A(r,n)};if(n)return(p(n)?O:E)(r,n);throw Error(fn)}function ln(r,n){return 1===arguments.length?function(n){return ln(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 hn(n,r){if(!p(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;)k(r[e],n)&&(u=e);return u}function P(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=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;)k(r[e],n)&&(u=e);return u}function sn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function pn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function gn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function k(t,e){var n,u,i,r,o,f,c,a;return 1===arguments.length?function(n){return k(t,n)}:(n=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]||k(n,u[r])||(i=!1)}),i):(r=gn(t),o=gn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(r=pn(t),o=pn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(t instanceof Error?e instanceof Error&&(r=t).message===(o=e).message&&r.toString===o.toString&&""+r==""+o:"Set"===n?(o=t).size===(c=e).size&&(o=sn(o.values()),f=sn(c.values()),0===o.filter(function(n){return-1===P(n,f)}).length):"Object"===n&&(c=Object.keys(t)).length===Object.keys(e).length&&(a=!0,c.forEach(function(n){var r;a&&(r=t[n])!==(n=e[n])&&!k(r,n)&&(a=!1)}),a))))))}function S(r,n){if(1===arguments.length)return function(n){return S(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!p(n)&&-1<P(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var vn=function(){function n(){U(this,n),this.set=new Set,this.items={}}return L(n,[{key:"checkUniqueness",value:function(n){var r=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)}}]),n}();function yn(n){var r=new vn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function dn(t,n,r){var e=[],r=i(r.length<n.length?[n,r]:[r,n],2),n=r[0],u=r[1];return n.forEach(function(r){u.some(function(n){return t(r,n)})||-1!==P(r,e)||e.push(r)}),e}var mn=c(dn);function bn(r,n){if(1===arguments.length)return function(n){return bn(r,n)};if(null!=n){var t,e=b(r,","),u={};for(t in n)!function(n,r){for(var t=-1,e=r.length;++t<e;)if(""+r[t]==""+n)return 1}(t,e)&&(u[t]=n[t]);return u}}function wn(n,r){for(var t=r,e=0,u=b(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function T(r,n){return 1===arguments.length?function(n){return T(r,n)}:null!=n?wn(r,n):void 0}function jn(r,n){return 1===arguments.length?function(n){return jn(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 On(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var En=c(On);function F(r,n){return 1===arguments.length?function(n){return F(r,n)}:n?n[r]:void 0}var An=c(function(n,r,t){return k(F(n,r),F(n,t))});function Nn(t,n){return O(function(n,r){return"Function"===x(t[r])?t[r](n):n},n,!0)}function xn(e,n){return E(function(n,r){var t;return"Object"===x(n)?"Function"===(t=x(e[r]))?e[r](n):"Object"===t?Pn(e[r],n):n:"Function"===x(e[r])?e[r](n):n},n)}function Pn(r,n){if(1===arguments.length)return function(n){return Pn(r,n)};var t=x(r),e=x(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?xn:Nn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function kn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function Sn(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 I(r,n){if(1===arguments.length)return function(n){return I(r,n)};if(n)return p(n)?Sn(r,n,!1):kn(r,n);throw Error("Incorrect iterable input")}var Tn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var Fn=c(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function In(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 Wn(r,n){return 1===arguments.length?function(n){return Wn(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 Rn(r,n){var t;return 1===arguments.length?function(n){return Rn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function qn(n,r,t){return n(t)>n(r)?t:r}var Bn=c(qn);function Cn(n){return n.reduce(function(n,r){return n+r},0)}function Un(n){return Cn(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function R(r,t){var e;return 1===arguments.length?function(n){return R(r,n)}:(e=Q(r),Object.keys(t).forEach(function(n){"Object"===x(t[n])&&"Object"===x(r[n])?e[n]=R(r[n],t[n]):e[n]=t[n]}),e)}var Dn=c(function(r,n,t){var e=null!=n?n:{},u=null!=t?t:{},i={};return Object.keys(e).forEach(function(n){i[n]=void 0===u[n]?e[n]:r(e[n],u[n])}),Object.keys(u).forEach(function(n){void 0===i[n]&&(i[n]=void 0===e[n]?u[n]:r(e[n],u[n]))}),i});function Ln(n,r,t){return n(t)<n(r)?t:r}var zn=c(Ln);var _n=c(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==x(e)||void 0===t[n]?t:p(t)?On(n,r(t[n]),t):o(o({},t),{},f({},n,r(t[n])))});function Mn(n,r,t){n=b(n);return 1===n.length?o(o({},t),{},f({},n[0],r(t[n[0]]))):void 0===T(n,t)||(r=Hn(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:d(n[0],r,t)}var Hn=c(Mn);var $n=c(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=l(t))[n]=t[r],e[r]=t[n],e)});function Gn(r,n){return 1===arguments.length?function(n){return Gn(r,n)}:r*n}function Jn(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function Kn(r){return{x:r,map:function(n){return Kn(n(r))}}}var Qn=c(function(n,r,t){return n(function(n){return Kn(r(n))})(t).x});function Vn(e){for(var u=e.length,n=arguments.length,r=Array(1<n?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];var i=1===r.length&&p(r[0])?r[0]:r;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return i.length+r.length<u?Vn.apply(void 0,[e].concat([].concat(s(i),r))):e.apply(void 0,s(i).concat(r))}}function Xn(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=i(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function Yn(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 Zn=c(function(n,r,t){return k(T(n,t),r)});var nr=c(function(n,r,t){return N(n,T(r,t))});var rr=w(Gn,1);var tr=c(function(n,r,t){return!!t&&k(n,F(r,t))});var er=c(function(n,r,t){return Wn(n,t[r])});var ur=c(function(n,r,t){return t?N(n,t[r]):n});var ir=c(function(n,r,t){return n(F(r,t))});function or(r,n){if(1===arguments.length)return function(n){return or(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}var fr=c(function(n,r,t){return t.replace(n,r)});var cr=c(function(n,r,t){return Qn(n,H(r),t)});var ar=c(function(n,r,t){return t.slice(n,r)});function q(r,n){return 1===arguments.length?function(n){return q(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):In(n,0,r)}function lr(n){return["Promise","Function"].includes(x(n))}function hr(r){return{x:r,map:function(n){return hr(r)}}}var sr=c(function(n,r,t){return n(t)?r(t):t});var pr=c(function(t,n,e){return q((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=g,n._indexOf=P,n._lastIndexOf=hn,n._pipe=Y,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=B,n.addIndexRight=function(n){return B(n,function(n){return n-1},function(n){return n-1})},n.adjust=M,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=H,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.ap=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.reduce(function(n,r){return[].concat(s(n),s(e.map(r)))},[])},n.aperture=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(n.length<t)return[];for(var e=0,u=n.length-(t-1),i=Array(u);e<u;)i[e]=n.slice(e,e+t),e+=1;return i},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=l(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=g(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,f){var n=o-f.length;if(1==n)return function(n){return u(i,o,v.apply(void 0,s(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,v.apply(void 0,s(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,v.apply(void 0,s(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,v.apply(void 0,s(f).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,v.apply(void 0,s(f).concat(r)))};if(p(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==h(i[t])&&!p(i[t])||(r[t]=u(i[t],o,f)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,s(f)));return r}var c,a={};for(c in i)0!=i.hasOwnProperty(c)&&"constructor"!==c&&("object"===h(i[c])?a[c]=u(i[c],o,f):"function"==typeof i[c]&&(a[c]=i[c].apply(i,s(f))));return a}(n,r,e)},n.applyTo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n(t)},n.ascend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),-1,1)},n.assoc=d,n.assocFn=y,n.assocPath=J,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=K,n.clone=Q,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=w(function(n,r){var t=e(r);return void 0===n[t]&&(n[t]=[]),n[t].push(r),n},{},n),i=[];for(t in u)i.push(u[t]);return i},n.comparator=function(t){return function(n,r){return t(n,r)?-1:t(r,n)?1:0}},n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return Z.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.composeWith=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:un(t,tn(n))},n.concat=on,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=i(n,2),r=n[0],n=n[1];!u&&r(t)&&(u=!0,e=n(t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(w(function(n,r){return ln(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,A(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:p(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.createCompareFunction=u,n.curry=c,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=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)}: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=b(t)).length||void 0===T(i,n)?n:(e=i[0],u="object"!==h(n)||null===n||!n.hasOwnProperty(e),1<i.length?(u=u?$(i[1])?[]:{}:n[e],i=r(Array.prototype.slice.call(i,1),u,n),p(n)?En(e,i,n):o(o({},n),{},f({},e,i))):p(n)?jn(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=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=p(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(h(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(h(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(p(n))return t=[],n.reduce(function(n,r){return k(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(p(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=p(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!p(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=k(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqProps=An,n.equals=k,n.evolve=Pn,n.evolveArray=Nn,n.evolveObject=xn,n.filter=I,n.filterArray=Sn,n.filterObject=kn,n.find=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0,u=n.length;e<u;){var i=n[e];if(t(i))return i;e++}},n.findIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length,u=-1;++u<e;)if(t(n[u]))return u;return-1},n.findLast=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return n[e]},n.findLastIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return e;return-1},n.flatten=function n(r,t){for(var e=void 0===t?[]:t,u=0;u<r.length;u++)p(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(p(n))for(var e=0,u=n.length;e<u;)t(n[e]),e++;else for(var i=0,o=cn(n),f=o.length;i<f;){var c=o[i];t(n[c],c,n),i++}return n}},n.fromPairs=function(n){var r={};return n.forEach(function(n){n=i(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,f,c;if(p(o))return n=l(o),1===o.length?[n]:(f=[],c=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===c.length,t=t===o.length-1,e?(u&&c.push(n),c.push(r),t&&f.push(c)):u?(f.push([n]),t&&f.push([r])):(f.push(c),t&&f.push([r]),c=[])),r},void 0),f);throw new TypeError("list.reduce is not a function")},n.has=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!n&&n.hasOwnProperty(t)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==T(t,n)},n.head=nn,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Tn(t,n)},n.identity=rn,n.ifElse=Fn,n.inc=function(n){return n+1},n.includes=S,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var f=u[o];i[T(e,f)]=f}return i}for(var c={},a=0;a<n.length;a++){var l=n[a];c[t(l)]=l}return c},n.indexOf=function(r,n){return 1===arguments.length?function(n){return P(r,n)}:P(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?In(n,0,-1):[]},n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:I(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=Wn,n.isEmpty=function(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))},n.isNil=function(n){return null==n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return hn(r,n)}:hn(r,n)},n.length=function(n){return p(n)||"string"==typeof n?n.length:NaN},n.lens=r,n.lensIndex=function(n){return r(Rn(n),En(n))},n.lensPath=function(n){return r(T(n),J(n))},n.lensProp=function(n){return r(F(n),d(n))},n.map=A,n.mapArray=O,n.mapObjIndexed=an,n.mapObject=E,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)}:m(t)&&m(n)&&1<=n?(t%n+n)%n:NaN},n.max=ln,n.maxBy=Bn,n.maxByFn=qn,n.mean=Un,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Un(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 A(function(n){r=W(r,n)},n),r},n.mergeDeepRight=R,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Dn,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=Ln,n.modify=_n,n.modifyPath=Hn,n.modifyPathFn=Mn,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=$n,n.multiply=Gn,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=Rn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:f({},t,n)},n.of=function(n){return[n]},n.omit=bn,n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?c(Jn(n,r)):Jn(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=Qn,n.partial=Vn,n.partialObject=function(r,t){return function(n){return r(R(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(p(n)?Yn:Xn)(t,n)},n.partitionArray=Yn,n.partitionObject=Xn,n.path=T,n.pathEq=Zn,n.pathFn=wn,n.pathOr=nr,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return T(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=b(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=b(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=Z,n.pipeWith=un,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],A(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=rr,n.prop=F,n.propEq=tr,n.propIs=er,n.propOr=ur,n.propSatisfies=ir,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(p(t))return O(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=or,n.reduce=w,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)}:I(function(n){return!t(n)},n)},n.removeIndex=jn,n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=fr,n.reverse=tn,n.set=cr,n.slice=ar,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return p(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===x(u)?u():u,i=e||"Function"!==x(i)?i:i(),[q(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):!!p(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=k(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Cn,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:on(I(function(n){return!S(n,e)},t),I(function(n){return!S(n,t)},e))},n.tail=en,n.take=q,n.takeLast=function r(t,n){var e,u;return 1===arguments.length?function(n){return r(t,n)}:(e=n.length,t<0?n.slice():(u=e<t?e:t,"string"==typeof n?n.slice(e-u):In(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return p(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=p(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!m(n)||n<0)throw new RangeError("n must be an integer");return A(t,or(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return p(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(lr(e))return i=lr(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){S(n,t)||e.push(n)}),e)},n.uniq=yn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new vn,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:function(n){return t(n)?n:e(n)}},n.unnest=function(n){return n.reduce(function(n,r){return[].concat(s(n),Array.isArray(r)?s(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:p(e[t])?O(function(n){return o(o({},e),{},f({},t,n))},e[t]):[e]},n.update=En,n.updateFn=On,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(hr)(n).x},n.when=sr,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){var n;return 1===arguments.length?function(n){return r(t,n)}:(n=I(function(n,r){return k(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}: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)}:q(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=pr});
|
|
1
|
+
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){"use strict";function a(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return a(r,function i(o,f,c){return function(){for(var n=0,r=0,t=f.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=f[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?a(o-u.length,i(o,u,c)):c.apply(this,u)}}(r,[],n))}function R(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(){return 0},o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:function(n){return n+1};return t(u.length,function(){var r=arguments[0],t=arguments[arguments.length-1],e=i(t.length),n=Array.prototype.slice.call(arguments,0);return n[0]=function(){var n=r.apply(this,function(n,r){for(var t=(n=n||[]).length,e=(r=r||[]).length,u=[],i=0;i<t;)u[u.length]=n[i],i+=1;for(i=0;i<e;)u[u.length]=r[i],i+=1;return u}(arguments,[e,t]));return e=o(e),n},u.apply(this,n)})}function l(n){return Array.prototype.slice.call(n)}function C(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function o(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?C(Object(t),!0).forEach(function(n){f(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):C(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function h(n){return(h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function U(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function D(n,r){for(var t=0;t<r.length;t++){var e=r[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,_(e.key),e)}}function L(n,r,t){return r&&D(n.prototype,r),t&&D(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function f(n,r,t){return(r=_(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function i(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,f=[],c=!0,a=!1;try{if(i=(t=t.call(n)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(e=i.call(t)).done)&&(f.push(e.value),f.length!==r);c=!0);}catch(n){a=!0,u=n}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw u}}return f}}(n,r)||z(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||z(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t=Object.prototype.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function _(n){n=function(n,r){if("object"!=typeof n||null===n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(n);if("object"!=typeof(t=t.call(n,r||"default")))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==typeof n?n:""+n}function c(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(s(i),t)).length<u.length?c(u,n):u.apply(void 0,s(n))}}var M=c(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=l(t))[e]=r(n[e]),n)});function H(r){return function(n){return r}}var p=Array.isArray;function g(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===h(n[r])&&(t=Math.max(t,g(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function v(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function u(n,r,t,e){return n===r?0:n<r?t:e}function y(n,r,t){return Object.assign({},t,f({},n,r))}var d=c(y);function $(n){return Number.isInteger(+(""+n))}var m=Number.isInteger||function(n){return n<<0===n};function b(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:".").map(function(n){return m(n)?+(""+n):n}):n}function G(n,r,t){var e,u,n=b(n);return 0===n.length?r:(e=n[0],1<n.length&&(u="object"!==h(t)||null===t||!t.hasOwnProperty(e)?$(n[1])?[]:{}:t[e],r=G(Array.prototype.slice.call(n,1),r,u)),$(e)&&p(t)?((n=l(t))[e]=r,n):y(e,r,t))}var J=c(G);var K=c(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function Q(n){var r,t=p(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===h(e)&&null!==e?e.getTime?new Date(e.getTime()):Q(e):e}return t}var V=L(function n(r){U(this,n),this.value=r});function X(n,r,t){if(null!=t){if(!p(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof V)return r.value;e++}}return r}var j=c(X);function Y(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Z(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,X(Y,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function nn(n){return"string"==typeof n?n[0]||"":n[0]}function rn(n){return n}function tn(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function O(r,n){return 1===arguments.length?function(n){return O(r,n)}:n.slice(0<r?r:0)}function en(n){return O(1,n)}function un(t,n){var r,e;return 0<n.length?(r=nn(n),e=en(n),a(r.length,function(){return j(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):rn}function on(r,n){return 1===arguments.length?function(n){return on(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(s(r),s(n))}var fn="Incorrect iterable input",cn=Object.keys;function w(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=Array(r.length);e<r.length;)u[e]=t?n(r[e],e):n(r[e]),e++;return u}function A(r,n){if(1===arguments.length)return function(n){return A(r,n)};for(var t=0,e=cn(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var an=A;function E(r,n){if(1===arguments.length)return function(n){return E(r,n)};if(n)return(p(n)?w:A)(r,n);throw Error(fn)}function ln(r,n){return 1===arguments.length?function(n){return ln(r,n)}:r<n?n:r}function x(r,n){return 1===arguments.length?function(n){return x(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function N(n){return null===n?"Null":void 0===n?"Undefined":Number.isNaN(n)?"NaN":"AsyncFunction"===(n=Object.prototype.toString.call(n).slice(8,-1))?"Promise":n}function hn(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)k(r[e],n)&&(u=e);return u}function P(n,r){if(!p(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=N(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)k(r[e],n)&&(u=e);return u}function sn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function pn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function gn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function k(t,e){var n,u,i,r,o,f,c,a;return 1===arguments.length?function(n){return k(t,n)}:(n=N(t))===N(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Null","Undefined"].includes(n)||(["BigInt","Number"].includes(n)?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["Boolean","String"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||k(n,u[r])||(i=!1)}),i):(r=gn(t),o=gn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(r=pn(t),o=pn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(t instanceof Error?e instanceof Error&&(r=t).message===(o=e).message&&r.toString===o.toString&&""+r==""+o:"Set"===n?(o=t).size===(c=e).size&&(o=sn(o.values()),f=sn(c.values()),0===o.filter(function(n){return-1===P(n,f)}).length):"Object"===n&&(c=Object.keys(t)).length===Object.keys(e).length&&(a=!0,c.forEach(function(n){var r;a&&(r=t[n])!==(n=e[n])&&!k(r,n)&&(a=!1)}),a))))))}function S(r,n){if(1===arguments.length)return function(n){return S(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!p(n)&&-1<P(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var vn=function(){function n(){U(this,n),this.set=new Set,this.items={}}return L(n,[{key:"checkUniqueness",value:function(n){var r=N(n);return["Null","Undefined","NaN"].includes(r)?!(r in this.items)&&(this.items[r]=!0):["Object","Array"].includes(r)?r in this.items?-1===P(n,this.items[r])&&(this.items[r].push(n),!0):(this.items[r]=[n],!0):(r=this.set.size,this.set.add(n),this.set.size!==r)}}]),n}();function yn(n){var r=new vn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function dn(t,n,r){var e=[],r=i(r.length<n.length?[n,r]:[r,n],2),n=r[0],u=r[1];return n.forEach(function(r){u.some(function(n){return t(r,n)})||-1!==P(r,e)||e.push(r)}),e}var mn=c(dn);function bn(r,n){if(1===arguments.length)return function(n){return bn(r,n)};if(null!=n){var t,e=b(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=b(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function F(r,n){return 1===arguments.length?function(n){return F(r,n)}:null!=n?jn(r,n):void 0}function On(r,n){return 1===arguments.length?function(n){return On(r,n)}:0<r?r<n.length-1?[].concat(s(n.slice(0,r)),s(n.slice(r+1))):n.slice(0,n.length-1):n.slice(1)}function wn(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var An=c(wn);function En(n,r,t){return k(n(r),n(t))}var xn=c(En);function T(r,n){return 1===arguments.length?function(n){return T(r,n)}:n?n[r]:void 0}var Nn=c(function(n,r,t){return k(T(n,r),T(n,t))});function Pn(t,n){return w(function(n,r){return"Function"===N(t[r])?t[r](n):n},n,!0)}function kn(e,n){return A(function(n,r){var t;return"Object"===N(n)?"Function"===(t=N(e[r]))?e[r](n):"Object"===t?Sn(e[r],n):n:"Function"===N(e[r])?e[r](n):n},n)}function Sn(r,n){if(1===arguments.length)return function(n){return Sn(r,n)};var t=N(r),e=N(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?kn: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 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 I(r,n){if(1===arguments.length)return function(n){return I(r,n)};if(n)return p(n)?Tn(r,n,!1):Fn(r,n);throw Error("Incorrect iterable input")}function In(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}var Wn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var qn=c(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function Bn(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 Rn(r,n){return 1===arguments.length?function(n){return Rn(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 Cn(r,n){var t;return 1===arguments.length?function(n){return Cn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function Un(n,r,t){return n(t)>n(r)?t:r}var Dn=c(Un);function Ln(n){return n.reduce(function(n,r){return n+r},0)}function zn(n){return Ln(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function q(r,t){var e;return 1===arguments.length?function(n){return q(r,n)}:(e=Q(r),Object.keys(t).forEach(function(n){"Object"===N(t[n])&&"Object"===N(r[n])?e[n]=q(r[n],t[n]):e[n]=t[n]}),e)}function _n(r,n,t){var e=null!=n?n:{},u=null!=t?t:{},i={};return Object.keys(e).forEach(function(n){i[n]=void 0===u[n]?e[n]:r(e[n],u[n])}),Object.keys(u).forEach(function(n){void 0===i[n]&&(i[n]=void 0===e[n]?u[n]:r(e[n],u[n]))}),i}var Mn=c(_n);function Hn(n,r,t){return n(t)<n(r)?t:r}var $n=c(Hn);var Gn=c(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==N(e)||void 0===t[n]?t:p(t)?wn(n,r(t[n]),t):o(o({},t),{},f({},n,r(t[n])))});function Jn(n,r,t){n=b(n);return 1===n.length?o(o({},t),{},f({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=Kn(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:d(n[0],r,t)}var Kn=c(Jn);var Qn=c(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=l(t))[n]=t[r],e[r]=t[n],e)});function Vn(r,n){return 1===arguments.length?function(n){return Vn(r,n)}:r*n}function Xn(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function Yn(r){return{x:r,map:function(n){return Yn(n(r))}}}var Zn=c(function(n,r,t){return n(function(n){return Yn(r(n))})(t).x});function nr(e){for(var u=e.length,n=arguments.length,r=Array(1<n?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];var i=1===r.length&&p(r[0])?r[0]:r;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return i.length+r.length<u?nr.apply(void 0,[e].concat([].concat(s(i),r))):e.apply(void 0,s(i).concat(r))}}function rr(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=i(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function tr(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 er=c(function(n,r,t){return k(F(n,t),r)});var ur=c(function(n,r,t){return x(n,F(r,t))});var ir=j(Vn,1);var or=c(function(n,r,t){return!!t&&k(n,T(r,t))});var fr=c(function(n,r,t){return Rn(n,t[r])});var cr=c(function(n,r,t){return t?x(n,t[r]):n});var ar=c(function(n,r,t){return n(T(r,t))});function lr(r,n){if(1===arguments.length)return function(n){return lr(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}var hr=c(function(n,r,t){return t.replace(n,r)});var sr=c(function(n,r,t){return Zn(n,H(r),t)});var pr=c(function(n,r,t){return t.slice(n,r)});function B(r,n){return 1===arguments.length?function(n){return B(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):Bn(n,0,r)}function gr(n){return["Promise","Function"].includes(N(n))}function vr(r){return{x:r,map:function(n){return vr(r)}}}var yr=c(function(n,r,t){return n(t)?r(t):t});var dr=c(function(t,n,e){return B((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=g,n._indexOf=P,n._lastIndexOf=hn,n._pipe=Y,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=R,n.addIndexRight=function(n){return R(n,function(n){return n-1},function(n){return n-1})},n.adjust=M,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=H,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.ap=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.reduce(function(n,r){return[].concat(s(n),s(e.map(r)))},[])},n.aperture=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(n.length<t)return[];for(var e=0,u=n.length-(t-1),i=Array(u);e<u;)i[e]=n.slice(e,e+t),e+=1;return i},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=l(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=g(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,f){var n=o-f.length;if(1==n)return function(n){return u(i,o,v.apply(void 0,s(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,v.apply(void 0,s(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,v.apply(void 0,s(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,v.apply(void 0,s(f).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,v.apply(void 0,s(f).concat(r)))};if(p(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==h(i[t])&&!p(i[t])||(r[t]=u(i[t],o,f)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,s(f)));return r}var c,a={};for(c in i)0!=i.hasOwnProperty(c)&&"constructor"!==c&&("object"===h(i[c])?a[c]=u(i[c],o,f):"function"==typeof i[c]&&(a[c]=i[c].apply(i,s(f))));return a}(n,r,e)},n.applyTo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n(t)},n.ascend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),-1,1)},n.assoc=d,n.assocFn=y,n.assocPath=J,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=K,n.clone=Q,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=j(function(n,r){var t=e(r);return void 0===n[t]&&(n[t]=[]),n[t].push(r),n},{},n),i=[];for(t in u)i.push(u[t]);return i},n.comparator=function(t){return function(n,r){return t(n,r)?-1:t(r,n)?1:0}},n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return Z.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.composeWith=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:un(t,tn(n))},n.concat=on,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=i(n,2),r=n[0],n=n[1];!u&&r(t)&&(u=!0,e=n(t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(j(function(n,r){return ln(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,E(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:p(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.createCompareFunction=u,n.curry=c,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=x,n.descend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),1,-1)},n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:yn(t).filter(function(n){return!S(n,e)})},n.differenceWith=mn,n.differenceWithFn=dn,n.dissoc=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null==n)return{};var e,u={};for(e in n)u[e]=n[e];return delete u[t],u},n.dissocPath=function r(t,n){var e,u,i;return 1===arguments.length?function(n){return r(t,n)}:0===(i=b(t)).length||void 0===F(i,n)?n:(e=i[0],u="object"!==h(n)||null===n||!n.hasOwnProperty(e),1<i.length?(u=u?$(i[1])?[]:{}:n[e],i=r(Array.prototype.slice.call(i,1),u,n),p(n)?An(e,i,n):o(o({},n),{},f({},e,i))):p(n)?On(e,n):bn([e],n))},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=O,n.dropLast=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:0<t?n.slice(0,-t):n.slice()},n.dropLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;var e=p(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(h(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(h(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(p(n))return t=[],n.reduce(function(n,r){return k(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=null,n.slice().filter(function(n){if(null===e)e=t(n);else{if(n=t(n),k(e,n))return!1;e=n}return!0}))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(p(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=p(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.empty=function(n){var r;return"string"==typeof n?"":Array.isArray(n)?"Uint8Array"===(r=n.constructor.name)?Uint8Array.from(""):"Float32Array"===r?new Float32Array([]):[]:"Object"===N(n)?{}:void 0},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!p(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=k(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqBy=xn,n.eqByFn=En,n.eqProps=Nn,n.equals=k,n.evolve=Sn,n.evolveArray=Pn,n.evolveObject=kn,n.filter=I,n.filterArray=Tn,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++)p(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(!p(n))return In(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?In(t,n):void 0},n.forEachObjIndexedFn=In,n.fromPairs=function(n){var r={};return n.forEach(function(n){n=i(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,f,c;if(p(o))return n=l(o),1===o.length?[n]:(f=[],c=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===c.length,t=t===o.length-1,e?(u&&c.push(n),c.push(r),t&&f.push(c)):u?(f.push([n]),t&&f.push([r])):(f.push(c),t&&f.push([r]),c=[])),r},void 0),f);throw new TypeError("list.reduce is not a function")},n.has=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!n&&n.hasOwnProperty(t)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==F(t,n)},n.head=nn,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Wn(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 f=u[o];i[F(e,f)]=f}return i}for(var c={},a=0;a<n.length;a++){var l=n[a];c[t(l)]=l}return c},n.indexOf=function(r,n){return 1===arguments.length?function(n){return P(r,n)}:P(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?Bn(n,0,-1):[]},n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:I(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=Rn,n.isEmpty=function(n){var r=N(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))},n.isNil=function(n){return null==n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return hn(r,n)}:hn(r,n)},n.length=function(n){return p(n)||"string"==typeof n?n.length:NaN},n.lens=r,n.lensIndex=function(n){return r(Cn(n),An(n))},n.lensPath=function(n){return r(F(n),J(n))},n.lensProp=function(n){return r(T(n),d(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)}:m(t)&&m(n)&&1<=n?(t%n+n)%n:NaN},n.max=ln,n.maxBy=Dn,n.maxByFn=Un,n.mean=zn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,zn(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=W,n.mergeAll=function(n){var r={};return E(function(n){r=W(r,n)},n),r},n.mergeDeepRight=q,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Mn,n.mergeWithFn=_n,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=$n,n.minByFn=Hn,n.modify=Gn,n.modifyPath=Kn,n.modifyPathFn=Jn,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=Qn,n.multiply=Vn,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=Cn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:f({},t,n)},n.of=function(n){return[n]},n.omit=bn,n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?c(Xn(n,r)):Xn(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=Zn,n.partial=nr,n.partialObject=function(r,t){return function(n){return r(q(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(p(n)?tr:rr)(t,n)},n.partitionArray=tr,n.partitionObject=rr,n.path=F,n.pathEq=er,n.pathFn=jn,n.pathOr=ur,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=b(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=b(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=Z,n.pipeWith=un,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],E(function(n){void 0!==n[t]&&e.push(n[t])},n),e)},n.prepend=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:[t].concat("string"==typeof n?n.split(""):n)},n.product=ir,n.prop=T,n.propEq=or,n.propIs=fr,n.propOr=cr,n.propSatisfies=ar,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(p(t))return w(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=lr,n.reduce=j,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)}:I(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=hr,n.reverse=tn,n.set=sr,n.slice=pr,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return p(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===N(u)?u():u,i=e||"Function"!==N(i)?i:i(),[B(e=e?u:i,n),O(e,n)]):[[],[]];throw new TypeError("Cannot read property 'slice' of ".concat(n))},n.splitEvery=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(t<1)throw Error("First argument to splitEvery must be a positive integer");for(var e=[],u=0;u<n.length;)e.push(n.slice(u,u+=t));return e},n.splitWhen=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!n)throw new TypeError("Cannot read property 'length' of ".concat(n));for(var e=[],u=[],i=!1,o=-1;o++<n.length-1;)i?u.push(n[o]):t(n[o])?(u.push(n[o]),i=!0):e.push(n[o]);return[e,u]},n.startsWith=function r(t,e){var u;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.startsWith(t):!!p(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=k(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Ln,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:on(I(function(n){return!S(n,e)},t),I(function(n){return!S(n,t)},e))},n.tail=en,n.take=B,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):Bn(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return p(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=p(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!m(n)||n<0)throw new RangeError("n must be an integer");return E(t,lr(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return p(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(gr(e))return i=gr(u),function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];try{return e.apply(void 0,r)}catch(n){return i?u.apply(void 0,[n].concat(r)):u}};throw Error("R.tryCatch | fn '".concat(e,"'"))},n.type=N,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=l(t),n.forEach(function(n){S(n,t)||e.push(n)}),e)},n.uniq=yn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new vn,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:function(n){return t(n)?n:e(n)}},n.unnest=function(n){return n.reduce(function(n,r){return[].concat(s(n),Array.isArray(r)?s(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:p(e[t])?w(function(n){return o(o({},e),{},f({},t,n))},e[t]):[e]},n.update=An,n.updateFn=wn,n.values=function(n){return"Object"!==N(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(vr)(n).x},n.when=yr,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=I(function(n,r){return k(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:j(function(n,r){return-1<P(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:B(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=dr});
|
package/immutable.d.ts
CHANGED
|
@@ -231,7 +231,6 @@ export function any<T>(predicate: (x: T) => boolean): (list: readonly T[]) => bo
|
|
|
231
231
|
/**
|
|
232
232
|
* It accepts list of `predicates` and returns a function. This function with its `input` will return `true`, if any of `predicates` returns `true` for this `input`.
|
|
233
233
|
*/
|
|
234
|
-
export function anyPass<T, U extends readonly T[]>(predicates: { readonly [K in keyof U]: (x: T) => x is U[K]; }): (input: T) => input is U[number];
|
|
235
234
|
export function anyPass<T>(predicates: readonly ((x: T) => boolean)[]): (input: T) => boolean;
|
|
236
235
|
export function anyPass<T>(predicates: readonly ((...inputs: readonly T[]) => boolean)[]): (...inputs: readonly T[]) => boolean;
|
|
237
236
|
|
|
@@ -541,6 +540,12 @@ export function dropLastWhile<T>(predicate: (x: T) => boolean): <T>(iterable: re
|
|
|
541
540
|
*/
|
|
542
541
|
export function dropRepeats<T>(list: readonly T[]): readonly T[];
|
|
543
542
|
|
|
543
|
+
export function dropRepeatsBy<T, U>(fn: (a: T) => U, list: readonly T[]): readonly T[];
|
|
544
|
+
export function dropRepeatsBy<T, U>(
|
|
545
|
+
fn: (a: T) => U
|
|
546
|
+
): (list: readonly T[]) => readonly T[];
|
|
547
|
+
export function dropRepeatsBy(fn: any): <T>(list: readonly T[]) => readonly T[];
|
|
548
|
+
|
|
544
549
|
export function dropRepeatsWith<T>(predicate: (x: T, y: T) => boolean, list: readonly T[]): readonly T[];
|
|
545
550
|
export function dropRepeatsWith<T>(predicate: (x: T, y: T) => boolean): (list: readonly T[]) => readonly T[];
|
|
546
551
|
|
|
@@ -559,6 +564,8 @@ export function either<T>(firstPredicate: Predicate<T>, secondPredicate: Predica
|
|
|
559
564
|
export function either<T>(firstPredicate: Predicate<T>): (secondPredicate: Predicate<T>) => Predicate<T>;
|
|
560
565
|
export function either(firstPredicate: Pred): (secondPredicate: Pred) => Pred;
|
|
561
566
|
|
|
567
|
+
export function empty<T>(x: T): T;
|
|
568
|
+
|
|
562
569
|
/**
|
|
563
570
|
* When iterable is a string, then it behaves as `String.prototype.endsWith`.
|
|
564
571
|
* When iterable is a list, then it uses R.equals to determine if the target list ends in the same way as the given target.
|
|
@@ -568,6 +575,13 @@ export function endsWith<T extends string>(question: T): (str: string) => boolea
|
|
|
568
575
|
export function endsWith<T>(question: readonly T[], list: readonly T[]): boolean;
|
|
569
576
|
export function endsWith<T>(question: readonly T[]): (list: readonly T[]) => boolean;
|
|
570
577
|
|
|
578
|
+
export function eqBy<T>(fn: (a: T) => unknown, a: T, b: T): boolean;
|
|
579
|
+
export function eqBy<T>(fn: (a: T) => unknown, a: T): (b: T) => boolean;
|
|
580
|
+
export function eqBy<T>(fn: (a: T) => unknown): {
|
|
581
|
+
(a: T, b: T): boolean;
|
|
582
|
+
(a: T): (b: T) => boolean;
|
|
583
|
+
};
|
|
584
|
+
|
|
571
585
|
/**
|
|
572
586
|
* It returns `true` if property `prop` in `obj1` is equal to property `prop` in `obj2` according to `R.equals`.
|
|
573
587
|
*/
|
|
@@ -647,6 +661,9 @@ export function forEach<T>(fn: Iterator<T, void>): (list: readonly T[]) => reado
|
|
|
647
661
|
export function forEach<T>(fn: ObjectIterator<T, void>, list: Dictionary<T>): Dictionary<T>;
|
|
648
662
|
export function forEach<T, U>(fn: ObjectIterator<T, void>): (list: Dictionary<T>) => Dictionary<T>;
|
|
649
663
|
|
|
664
|
+
export function forEachObjIndexed<T>(fn: (value: T[keyof T], key: keyof T, obj: T) => void, obj: T): T;
|
|
665
|
+
export function forEachObjIndexed<T>(fn: (value: T[keyof T], key: keyof T, obj: T) => void): (obj: T) => T;
|
|
666
|
+
|
|
650
667
|
/**
|
|
651
668
|
* It transforms a `listOfPairs` to an object.
|
|
652
669
|
*/
|
|
@@ -1096,31 +1113,22 @@ export function over(lens: Lens): <T>(fn: Arity1Fn, value: readonly T[]) => read
|
|
|
1096
1113
|
* `R.partial` will keep returning a function until all the arguments that the function `fn` expects are passed.
|
|
1097
1114
|
* The name comes from the fact that you partially inject the inputs.
|
|
1098
1115
|
*/
|
|
1099
|
-
export function partial<
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
R
|
|
1116
|
-
>(
|
|
1117
|
-
fn: (...args: Args) => R,
|
|
1118
|
-
args: ArgsGiven
|
|
1119
|
-
): Args extends readonly [...{ readonly[K in keyof ArgsGiven]: Args[K]}, ...infer ArgsRemaining]
|
|
1120
|
-
? ArgsRemaining extends readonly []
|
|
1121
|
-
? R
|
|
1122
|
-
: (...args: ArgsRemaining) => R
|
|
1123
|
-
: never;
|
|
1116
|
+
export function partial<V0, V1, T>(fn: (x0: V0, x1: V1) => T, args: readonly [V0]): (x1: V1) => T;
|
|
1117
|
+
export function partial<V0, V1, V2, T>(fn: (x0: V0, x1: V1, x2: V2) => T, args: readonly [V0, V1]): (x2: V2) => T;
|
|
1118
|
+
export function partial<V0, V1, V2, T>(fn: (x0: V0, x1: V1, x2: V2) => T, args: readonly [V0]): (x1: V1, x2: V2) => T;
|
|
1119
|
+
export function partial<V0, V1, V2, V3, T>(
|
|
1120
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
1121
|
+
args: readonly [V0, V1, V2],
|
|
1122
|
+
): (x2: V3) => T;
|
|
1123
|
+
export function partial<V0, V1, V2, V3, T>(
|
|
1124
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
1125
|
+
args: readonly [V0, V1],
|
|
1126
|
+
): (x2: V2, x3: V3) => T;
|
|
1127
|
+
export function partial<V0, V1, V2, V3, T>(
|
|
1128
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
1129
|
+
args: readonly [V0],
|
|
1130
|
+
): (x1: V1, x2: V2, x3: V3) => T;
|
|
1131
|
+
export function partial<T>(fn: (...a: readonly any[]) => T, args: readonly any[]): (...a: readonly any[]) => T;
|
|
1124
1132
|
|
|
1125
1133
|
/**
|
|
1126
1134
|
* `R.partialObject` is a curry helper designed specifically for functions accepting object as a single argument.
|
package/index.d.ts
CHANGED
|
@@ -231,7 +231,6 @@ export function any<T>(predicate: (x: T) => boolean): (list: T[]) => boolean;
|
|
|
231
231
|
/**
|
|
232
232
|
* It accepts list of `predicates` and returns a function. This function with its `input` will return `true`, if any of `predicates` returns `true` for this `input`.
|
|
233
233
|
*/
|
|
234
|
-
export function anyPass<T, U extends T[]>(predicates: { [K in keyof U]: (x: T) => x is U[K]; }): (input: T) => input is U[number];
|
|
235
234
|
export function anyPass<T>(predicates: ((x: T) => boolean)[]): (input: T) => boolean;
|
|
236
235
|
export function anyPass<T>(predicates: ((...inputs: T[]) => boolean)[]): (...inputs: T[]) => boolean;
|
|
237
236
|
|
|
@@ -541,6 +540,12 @@ export function dropLastWhile<T>(predicate: (x: T) => boolean): <T>(iterable: T[
|
|
|
541
540
|
*/
|
|
542
541
|
export function dropRepeats<T>(list: T[]): T[];
|
|
543
542
|
|
|
543
|
+
export function dropRepeatsBy<T, U>(fn: (a: T) => U, list: T[]): T[];
|
|
544
|
+
export function dropRepeatsBy<T, U>(
|
|
545
|
+
fn: (a: T) => U
|
|
546
|
+
): (list: T[]) => T[];
|
|
547
|
+
export function dropRepeatsBy(fn: any): <T>(list: T[]) => T[];
|
|
548
|
+
|
|
544
549
|
export function dropRepeatsWith<T>(predicate: (x: T, y: T) => boolean, list: T[]): T[];
|
|
545
550
|
export function dropRepeatsWith<T>(predicate: (x: T, y: T) => boolean): (list: T[]) => T[];
|
|
546
551
|
|
|
@@ -559,6 +564,8 @@ export function either<T>(firstPredicate: Predicate<T>, secondPredicate: Predica
|
|
|
559
564
|
export function either<T>(firstPredicate: Predicate<T>): (secondPredicate: Predicate<T>) => Predicate<T>;
|
|
560
565
|
export function either(firstPredicate: Pred): (secondPredicate: Pred) => Pred;
|
|
561
566
|
|
|
567
|
+
export function empty<T>(x: T): T;
|
|
568
|
+
|
|
562
569
|
/**
|
|
563
570
|
* When iterable is a string, then it behaves as `String.prototype.endsWith`.
|
|
564
571
|
* When iterable is a list, then it uses R.equals to determine if the target list ends in the same way as the given target.
|
|
@@ -568,6 +575,13 @@ export function endsWith<T extends string>(question: T): (str: string) => boolea
|
|
|
568
575
|
export function endsWith<T>(question: T[], list: T[]): boolean;
|
|
569
576
|
export function endsWith<T>(question: T[]): (list: T[]) => boolean;
|
|
570
577
|
|
|
578
|
+
export function eqBy<T>(fn: (a: T) => unknown, a: T, b: T): boolean;
|
|
579
|
+
export function eqBy<T>(fn: (a: T) => unknown, a: T): (b: T) => boolean;
|
|
580
|
+
export function eqBy<T>(fn: (a: T) => unknown): {
|
|
581
|
+
(a: T, b: T): boolean;
|
|
582
|
+
(a: T): (b: T) => boolean;
|
|
583
|
+
};
|
|
584
|
+
|
|
571
585
|
/**
|
|
572
586
|
* It returns `true` if property `prop` in `obj1` is equal to property `prop` in `obj2` according to `R.equals`.
|
|
573
587
|
*/
|
|
@@ -647,6 +661,9 @@ export function forEach<T>(fn: Iterator<T, void>): (list: T[]) => T[];
|
|
|
647
661
|
export function forEach<T>(fn: ObjectIterator<T, void>, list: Dictionary<T>): Dictionary<T>;
|
|
648
662
|
export function forEach<T, U>(fn: ObjectIterator<T, void>): (list: Dictionary<T>) => Dictionary<T>;
|
|
649
663
|
|
|
664
|
+
export function forEachObjIndexed<T>(fn: (value: T[keyof T], key: keyof T, obj: T) => void, obj: T): T;
|
|
665
|
+
export function forEachObjIndexed<T>(fn: (value: T[keyof T], key: keyof T, obj: T) => void): (obj: T) => T;
|
|
666
|
+
|
|
650
667
|
/**
|
|
651
668
|
* It transforms a `listOfPairs` to an object.
|
|
652
669
|
*/
|
|
@@ -1096,31 +1113,22 @@ export function over(lens: Lens): <T>(fn: Arity1Fn, value: T[]) => T[];
|
|
|
1096
1113
|
* `R.partial` will keep returning a function until all the arguments that the function `fn` expects are passed.
|
|
1097
1114
|
* The name comes from the fact that you partially inject the inputs.
|
|
1098
1115
|
*/
|
|
1099
|
-
export function partial<
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
R
|
|
1116
|
-
>(
|
|
1117
|
-
fn: (...args: Args) => R,
|
|
1118
|
-
args: ArgsGiven
|
|
1119
|
-
): Args extends [...{[K in keyof ArgsGiven]: Args[K]}, ...infer ArgsRemaining]
|
|
1120
|
-
? ArgsRemaining extends []
|
|
1121
|
-
? R
|
|
1122
|
-
: (...args: ArgsRemaining) => R
|
|
1123
|
-
: never;
|
|
1116
|
+
export function partial<V0, V1, T>(fn: (x0: V0, x1: V1) => T, args: [V0]): (x1: V1) => T;
|
|
1117
|
+
export function partial<V0, V1, V2, T>(fn: (x0: V0, x1: V1, x2: V2) => T, args: [V0, V1]): (x2: V2) => T;
|
|
1118
|
+
export function partial<V0, V1, V2, T>(fn: (x0: V0, x1: V1, x2: V2) => T, args: [V0]): (x1: V1, x2: V2) => T;
|
|
1119
|
+
export function partial<V0, V1, V2, V3, T>(
|
|
1120
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
1121
|
+
args: [V0, V1, V2],
|
|
1122
|
+
): (x2: V3) => T;
|
|
1123
|
+
export function partial<V0, V1, V2, V3, T>(
|
|
1124
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
1125
|
+
args: [V0, V1],
|
|
1126
|
+
): (x2: V2, x3: V3) => T;
|
|
1127
|
+
export function partial<V0, V1, V2, V3, T>(
|
|
1128
|
+
fn: (x0: V0, x1: V1, x2: V2, x3: V3) => T,
|
|
1129
|
+
args: [V0],
|
|
1130
|
+
): (x1: V1, x2: V2, x3: V3) => T;
|
|
1131
|
+
export function partial<T>(fn: (...a: any[]) => T, args: any[]): (...a: any[]) => T;
|
|
1124
1132
|
|
|
1125
1133
|
/**
|
|
1126
1134
|
* `R.partialObject` is a curry helper designed specifically for functions accepting object as a single argument.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rambda",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"benchmark": "cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark",
|
|
6
6
|
"benchmark:all": "yarn build:step && cd ../rambda-scripts && yarn benchmark:all",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"test:all": "jest source/*.spec.js -u --bail=false",
|
|
33
33
|
"test:ci": "jest source/*.spec.js --coverage --no-cache -w 1",
|
|
34
34
|
"test:typings": "dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source",
|
|
35
|
+
"ts": "yarn test:typings",
|
|
35
36
|
"usedby": "cd ../rambda-scripts && yarn usedby",
|
|
36
37
|
"x": "yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"
|
|
37
38
|
},
|
package/rambda.js
CHANGED
|
@@ -51,10 +51,13 @@ export * from './src/drop.js'
|
|
|
51
51
|
export * from './src/dropLast.js'
|
|
52
52
|
export * from './src/dropLastWhile.js'
|
|
53
53
|
export * from './src/dropRepeats.js'
|
|
54
|
+
export * from './src/dropRepeatsBy.js'
|
|
54
55
|
export * from './src/dropRepeatsWith.js'
|
|
55
56
|
export * from './src/dropWhile.js'
|
|
56
57
|
export * from './src/either.js'
|
|
58
|
+
export * from './src/empty.js'
|
|
57
59
|
export * from './src/endsWith.js'
|
|
60
|
+
export * from './src/eqBy.js'
|
|
58
61
|
export * from './src/eqProps.js'
|
|
59
62
|
export * from './src/equals.js'
|
|
60
63
|
export * from './src/evolve.js'
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { equals } from './equals.js'
|
|
2
|
+
|
|
3
|
+
export function dropRepeatsBy(fn, list){
|
|
4
|
+
if (arguments.length === 1) return _list => dropRepeatsBy(fn, _list)
|
|
5
|
+
|
|
6
|
+
let lastEvaluated = null
|
|
7
|
+
|
|
8
|
+
return list.slice().filter(item => {
|
|
9
|
+
if (lastEvaluated === null){
|
|
10
|
+
lastEvaluated = fn(item)
|
|
11
|
+
|
|
12
|
+
return true
|
|
13
|
+
}
|
|
14
|
+
const evaluatedResult = fn(item)
|
|
15
|
+
if (equals(lastEvaluated, evaluatedResult)) return false
|
|
16
|
+
|
|
17
|
+
lastEvaluated = evaluatedResult
|
|
18
|
+
|
|
19
|
+
return true
|
|
20
|
+
})
|
|
21
|
+
}
|
package/src/empty.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type } from './type.js'
|
|
2
|
+
|
|
3
|
+
export function empty(list){
|
|
4
|
+
if (typeof list === 'string') return ''
|
|
5
|
+
|
|
6
|
+
if (Array.isArray(list)){
|
|
7
|
+
const { name } = list.constructor
|
|
8
|
+
if (name === 'Uint8Array') return Uint8Array.from('')
|
|
9
|
+
|
|
10
|
+
if (name === 'Float32Array') return new Float32Array([])
|
|
11
|
+
|
|
12
|
+
return []
|
|
13
|
+
}
|
|
14
|
+
if (type(list) === 'Object') return {}
|
|
15
|
+
}
|
package/src/eqBy.js
ADDED
package/src/forEach.js
CHANGED
|
@@ -1,34 +1,44 @@
|
|
|
1
1
|
import { isArray } from './_internals/isArray.js'
|
|
2
2
|
import { keys } from './_internals/keys.js'
|
|
3
3
|
|
|
4
|
-
export function
|
|
5
|
-
|
|
4
|
+
export function forEachObjIndexedFn(fn, obj){
|
|
5
|
+
let index = 0
|
|
6
|
+
const listKeys = keys(obj)
|
|
7
|
+
const len = listKeys.length
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
while (index < len){
|
|
10
|
+
const key = listKeys[ index ]
|
|
11
|
+
fn(
|
|
12
|
+
obj[ key ], key, obj
|
|
13
|
+
)
|
|
14
|
+
index++
|
|
9
15
|
}
|
|
10
16
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const len = list.length
|
|
17
|
+
return obj
|
|
18
|
+
}
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
export function forEachObjIndexed(fn, list){
|
|
21
|
+
if (arguments.length === 1) return _list => forEachObjIndexed(fn, _list)
|
|
22
|
+
|
|
23
|
+
if (list === undefined) return
|
|
24
|
+
|
|
25
|
+
return forEachObjIndexedFn(fn, list)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function forEach(fn, iterable){
|
|
29
|
+
if (arguments.length === 1) return _list => forEach(fn, _list)
|
|
30
|
+
|
|
31
|
+
if (iterable === undefined) return
|
|
32
|
+
|
|
33
|
+
if (isArray(iterable)){
|
|
20
34
|
let index = 0
|
|
21
|
-
const
|
|
22
|
-
const len = listKeys.length
|
|
35
|
+
const len = iterable.length
|
|
23
36
|
|
|
24
37
|
while (index < len){
|
|
25
|
-
|
|
26
|
-
fn(
|
|
27
|
-
list[ key ], key, list
|
|
28
|
-
)
|
|
38
|
+
fn(iterable[ index ])
|
|
29
39
|
index++
|
|
30
40
|
}
|
|
31
|
-
}
|
|
41
|
+
} else return forEachObjIndexedFn(fn, iterable)
|
|
32
42
|
|
|
33
|
-
return
|
|
43
|
+
return iterable
|
|
34
44
|
}
|
package/src/mergeWith.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { curry } from './curry.js'
|
|
2
2
|
|
|
3
|
-
function mergeWithFn(
|
|
3
|
+
export function mergeWithFn(
|
|
4
4
|
mergeFn, aInput, bInput
|
|
5
5
|
){
|
|
6
6
|
const a = aInput ?? {}
|
|
@@ -8,21 +8,15 @@ function mergeWithFn(
|
|
|
8
8
|
const willReturn = {}
|
|
9
9
|
|
|
10
10
|
Object.keys(a).forEach(key => {
|
|
11
|
-
if (b[ key ] === undefined)
|
|
12
|
-
|
|
13
|
-
} else {
|
|
14
|
-
willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
15
|
-
}
|
|
11
|
+
if (b[ key ] === undefined) willReturn[ key ] = a[ key ]
|
|
12
|
+
else willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
16
13
|
})
|
|
17
14
|
|
|
18
15
|
Object.keys(b).forEach(key => {
|
|
19
16
|
if (willReturn[ key ] !== undefined) return
|
|
20
17
|
|
|
21
|
-
if (a[ key ] === undefined)
|
|
22
|
-
|
|
23
|
-
} else {
|
|
24
|
-
willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
25
|
-
}
|
|
18
|
+
if (a[ key ] === undefined) willReturn[ key ] = b[ key ]
|
|
19
|
+
else willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
26
20
|
})
|
|
27
21
|
|
|
28
22
|
return willReturn
|