rubico 2.11.0 → 2.13.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/README.md +16 -20
- package/Transducer.js +87 -72
- package/__.js +3 -3
- package/_internal/functionArrayAllSeries.js +4 -3
- package/_internal/functionObjectAllSeries.js +65 -0
- package/_internal/genericTransform.js +0 -1
- package/all.js +36 -16
- package/always.js +4 -4
- package/and.js +34 -26
- package/assign.js +5 -5
- package/compose.js +7 -6
- package/curry.js +48 -28
- package/dist/Transducer.es.js +1 -1
- package/dist/Transducer.es.min.js +1 -1
- package/dist/Transducer.js +1 -1
- package/dist/Transducer.min.js +1 -1
- package/dist/Transducer.mjs +1 -1
- package/dist/__.es.js +1 -1
- package/dist/__.es.min.js +1 -1
- package/dist/__.js +1 -1
- package/dist/__.min.js +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +112 -8
- package/dist/all.es.min.js +2 -2
- package/dist/all.js +112 -8
- package/dist/all.min.js +2 -2
- package/dist/all.mjs +112 -8
- package/dist/always.es.js +1 -1
- package/dist/always.es.min.js +1 -1
- package/dist/always.js +1 -1
- package/dist/always.min.js +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +1 -1
- package/dist/and.es.min.js +1 -1
- package/dist/and.js +1 -1
- package/dist/and.min.js +1 -1
- package/dist/and.mjs +1 -1
- package/dist/assign.es.js +1 -1
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +1 -1
- package/dist/assign.min.js +1 -1
- package/dist/assign.mjs +1 -1
- package/dist/compose.es.js +1 -1
- package/dist/compose.es.min.js +1 -1
- package/dist/compose.js +1 -1
- package/dist/compose.min.js +1 -1
- package/dist/compose.mjs +1 -1
- package/dist/curry.es.js +1 -1
- package/dist/curry.es.min.js +1 -1
- package/dist/curry.js +1 -1
- package/dist/curry.min.js +1 -1
- package/dist/curry.mjs +1 -1
- package/dist/eq.es.js +1 -1
- package/dist/eq.es.min.js +1 -1
- package/dist/eq.js +1 -1
- package/dist/eq.min.js +1 -1
- package/dist/eq.mjs +1 -1
- package/dist/every.es.js +1 -1
- package/dist/every.es.min.js +1 -1
- package/dist/every.js +1 -1
- package/dist/every.min.js +1 -1
- package/dist/every.mjs +1 -1
- package/dist/filter.es.js +113 -19
- package/dist/filter.es.min.js +2 -2
- package/dist/filter.js +113 -19
- package/dist/filter.min.js +2 -2
- package/dist/filter.mjs +113 -19
- package/dist/flatMap.es.js +1 -1
- package/dist/flatMap.es.min.js +1 -1
- package/dist/flatMap.js +1 -1
- package/dist/flatMap.min.js +1 -1
- package/dist/flatMap.mjs +1 -1
- package/dist/forEach.es.js +1 -1
- package/dist/forEach.es.min.js +1 -1
- package/dist/forEach.js +1 -1
- package/dist/forEach.min.js +1 -1
- package/dist/forEach.mjs +1 -1
- package/dist/get.es.js +1 -1
- package/dist/get.es.min.js +1 -1
- package/dist/get.js +1 -1
- package/dist/get.min.js +1 -1
- package/dist/get.mjs +1 -1
- package/dist/gt.es.js +1 -1
- package/dist/gt.es.min.js +1 -1
- package/dist/gt.js +1 -1
- package/dist/gt.min.js +1 -1
- package/dist/gt.mjs +1 -1
- package/dist/gte.es.js +1 -1
- package/dist/gte.es.min.js +1 -1
- package/dist/gte.js +1 -1
- package/dist/gte.min.js +1 -1
- package/dist/gte.mjs +1 -1
- package/dist/lt.es.js +1 -1
- package/dist/lt.es.min.js +1 -1
- package/dist/lt.js +1 -1
- package/dist/lt.min.js +1 -1
- package/dist/lt.mjs +1 -1
- package/dist/lte.es.js +1 -1
- package/dist/lte.es.min.js +1 -1
- package/dist/lte.js +1 -1
- package/dist/lte.min.js +1 -1
- package/dist/lte.mjs +1 -1
- package/dist/map.es.js +1 -1
- package/dist/map.es.min.js +1 -1
- package/dist/map.js +1 -1
- package/dist/map.min.js +1 -1
- package/dist/map.mjs +1 -1
- package/dist/not.es.js +1 -1
- package/dist/not.es.min.js +1 -1
- package/dist/not.js +1 -1
- package/dist/not.min.js +1 -1
- package/dist/not.mjs +1 -1
- package/dist/omit.es.js +1 -1
- package/dist/omit.es.min.js +1 -1
- package/dist/omit.js +1 -1
- package/dist/omit.min.js +1 -1
- package/dist/omit.mjs +1 -1
- package/dist/or.es.js +1 -1
- package/dist/or.es.min.js +1 -1
- package/dist/or.js +1 -1
- package/dist/or.min.js +1 -1
- package/dist/or.mjs +1 -1
- package/dist/pick.es.js +1 -1
- package/dist/pick.es.min.js +1 -1
- package/dist/pick.js +1 -1
- package/dist/pick.min.js +1 -1
- package/dist/pick.mjs +1 -1
- package/dist/pipe.es.js +1 -1
- package/dist/pipe.es.min.js +1 -1
- package/dist/pipe.js +1 -1
- package/dist/pipe.min.js +1 -1
- package/dist/pipe.mjs +1 -1
- package/dist/reduce.es.js +1 -1
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +1 -1
- package/dist/rubico.es.js +168 -79
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +168 -79
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +168 -79
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +168 -79
- package/dist/set.es.js +1 -1
- package/dist/set.es.min.js +1 -1
- package/dist/set.js +1 -1
- package/dist/set.min.js +1 -1
- package/dist/set.mjs +1 -1
- package/dist/some.es.js +1 -1
- package/dist/some.es.min.js +1 -1
- package/dist/some.js +1 -1
- package/dist/some.min.js +1 -1
- package/dist/some.mjs +1 -1
- package/dist/switchCase.es.js +1 -1
- package/dist/switchCase.es.min.js +1 -1
- package/dist/switchCase.js +1 -1
- package/dist/switchCase.min.js +1 -1
- package/dist/switchCase.mjs +1 -1
- package/dist/tap.es.js +1 -1
- package/dist/tap.es.min.js +1 -1
- package/dist/tap.js +1 -1
- package/dist/tap.min.js +1 -1
- package/dist/tap.mjs +1 -1
- package/dist/thunkify.es.js +1 -1
- package/dist/thunkify.es.min.js +1 -1
- package/dist/thunkify.js +1 -1
- package/dist/thunkify.min.js +1 -1
- package/dist/thunkify.mjs +1 -1
- package/dist/transform.es.js +1 -3
- package/dist/transform.es.min.js +2 -2
- package/dist/transform.js +1 -3
- package/dist/transform.min.js +1 -1
- package/dist/transform.mjs +1 -3
- package/dist/tryCatch.es.js +1 -1
- package/dist/tryCatch.es.min.js +1 -1
- package/dist/tryCatch.js +1 -1
- package/dist/tryCatch.min.js +1 -1
- package/dist/tryCatch.mjs +1 -1
- package/dist/x/append.es.js +1 -1
- package/dist/x/append.es.min.js +1 -1
- package/dist/x/append.js +1 -1
- package/dist/x/append.min.js +1 -1
- package/dist/x/append.mjs +1 -1
- package/dist/x/callProp.es.js +1 -1
- package/dist/x/callProp.es.min.js +1 -1
- package/dist/x/callProp.js +1 -1
- package/dist/x/callProp.min.js +1 -1
- package/dist/x/callProp.mjs +1 -1
- package/dist/x/defaultsDeep.es.js +1 -1
- package/dist/x/defaultsDeep.es.min.js +1 -1
- package/dist/x/defaultsDeep.js +1 -1
- package/dist/x/defaultsDeep.min.js +1 -1
- package/dist/x/defaultsDeep.mjs +1 -1
- package/dist/x/differenceWith.es.js +1 -1
- package/dist/x/differenceWith.es.min.js +1 -1
- package/dist/x/differenceWith.js +1 -1
- package/dist/x/differenceWith.min.js +1 -1
- package/dist/x/differenceWith.mjs +1 -1
- package/dist/x/filterOut.es.js +113 -19
- package/dist/x/filterOut.es.min.js +2 -2
- package/dist/x/filterOut.js +113 -19
- package/dist/x/filterOut.min.js +2 -2
- package/dist/x/filterOut.mjs +113 -19
- package/dist/x/find.es.js +1 -1
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +1 -1
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +1 -1
- package/dist/x/findIndex.es.js +1 -1
- package/dist/x/findIndex.es.min.js +1 -1
- package/dist/x/findIndex.js +1 -1
- package/dist/x/findIndex.min.js +1 -1
- package/dist/x/findIndex.mjs +1 -1
- package/dist/x/first.es.js +1 -1
- package/dist/x/first.es.min.js +1 -1
- package/dist/x/first.js +1 -1
- package/dist/x/first.min.js +1 -1
- package/dist/x/first.mjs +1 -1
- package/dist/x/flatten.es.js +1 -1
- package/dist/x/flatten.es.min.js +1 -1
- package/dist/x/flatten.js +1 -1
- package/dist/x/flatten.min.js +1 -1
- package/dist/x/flatten.mjs +1 -1
- package/dist/x/groupBy.es.js +1 -1
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +1 -1
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +1 -1
- package/dist/x/has.es.js +1 -1
- package/dist/x/has.es.min.js +1 -1
- package/dist/x/has.js +1 -1
- package/dist/x/has.min.js +1 -1
- package/dist/x/has.mjs +1 -1
- package/dist/x/identity.es.js +1 -1
- package/dist/x/identity.es.min.js +1 -1
- package/dist/x/identity.js +1 -1
- package/dist/x/identity.min.js +1 -1
- package/dist/x/identity.mjs +1 -1
- package/dist/x/includes.es.js +1 -1
- package/dist/x/includes.es.min.js +1 -1
- package/dist/x/includes.js +1 -1
- package/dist/x/includes.min.js +1 -1
- package/dist/x/includes.mjs +1 -1
- package/dist/x/isDeepEqual.es.js +1 -1
- package/dist/x/isDeepEqual.es.min.js +1 -1
- package/dist/x/isDeepEqual.js +1 -1
- package/dist/x/isDeepEqual.min.js +1 -1
- package/dist/x/isDeepEqual.mjs +1 -1
- package/dist/x/isEmpty.es.js +1 -1
- package/dist/x/isEmpty.es.min.js +1 -1
- package/dist/x/isEmpty.js +1 -1
- package/dist/x/isEmpty.min.js +1 -1
- package/dist/x/isEmpty.mjs +1 -1
- package/dist/x/isEqual.es.js +1 -1
- package/dist/x/isEqual.es.min.js +1 -1
- package/dist/x/isEqual.js +1 -1
- package/dist/x/isEqual.min.js +1 -1
- package/dist/x/isEqual.mjs +1 -1
- package/dist/x/isFunction.es.js +1 -1
- package/dist/x/isFunction.es.min.js +1 -1
- package/dist/x/isFunction.js +1 -1
- package/dist/x/isFunction.min.js +1 -1
- package/dist/x/isFunction.mjs +1 -1
- package/dist/x/isIn.es.js +1 -1
- package/dist/x/isIn.es.min.js +1 -1
- package/dist/x/isIn.js +1 -1
- package/dist/x/isIn.min.js +1 -1
- package/dist/x/isIn.mjs +1 -1
- package/dist/x/isObject.es.js +1 -1
- package/dist/x/isObject.es.min.js +1 -1
- package/dist/x/isObject.js +1 -1
- package/dist/x/isObject.min.js +1 -1
- package/dist/x/isObject.mjs +1 -1
- package/dist/x/isString.es.js +1 -1
- package/dist/x/isString.es.min.js +1 -1
- package/dist/x/isString.js +1 -1
- package/dist/x/isString.min.js +1 -1
- package/dist/x/isString.mjs +1 -1
- package/dist/x/keys.es.js +1 -1
- package/dist/x/keys.es.min.js +1 -1
- package/dist/x/keys.js +1 -1
- package/dist/x/keys.min.js +1 -1
- package/dist/x/keys.mjs +1 -1
- package/dist/x/last.es.js +1 -1
- package/dist/x/last.es.min.js +1 -1
- package/dist/x/last.js +1 -1
- package/dist/x/last.min.js +1 -1
- package/dist/x/last.mjs +1 -1
- package/dist/x/maxBy.es.js +1 -1
- package/dist/x/maxBy.es.min.js +1 -1
- package/dist/x/maxBy.js +1 -1
- package/dist/x/maxBy.min.js +1 -1
- package/dist/x/maxBy.mjs +1 -1
- package/dist/x/noop.es.js +1 -1
- package/dist/x/noop.es.min.js +1 -1
- package/dist/x/noop.js +1 -1
- package/dist/x/noop.min.js +1 -1
- package/dist/x/noop.mjs +1 -1
- package/dist/x/pluck.es.js +1 -1
- package/dist/x/pluck.es.min.js +1 -1
- package/dist/x/pluck.js +1 -1
- package/dist/x/pluck.min.js +1 -1
- package/dist/x/pluck.mjs +1 -1
- package/dist/x/prepend.es.js +1 -1
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +1 -1
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +1 -1
- package/dist/x/size.es.js +1 -1
- package/dist/x/size.es.min.js +1 -1
- package/dist/x/size.js +1 -1
- package/dist/x/size.min.js +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +1 -1
- package/dist/x/trace.es.min.js +1 -1
- package/dist/x/trace.js +1 -1
- package/dist/x/trace.min.js +1 -1
- package/dist/x/trace.mjs +1 -1
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/eq.js +29 -30
- package/es.js +168 -79
- package/every.js +16 -22
- package/filter.js +41 -78
- package/flatMap.js +16 -16
- package/forEach.js +14 -14
- package/get.js +3 -3
- package/gt.js +18 -25
- package/gte.js +22 -29
- package/index.js +168 -79
- package/lt.js +33 -31
- package/lte.js +24 -31
- package/map.js +43 -46
- package/not.js +12 -17
- package/or.js +34 -26
- package/package.json +1 -1
- package/pipe.js +6 -6
- package/reduce.js +62 -69
- package/some.js +13 -36
- package/switchCase.js +9 -9
- package/tap.js +7 -12
- package/thunkify.js +42 -12
- package/transform.js +62 -61
- package/tryCatch.js +4 -7
- package/_internal/add.js +0 -12
package/forEach.js
CHANGED
|
@@ -47,19 +47,27 @@ const _forEach = function (collection, callback) {
|
|
|
47
47
|
* ```coffeescript [specscript]
|
|
48
48
|
* type Iterable = Array|Set|Map|Generator|AsyncGenerator|{ forEach: function }|Object
|
|
49
49
|
*
|
|
50
|
-
* type
|
|
50
|
+
* type Callback = (
|
|
51
51
|
* item any,
|
|
52
52
|
* indexOrKey number|string|any,
|
|
53
53
|
* iterable Iterable
|
|
54
54
|
* )=>Promise|undefined
|
|
55
55
|
*
|
|
56
|
-
* forEach(iterable Promise|Iterable, callback
|
|
57
|
-
* forEach(callback
|
|
56
|
+
* forEach(iterable Promise|Iterable, callback Callback) -> iterable Promise|Iterable
|
|
57
|
+
* forEach(callback Callback)(iterable Iterable) -> iterable Promise|Iterable
|
|
58
58
|
* ```
|
|
59
59
|
*
|
|
60
60
|
* @description
|
|
61
61
|
* Executes a callback function for each item of an iterable, returning the original iterable unmodified.
|
|
62
62
|
*
|
|
63
|
+
* ```javascript [playground]
|
|
64
|
+
* console.log('array')
|
|
65
|
+
* forEach([1, 2, 3, 4, 5], num => console.log(num))
|
|
66
|
+
*
|
|
67
|
+
* console.log('object')
|
|
68
|
+
* forEach({ a: 1, b: 2, c: 3 }, num => console.log(num))
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
63
71
|
* The following data types are considered to be iterable:
|
|
64
72
|
* * `array`
|
|
65
73
|
* * `set`
|
|
@@ -101,14 +109,6 @@ const _forEach = function (collection, callback) {
|
|
|
101
109
|
* callback(item any, key string, iterable Object) -> Promise|undefined
|
|
102
110
|
* ```
|
|
103
111
|
*
|
|
104
|
-
* ```javascript [playground]
|
|
105
|
-
* console.log('array')
|
|
106
|
-
* forEach([1, 2, 3, 4, 5], num => console.log(num))
|
|
107
|
-
*
|
|
108
|
-
* console.log('object')
|
|
109
|
-
* forEach({ a: 1, b: 2, c: 3 }, num => console.log(num))
|
|
110
|
-
* ```
|
|
111
|
-
*
|
|
112
112
|
* If the iterable is an object with a `.forEach` method, the callback function signature is defined externally.
|
|
113
113
|
*
|
|
114
114
|
* If the callback function is asynchronous, it is executed concurrently.
|
|
@@ -190,14 +190,14 @@ const _forEachSeries = function (collection, callback) {
|
|
|
190
190
|
* ```coffeescript [specscript]
|
|
191
191
|
* type Iterable = Array|Set|Map|Generator|AsyncGenerator|{ forEach: function }|Object
|
|
192
192
|
*
|
|
193
|
-
* type
|
|
193
|
+
* type Callback = (
|
|
194
194
|
* item any,
|
|
195
195
|
* indexOrKey number|string|any,
|
|
196
196
|
* iter Iterable
|
|
197
197
|
* )=>Promise|undefined
|
|
198
198
|
*
|
|
199
|
-
* forEach.series(iterable Promise|Iterable, callback
|
|
200
|
-
* forEach.series(callback
|
|
199
|
+
* forEach.series(iterable Promise|Iterable, callback Callback) -> iterable Promise|Iterable
|
|
200
|
+
* forEach.series(callback Callback)(iterable Iterable) -> iterable Promise|Iterable
|
|
201
201
|
* ```
|
|
202
202
|
*
|
|
203
203
|
* @description
|
package/get.js
CHANGED
|
@@ -74,9 +74,9 @@ const _get = function (object, path, defaultValue) {
|
|
|
74
74
|
* ```javascript [playground]
|
|
75
75
|
* const asyncDefaultResolver = async object => object.a
|
|
76
76
|
*
|
|
77
|
-
* const
|
|
77
|
+
* const result = await get({ a: 1 }, 'notfound', asyncDefaultResolver)
|
|
78
78
|
*
|
|
79
|
-
*
|
|
79
|
+
* console.log(result)
|
|
80
80
|
* ```
|
|
81
81
|
*
|
|
82
82
|
* `get` supports three types of path patterns for nested property access.
|
|
@@ -96,7 +96,7 @@ const _get = function (object, path, defaultValue) {
|
|
|
96
96
|
* const get00000BracketNotation = get('[0][0][0][0][0]')
|
|
97
97
|
* const get00000ArrayNotation = get([0, 0, 0, 0, 0])
|
|
98
98
|
*
|
|
99
|
-
* const nested = [[[[[
|
|
99
|
+
* const nested = [[[[[1]]]]]
|
|
100
100
|
*
|
|
101
101
|
* console.log(get00000DotNotation(nested))
|
|
102
102
|
* console.log(get00000BracketNotation(nested))
|
package/gt.js
CHANGED
|
@@ -6,44 +6,37 @@ const greaterThan = require('./_internal/greaterThan')
|
|
|
6
6
|
*
|
|
7
7
|
* @synopsis
|
|
8
8
|
* ```coffeescript [specscript]
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* leftResolver
|
|
17
|
-
* rightResolver
|
|
18
|
-
*
|
|
19
|
-
* gt(leftValue, rightValue) -> Promise|boolean
|
|
20
|
-
* gt(...argsOrPromises, leftResolver, rightValue) -> Promise|boolean
|
|
21
|
-
* gt(...argsOrPromises, leftValue, rightResolver) -> Promise|boolean
|
|
22
|
-
* gt(...argsOrPromises, leftResolver, rightResolver) -> Promise|boolean
|
|
23
|
-
* gt(leftResolver, rightValue)(...args) -> Promise|boolean
|
|
24
|
-
* gt(leftValue, rightResolver)(...args) -> Promise|boolean
|
|
25
|
-
* gt(leftResolver, rightResolver)(...args) -> Promise|boolean
|
|
9
|
+
* type Resolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* gt(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* gt(...arguments, leftResolver Resolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* gt(...arguments, leftValue Promise|any, rightResolver Resolver) -> Promise|boolean
|
|
14
|
+
* gt(...arguments, leftResolver Resolver, rightResolver Resolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* gt(leftResolver Resolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* gt(leftValue Promise|any, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* gt(leftResolver Resolver, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
26
19
|
* ```
|
|
27
20
|
*
|
|
28
21
|
* @description
|
|
29
|
-
*
|
|
22
|
+
* Comparison operator. Tests if a value is greater than (`>`) another value.
|
|
30
23
|
*
|
|
31
24
|
* ```javascript [playground]
|
|
32
25
|
* const age = 40
|
|
33
26
|
*
|
|
34
27
|
* const isAgeGreaterThan21 = gt(age, 21)
|
|
35
28
|
*
|
|
36
|
-
* console.log(isAgeGreaterThan21)
|
|
29
|
+
* console.log(isAgeGreaterThan21)
|
|
37
30
|
* ```
|
|
38
31
|
*
|
|
39
|
-
* If either of the two values are resolver functions, `gt` returns a function that resolves the
|
|
32
|
+
* If either of the two values are resolver functions, `gt` returns a function that resolves the values to compare.
|
|
40
33
|
*
|
|
41
34
|
* ```javascript [playground]
|
|
42
35
|
* const isOfLegalAge = gt(get('age'), 21)
|
|
43
36
|
*
|
|
44
37
|
* const juvenile = { age: 16 }
|
|
45
38
|
*
|
|
46
|
-
* console.log(isOfLegalAge(juvenile))
|
|
39
|
+
* console.log(isOfLegalAge(juvenile))
|
|
47
40
|
* ```
|
|
48
41
|
*
|
|
49
42
|
* If either of the resolver functions is asynchronous, `gt` returns an asynchronous function.
|
|
@@ -53,7 +46,7 @@ const greaterThan = require('./_internal/greaterThan')
|
|
|
53
46
|
*
|
|
54
47
|
* const juvenile = { age: 16 }
|
|
55
48
|
*
|
|
56
|
-
* asyncIsOfLegalAge(juvenile).then(console.log)
|
|
49
|
+
* asyncIsOfLegalAge(juvenile).then(console.log)
|
|
57
50
|
* ```
|
|
58
51
|
*
|
|
59
52
|
* `gt` supports a lazy interface for composability.
|
|
@@ -61,14 +54,14 @@ const greaterThan = require('./_internal/greaterThan')
|
|
|
61
54
|
* ```javascript [playground]
|
|
62
55
|
* pipe({ value: 1 }, [
|
|
63
56
|
* gt(5, get('value')),
|
|
64
|
-
* console.log,
|
|
57
|
+
* console.log,
|
|
65
58
|
* ])
|
|
66
59
|
* ```
|
|
67
60
|
*
|
|
68
|
-
* Any promises
|
|
61
|
+
* Any promises in `arguments` are resolved for their values before further execution for the eager interface only.
|
|
69
62
|
*
|
|
70
63
|
* ```javascript [playground]
|
|
71
|
-
* gt(Promise.resolve({ a: 2, b: 1 }), get('a'), get('b')).then(console.log)
|
|
64
|
+
* gt(Promise.resolve({ a: 2, b: 1 }), get('a'), get('b')).then(console.log)
|
|
72
65
|
* ```
|
|
73
66
|
*
|
|
74
67
|
* See also:
|
package/gte.js
CHANGED
|
@@ -6,46 +6,39 @@ const greaterThanOrEqual = require('./_internal/greaterThanOrEqual')
|
|
|
6
6
|
*
|
|
7
7
|
* @synopsis
|
|
8
8
|
* ```coffeescript [specscript]
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* leftResolver
|
|
17
|
-
* rightResolver
|
|
18
|
-
*
|
|
19
|
-
* gte(leftValue, rightValue) -> Promise|boolean
|
|
20
|
-
* gte(...argsOrPromises, leftResolver, rightValue) -> Promise|boolean
|
|
21
|
-
* gte(...argsOrPromises, leftValue, rightResolver) -> Promise|boolean
|
|
22
|
-
* gte(...argsOrPromises, leftResolver, rightResolver) -> Promise|boolean
|
|
23
|
-
* gte(leftResolver, rightValue)(...args) -> Promise|boolean
|
|
24
|
-
* gte(leftValue, rightResolver)(...args) -> Promise|boolean
|
|
25
|
-
* gte(leftResolver, rightResolver)(...args) -> Promise|boolean
|
|
9
|
+
* type Resolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* gte(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* gte(...arguments, leftResolver Resolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* gte(...arguments, leftValue Promise|any, rightResolver Resolver) -> Promise|boolean
|
|
14
|
+
* gte(...arguments, leftResolver Resolver, rightResolver Resolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* gte(leftResolver Resolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* gte(leftValue Promise|any, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* gte(leftResolver Resolver, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
26
19
|
* ```
|
|
27
20
|
*
|
|
28
21
|
* @description
|
|
29
|
-
*
|
|
22
|
+
* Comparison operator. Tests if a value is greater than or equal (`>=`) to another value.
|
|
30
23
|
*
|
|
31
24
|
* ```javascript [playground]
|
|
32
25
|
* const age = 20
|
|
33
26
|
*
|
|
34
27
|
* const isAdultAge = gte(age, 18)
|
|
35
28
|
*
|
|
36
|
-
* console.log(isAdultAge)
|
|
29
|
+
* console.log(isAdultAge)
|
|
37
30
|
* ```
|
|
38
31
|
*
|
|
39
|
-
* If either of the two values are resolver functions, `gte` returns a function that resolves the
|
|
32
|
+
* If either of the two values are resolver functions, `gte` returns a function that resolves the values to compare.
|
|
40
33
|
*
|
|
41
34
|
* ```javascript [playground]
|
|
42
35
|
* const identity = value => value
|
|
43
36
|
*
|
|
44
37
|
* const isAtLeast100 = gte(identity, 100)
|
|
45
38
|
*
|
|
46
|
-
* console.log(isAtLeast100(99))
|
|
47
|
-
* console.log(isAtLeast100(100))
|
|
48
|
-
* console.log(isAtLeast100(101))
|
|
39
|
+
* console.log(isAtLeast100(99))
|
|
40
|
+
* console.log(isAtLeast100(100))
|
|
41
|
+
* console.log(isAtLeast100(101))
|
|
49
42
|
* ```
|
|
50
43
|
*
|
|
51
44
|
* If either of the two resolver functions is asynchronous, `gte` returns an asynchronous function.
|
|
@@ -55,9 +48,9 @@ const greaterThanOrEqual = require('./_internal/greaterThanOrEqual')
|
|
|
55
48
|
*
|
|
56
49
|
* const asyncIsAtLeast100 = gte(asyncIdentity, 100)
|
|
57
50
|
*
|
|
58
|
-
* asyncIsAtLeast100(99).then(console.log)
|
|
59
|
-
* asyncIsAtLeast100(100).then(console.log)
|
|
60
|
-
* asyncIsAtLeast100(101).then(console.log)
|
|
51
|
+
* asyncIsAtLeast100(99).then(console.log)
|
|
52
|
+
* asyncIsAtLeast100(100).then(console.log)
|
|
53
|
+
* asyncIsAtLeast100(101).then(console.log)
|
|
61
54
|
* ```
|
|
62
55
|
*
|
|
63
56
|
* `gte` supports a lazy interface for composability.
|
|
@@ -65,14 +58,14 @@ const greaterThanOrEqual = require('./_internal/greaterThanOrEqual')
|
|
|
65
58
|
* ```javascript [playground]
|
|
66
59
|
* pipe({ value: 1 }, [
|
|
67
60
|
* gte(1, get('value')),
|
|
68
|
-
* console.log,
|
|
61
|
+
* console.log,
|
|
69
62
|
* ])
|
|
70
63
|
* ```
|
|
71
64
|
*
|
|
72
|
-
* Any promises
|
|
65
|
+
* Any promises in `arguments` are resolved for their values before further execution for the eager interface only.
|
|
73
66
|
*
|
|
74
67
|
* ```javascript [playground]
|
|
75
|
-
* gte(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log)
|
|
68
|
+
* gte(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log)
|
|
76
69
|
* ```
|
|
77
70
|
*
|
|
78
71
|
* See also:
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.13.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
@@ -374,7 +374,8 @@ const functionArrayAllSeries = function (funcs, args) {
|
|
|
374
374
|
const funcsLength = funcs.length, result = []
|
|
375
375
|
let funcsIndex = -1
|
|
376
376
|
while (++funcsIndex < funcsLength) {
|
|
377
|
-
const
|
|
377
|
+
const f = funcs[funcsIndex]
|
|
378
|
+
const resultElement = typeof f == 'function' ? f(...args) : f
|
|
378
379
|
if (isPromise(resultElement)) {
|
|
379
380
|
return resultElement.then(funcConcat(
|
|
380
381
|
curry3(objectSet, result, funcsIndex, __),
|
|
@@ -385,6 +386,90 @@ const functionArrayAllSeries = function (funcs, args) {
|
|
|
385
386
|
return result
|
|
386
387
|
}
|
|
387
388
|
|
|
389
|
+
// argument resolver for curry5
|
|
390
|
+
const curry5ResolveArg0 = (
|
|
391
|
+
baseFunc, arg1, arg2, arg3, arg4,
|
|
392
|
+
) => function arg0Resolver(arg0) {
|
|
393
|
+
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
// argument resolver for curry5
|
|
397
|
+
const curry5ResolveArg1 = (
|
|
398
|
+
baseFunc, arg0, arg2, arg3, arg4,
|
|
399
|
+
) => function arg1Resolver(arg1) {
|
|
400
|
+
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// argument resolver for curry5
|
|
404
|
+
const curry5ResolveArg2 = (
|
|
405
|
+
baseFunc, arg0, arg1, arg3, arg4,
|
|
406
|
+
) => function arg2Resolver(arg2) {
|
|
407
|
+
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// argument resolver for curry5
|
|
411
|
+
const curry5ResolveArg3 = (
|
|
412
|
+
baseFunc, arg0, arg1, arg2, arg4,
|
|
413
|
+
) => function arg3Resolver(arg3) {
|
|
414
|
+
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// argument resolver for curry5
|
|
418
|
+
const curry5ResolveArg4 = (
|
|
419
|
+
baseFunc, arg0, arg1, arg2, arg3,
|
|
420
|
+
) => function arg3Resolver(arg4) {
|
|
421
|
+
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
|
|
425
|
+
if (arg0 == __) {
|
|
426
|
+
return curry5ResolveArg0(baseFunc, arg1, arg2, arg3, arg4)
|
|
427
|
+
}
|
|
428
|
+
if (arg1 == __) {
|
|
429
|
+
return curry5ResolveArg1(baseFunc, arg0, arg2, arg3, arg4)
|
|
430
|
+
}
|
|
431
|
+
if (arg2 == __) {
|
|
432
|
+
return curry5ResolveArg2(baseFunc, arg0, arg1, arg3, arg4)
|
|
433
|
+
}
|
|
434
|
+
if (arg3 == __) {
|
|
435
|
+
return curry5ResolveArg3(baseFunc, arg0, arg1, arg2, arg4)
|
|
436
|
+
}
|
|
437
|
+
return curry5ResolveArg4(baseFunc, arg0, arg1, arg2, arg3)
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
const asyncFunctionObjectAllSeries = async function (funcs, args, result, keys, keysIndex) {
|
|
441
|
+
const keysLength = keys.length
|
|
442
|
+
while (++keysIndex < keysLength) {
|
|
443
|
+
const key = keys[keysIndex]
|
|
444
|
+
const f = funcs[key]
|
|
445
|
+
let resultElement = typeof f == 'function' ? f(...args) : f
|
|
446
|
+
if (isPromise(resultElement)) {
|
|
447
|
+
resultElement = await resultElement
|
|
448
|
+
}
|
|
449
|
+
result[key] = resultElement
|
|
450
|
+
}
|
|
451
|
+
return result
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
const functionObjectAllSeries = function (funcs, args) {
|
|
455
|
+
const result = {}
|
|
456
|
+
const keys = Object.keys(funcs)
|
|
457
|
+
const keysLength = keys.length
|
|
458
|
+
let keysIndex = -1
|
|
459
|
+
while (++keysIndex < keysLength) {
|
|
460
|
+
const key = keys[keysIndex]
|
|
461
|
+
const f = funcs[key]
|
|
462
|
+
const resultElement = typeof f == 'function' ? f(...args) : f
|
|
463
|
+
if (isPromise(resultElement)) {
|
|
464
|
+
return resultElement.then(funcConcat(
|
|
465
|
+
curry3(objectSet, result, key, __),
|
|
466
|
+
curry5(asyncFunctionObjectAllSeries, funcs, args, __, keys, keysIndex)))
|
|
467
|
+
}
|
|
468
|
+
result[key] = resultElement
|
|
469
|
+
}
|
|
470
|
+
return result
|
|
471
|
+
}
|
|
472
|
+
|
|
388
473
|
const functionObjectAll = function (funcs, args) {
|
|
389
474
|
const result = {}, promises = []
|
|
390
475
|
for (const key in funcs) {
|
|
@@ -441,14 +526,33 @@ const all = function (...args) {
|
|
|
441
526
|
}
|
|
442
527
|
|
|
443
528
|
all.series = function allSeries(...args) {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
529
|
+
if (args.length == 1) {
|
|
530
|
+
const resolversOrValues = args[0]
|
|
531
|
+
if (isPromise(resolversOrValues)) {
|
|
532
|
+
return resolversOrValues.then(_allValues)
|
|
533
|
+
}
|
|
534
|
+
if (areAllValuesNonfunctions(resolversOrValues)) {
|
|
535
|
+
return _allValues(resolversOrValues)
|
|
536
|
+
}
|
|
537
|
+
return isArray(resolversOrValues)
|
|
538
|
+
? curryArgs2(functionArrayAllSeries, resolversOrValues, __)
|
|
539
|
+
: curryArgs2(functionObjectAllSeries, resolversOrValues, __)
|
|
447
540
|
}
|
|
448
|
-
|
|
449
|
-
|
|
541
|
+
|
|
542
|
+
const resolversOrValues = args[args.length - 1]
|
|
543
|
+
const argValues = args.slice(0, -1)
|
|
544
|
+
|
|
545
|
+
if (areAnyValuesPromises(argValues)) {
|
|
546
|
+
return isArray(resolversOrValues)
|
|
547
|
+
? promiseAll(argValues)
|
|
548
|
+
.then(curry2(functionArrayAllSeries, resolversOrValues, __))
|
|
549
|
+
: promiseAll(argValues)
|
|
550
|
+
.then(curry2(functionObjectAllSeries, resolversOrValues, __))
|
|
450
551
|
}
|
|
451
|
-
|
|
552
|
+
|
|
553
|
+
return isArray(resolversOrValues)
|
|
554
|
+
? functionArrayAllSeries(resolversOrValues, argValues)
|
|
555
|
+
: functionObjectAllSeries(resolversOrValues, argValues)
|
|
452
556
|
}
|
|
453
557
|
|
|
454
558
|
const objectAssign = Object.assign
|
|
@@ -1480,26 +1584,64 @@ const FilteringIterator = (iterator, predicate) => ({
|
|
|
1480
1584
|
},
|
|
1481
1585
|
})
|
|
1482
1586
|
|
|
1483
|
-
const FilteringAsyncIterator = (asyncIterator, predicate) =>
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1587
|
+
const FilteringAsyncIterator = (asyncIterator, predicate) => {
|
|
1588
|
+
const buffer = new LinkedList()
|
|
1589
|
+
|
|
1590
|
+
let index = -1
|
|
1591
|
+
let consumingAsyncIterator = false
|
|
1592
|
+
let isAsyncIteratorDone = false
|
|
1593
|
+
|
|
1594
|
+
return {
|
|
1595
|
+
[symbolAsyncIterator]() {
|
|
1596
|
+
return this
|
|
1597
|
+
},
|
|
1598
|
+
|
|
1599
|
+
// _consumeAsyncIterator() -> Promise<>
|
|
1600
|
+
async _consumeAsyncIterator() {
|
|
1601
|
+
for await (const item of asyncIterator) {
|
|
1602
|
+
index += 1
|
|
1603
|
+
const booleanResult = predicate(item)
|
|
1604
|
+
buffer.append([booleanResult, item])
|
|
1605
|
+
}
|
|
1606
|
+
isAsyncIteratorDone = true
|
|
1607
|
+
},
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
async next() {
|
|
1611
|
+
if (!consumingAsyncIterator) {
|
|
1612
|
+
this._consumeAsyncIterator()
|
|
1613
|
+
consumingAsyncIterator = true
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
while (!isAsyncIteratorDone) {
|
|
1617
|
+
if (buffer.length > 0) {
|
|
1618
|
+
let [booleanResult, item] = buffer.popFirst()
|
|
1619
|
+
if (isPromise(booleanResult)) {
|
|
1620
|
+
booleanResult = await booleanResult
|
|
1621
|
+
}
|
|
1622
|
+
if (booleanResult) {
|
|
1623
|
+
return { value: item, done: false }
|
|
1624
|
+
}
|
|
1625
|
+
continue
|
|
1497
1626
|
}
|
|
1627
|
+
await sleep(10)
|
|
1498
1628
|
}
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1629
|
+
|
|
1630
|
+
while (buffer.length > 0) {
|
|
1631
|
+
let [booleanResult, item] = buffer.popFirst()
|
|
1632
|
+
if (isPromise(booleanResult)) {
|
|
1633
|
+
booleanResult = await booleanResult
|
|
1634
|
+
}
|
|
1635
|
+
if (booleanResult) {
|
|
1636
|
+
return { value: item, done: false }
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
return { value: undefined, done: true }
|
|
1641
|
+
},
|
|
1642
|
+
|
|
1643
|
+
}
|
|
1644
|
+
}
|
|
1503
1645
|
|
|
1504
1646
|
const arrayExtendMap = function (
|
|
1505
1647
|
array, values, valuesMapper, valuesIndex,
|
|
@@ -1759,57 +1901,6 @@ const arrayReduce = function (array, reducer, result) {
|
|
|
1759
1901
|
return result
|
|
1760
1902
|
}
|
|
1761
1903
|
|
|
1762
|
-
// argument resolver for curry5
|
|
1763
|
-
const curry5ResolveArg0 = (
|
|
1764
|
-
baseFunc, arg1, arg2, arg3, arg4,
|
|
1765
|
-
) => function arg0Resolver(arg0) {
|
|
1766
|
-
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
1767
|
-
}
|
|
1768
|
-
|
|
1769
|
-
// argument resolver for curry5
|
|
1770
|
-
const curry5ResolveArg1 = (
|
|
1771
|
-
baseFunc, arg0, arg2, arg3, arg4,
|
|
1772
|
-
) => function arg1Resolver(arg1) {
|
|
1773
|
-
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
1774
|
-
}
|
|
1775
|
-
|
|
1776
|
-
// argument resolver for curry5
|
|
1777
|
-
const curry5ResolveArg2 = (
|
|
1778
|
-
baseFunc, arg0, arg1, arg3, arg4,
|
|
1779
|
-
) => function arg2Resolver(arg2) {
|
|
1780
|
-
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
1781
|
-
}
|
|
1782
|
-
|
|
1783
|
-
// argument resolver for curry5
|
|
1784
|
-
const curry5ResolveArg3 = (
|
|
1785
|
-
baseFunc, arg0, arg1, arg2, arg4,
|
|
1786
|
-
) => function arg3Resolver(arg3) {
|
|
1787
|
-
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
1788
|
-
}
|
|
1789
|
-
|
|
1790
|
-
// argument resolver for curry5
|
|
1791
|
-
const curry5ResolveArg4 = (
|
|
1792
|
-
baseFunc, arg0, arg1, arg2, arg3,
|
|
1793
|
-
) => function arg3Resolver(arg4) {
|
|
1794
|
-
return baseFunc(arg0, arg1, arg2, arg3, arg4)
|
|
1795
|
-
}
|
|
1796
|
-
|
|
1797
|
-
const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
|
|
1798
|
-
if (arg0 == __) {
|
|
1799
|
-
return curry5ResolveArg0(baseFunc, arg1, arg2, arg3, arg4)
|
|
1800
|
-
}
|
|
1801
|
-
if (arg1 == __) {
|
|
1802
|
-
return curry5ResolveArg1(baseFunc, arg0, arg2, arg3, arg4)
|
|
1803
|
-
}
|
|
1804
|
-
if (arg2 == __) {
|
|
1805
|
-
return curry5ResolveArg2(baseFunc, arg0, arg1, arg3, arg4)
|
|
1806
|
-
}
|
|
1807
|
-
if (arg3 == __) {
|
|
1808
|
-
return curry5ResolveArg3(baseFunc, arg0, arg1, arg2, arg4)
|
|
1809
|
-
}
|
|
1810
|
-
return curry5ResolveArg4(baseFunc, arg0, arg1, arg2, arg3)
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1813
1904
|
const objectKeys = Object.keys
|
|
1814
1905
|
|
|
1815
1906
|
const objectReduceAsync = async function (object, reducer, result, keys, index) {
|
|
@@ -1944,8 +2035,6 @@ const reduce = function (...args) {
|
|
|
1944
2035
|
|
|
1945
2036
|
const isBinary = ArrayBuffer.isView
|
|
1946
2037
|
|
|
1947
|
-
const add = (a, b) => a + b
|
|
1948
|
-
|
|
1949
2038
|
const _arrayExtend = function (array, values) {
|
|
1950
2039
|
const arrayLength = array.length,
|
|
1951
2040
|
valuesLength = values.length
|
package/lt.js
CHANGED
|
@@ -6,44 +6,37 @@ const lessThan = require('./_internal/lessThan')
|
|
|
6
6
|
*
|
|
7
7
|
* @synopsis
|
|
8
8
|
* ```coffeescript [specscript]
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* leftResolver
|
|
17
|
-
* rightResolver
|
|
18
|
-
*
|
|
19
|
-
* lt(leftValue, rightValue) -> Promise|boolean
|
|
20
|
-
* lt(...argsOrPromises, leftResolver, rightValue) -> Promise|boolean
|
|
21
|
-
* lt(...argsOrPromises, leftValue, rightResolver) -> Promise|boolean
|
|
22
|
-
* lt(...argsOrPromises, leftResolver, rightResolver) -> Promise|boolean
|
|
23
|
-
* lt(leftResolver, rightValue)(...args) -> Promise|boolean
|
|
24
|
-
* lt(leftValue, rightResolver)(...args) -> Promise|boolean
|
|
25
|
-
* lt(leftResolver, rightResolver)(...args) -> Promise|boolean
|
|
9
|
+
* type Resolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* lt(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* lt(...arguments, leftResolver Resolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* lt(...arguments, leftValue Promise|any, rightResolver Resolver) -> Promise|boolean
|
|
14
|
+
* lt(...arguments, leftResolver Resolver, rightResolver Resolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* lt(leftResolver Resolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* lt(leftValue Promise|any, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* lt(leftResolver Resolver, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
26
19
|
* ```
|
|
27
20
|
*
|
|
28
21
|
* @description
|
|
29
|
-
*
|
|
22
|
+
* Comparison operator. Tests if a value is less than (`<`) another value.
|
|
30
23
|
*
|
|
31
24
|
* ```javascript [playground]
|
|
32
|
-
* console.log(lt(1, 3))
|
|
33
|
-
* console.log(lt(3, 3))
|
|
34
|
-
* console.log(lt(4, 3))
|
|
25
|
+
* console.log(lt(1, 3))
|
|
26
|
+
* console.log(lt(3, 3))
|
|
27
|
+
* console.log(lt(4, 3))
|
|
35
28
|
* ```
|
|
36
29
|
*
|
|
37
|
-
* If either of the two values are resolver functions, `lt` returns a function that resolves the
|
|
30
|
+
* If either of the two values are resolver functions, `lt` returns a function that resolves the values to compare.
|
|
38
31
|
*
|
|
39
32
|
* ```javascript [playground]
|
|
40
33
|
* const identity = value => value
|
|
41
34
|
*
|
|
42
35
|
* const isLessThan3 = lt(identity, 3)
|
|
43
36
|
*
|
|
44
|
-
* console.log(isLessThan3(1))
|
|
45
|
-
* console.log(isLessThan3(3))
|
|
46
|
-
* console.log(isLessThan3(5))
|
|
37
|
+
* console.log(isLessThan3(1))
|
|
38
|
+
* console.log(isLessThan3(3))
|
|
39
|
+
* console.log(isLessThan3(5))
|
|
47
40
|
* ```
|
|
48
41
|
*
|
|
49
42
|
* If either of the resolver functions is asynchronous, `lt` returns an asynchronous function.
|
|
@@ -53,9 +46,9 @@ const lessThan = require('./_internal/lessThan')
|
|
|
53
46
|
*
|
|
54
47
|
* const asyncIsLessThan3 = lt(asyncIdentity, 3)
|
|
55
48
|
*
|
|
56
|
-
* asyncIsLessThan3(1).then(console.log)
|
|
57
|
-
* asyncIsLessThan3(3).then(console.log)
|
|
58
|
-
* asyncIsLessThan3(5).then(console.log)
|
|
49
|
+
* asyncIsLessThan3(1).then(console.log)
|
|
50
|
+
* asyncIsLessThan3(3).then(console.log)
|
|
51
|
+
* asyncIsLessThan3(5).then(console.log)
|
|
59
52
|
* ```
|
|
60
53
|
*
|
|
61
54
|
* `lt` supports a lazy interface for composability.
|
|
@@ -63,15 +56,24 @@ const lessThan = require('./_internal/lessThan')
|
|
|
63
56
|
* ```javascript [playground]
|
|
64
57
|
* pipe({ value: 1 }, [
|
|
65
58
|
* lt(0, get('value')),
|
|
66
|
-
* console.log,
|
|
59
|
+
* console.log,
|
|
67
60
|
* ])
|
|
68
61
|
* ```
|
|
69
62
|
*
|
|
70
|
-
* Any promises
|
|
63
|
+
* Any promises in `arguments` are resolved for their values before further execution for the eager interface only.
|
|
71
64
|
*
|
|
72
65
|
* ```javascript [playground]
|
|
73
|
-
* lt(Promise.resolve({ a: 1, b: 2 }), get('a'), get('b')).then(console.log)
|
|
66
|
+
* lt(Promise.resolve({ a: 1, b: 2 }), get('a'), get('b')).then(console.log)
|
|
74
67
|
* ```
|
|
68
|
+
*
|
|
69
|
+
* See also:
|
|
70
|
+
* * [and](/docs/and)
|
|
71
|
+
* * [eq](/docs/eq)
|
|
72
|
+
* * [gt](/docs/lt)
|
|
73
|
+
* * [gte](/docs/gte)
|
|
74
|
+
* * [lte](/docs/lte)
|
|
75
|
+
* * [thunkify](/docs/thunkify)
|
|
76
|
+
*
|
|
75
77
|
*/
|
|
76
78
|
const lt = ComparisonOperator(lessThan)
|
|
77
79
|
|