rambda 9.2.1 → 9.3.0

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