rubico 2.11.0 → 2.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -20
- package/Transducer.js +37 -58
- package/__.js +3 -3
- package/always.js +4 -4
- package/and.js +34 -26
- package/assign.js +2 -2
- package/compose.js +1 -0
- 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 +1 -1
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +1 -1
- package/dist/all.min.js +1 -1
- package/dist/all.mjs +1 -1
- 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 +57 -19
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +57 -19
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +57 -19
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +57 -19
- 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 -1
- package/dist/transform.es.min.js +1 -1
- package/dist/transform.js +1 -1
- package/dist/transform.min.js +1 -1
- package/dist/transform.mjs +1 -1
- 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 +57 -19
- package/every.js +14 -20
- package/filter.js +38 -75
- package/flatMap.js +13 -13
- package/forEach.js +8 -8
- package/get.js +3 -3
- package/gt.js +18 -25
- package/gte.js +22 -29
- package/index.js +57 -19
- package/lt.js +33 -31
- package/lte.js +24 -31
- package/map.js +32 -35
- package/not.js +12 -17
- package/or.js +34 -26
- package/package.json +1 -1
- package/reduce.js +60 -67
- package/some.js +11 -34
- package/switchCase.js +3 -3
- package/thunkify.js +42 -12
- package/transform.js +57 -56
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 SyncOrAsyncResolver
|
|
17
|
-
* rightResolver SyncOrAsyncResolver
|
|
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 SyncOrAsyncResolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* gt(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* gt(...arguments, leftResolver SyncOrAsyncResolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* gt(...arguments, leftValue Promise|any, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
14
|
+
* gt(...arguments, leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* gt(leftResolver SyncOrAsyncResolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* gt(leftValue Promise|any, rightResolver SyncOrAsyncResolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* gt(leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver)(...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 SyncOrAsyncResolver
|
|
17
|
-
* rightResolver SyncOrAsyncResolver
|
|
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 SyncOrAsyncResolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* gte(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* gte(...arguments, leftResolver SyncOrAsyncResolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* gte(...arguments, leftValue Promise|any, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
14
|
+
* gte(...arguments, leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* gte(leftResolver SyncOrAsyncResolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* gte(leftValue Promise|any, rightResolver SyncOrAsyncResolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* gte(leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver)(...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.12.1
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
@@ -1480,26 +1480,64 @@ const FilteringIterator = (iterator, predicate) => ({
|
|
|
1480
1480
|
},
|
|
1481
1481
|
})
|
|
1482
1482
|
|
|
1483
|
-
const FilteringAsyncIterator = (asyncIterator, predicate) =>
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1483
|
+
const FilteringAsyncIterator = (asyncIterator, predicate) => {
|
|
1484
|
+
const buffer = new LinkedList()
|
|
1485
|
+
|
|
1486
|
+
let index = -1
|
|
1487
|
+
let consumingAsyncIterator = false
|
|
1488
|
+
let isAsyncIteratorDone = false
|
|
1489
|
+
|
|
1490
|
+
return {
|
|
1491
|
+
[symbolAsyncIterator]() {
|
|
1492
|
+
return this
|
|
1493
|
+
},
|
|
1494
|
+
|
|
1495
|
+
// _consumeAsyncIterator() -> Promise<>
|
|
1496
|
+
async _consumeAsyncIterator() {
|
|
1497
|
+
for await (const item of asyncIterator) {
|
|
1498
|
+
index += 1
|
|
1499
|
+
const booleanResult = predicate(item)
|
|
1500
|
+
buffer.append([booleanResult, item])
|
|
1501
|
+
}
|
|
1502
|
+
isAsyncIteratorDone = true
|
|
1503
|
+
},
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
async next() {
|
|
1507
|
+
if (!consumingAsyncIterator) {
|
|
1508
|
+
this._consumeAsyncIterator()
|
|
1509
|
+
consumingAsyncIterator = true
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
while (!isAsyncIteratorDone) {
|
|
1513
|
+
if (buffer.length > 0) {
|
|
1514
|
+
let [booleanResult, item] = buffer.popFirst()
|
|
1515
|
+
if (isPromise(booleanResult)) {
|
|
1516
|
+
booleanResult = await booleanResult
|
|
1517
|
+
}
|
|
1518
|
+
if (booleanResult) {
|
|
1519
|
+
return { value: item, done: false }
|
|
1520
|
+
}
|
|
1521
|
+
continue
|
|
1497
1522
|
}
|
|
1523
|
+
await sleep(10)
|
|
1498
1524
|
}
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1525
|
+
|
|
1526
|
+
while (buffer.length > 0) {
|
|
1527
|
+
let [booleanResult, item] = buffer.popFirst()
|
|
1528
|
+
if (isPromise(booleanResult)) {
|
|
1529
|
+
booleanResult = await booleanResult
|
|
1530
|
+
}
|
|
1531
|
+
if (booleanResult) {
|
|
1532
|
+
return { value: item, done: false }
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
return { value: undefined, done: true }
|
|
1537
|
+
},
|
|
1538
|
+
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1503
1541
|
|
|
1504
1542
|
const arrayExtendMap = function (
|
|
1505
1543
|
array, values, valuesMapper, valuesIndex,
|
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 SyncOrAsyncResolver
|
|
17
|
-
* rightResolver SyncOrAsyncResolver
|
|
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 SyncOrAsyncResolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* lt(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* lt(...arguments, leftResolver SyncOrAsyncResolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* lt(...arguments, leftValue Promise|any, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
14
|
+
* lt(...arguments, leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* lt(leftResolver SyncOrAsyncResolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* lt(leftValue Promise|any, rightResolver SyncOrAsyncResolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* lt(leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver)(...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
|
|
package/lte.js
CHANGED
|
@@ -6,44 +6,37 @@ const lessThanOrEqual = require('./_internal/lessThanOrEqual')
|
|
|
6
6
|
*
|
|
7
7
|
* @synopsis
|
|
8
8
|
* ```coffeescript [specscript]
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* leftResolver SyncOrAsyncResolver
|
|
17
|
-
* rightResolver SyncOrAsyncResolver
|
|
18
|
-
*
|
|
19
|
-
* lte(leftValue, rightValue) -> Promise|boolean
|
|
20
|
-
* lte(...argsOrPromises, leftResolver, rightValue) -> Promise|boolean
|
|
21
|
-
* lte(...argsOrPromises, leftValue, rightResolver) -> Promise|boolean
|
|
22
|
-
* lte(...argsOrPromises, leftResolver, rightResolver) -> Promise|boolean
|
|
23
|
-
* lte(leftResolver, rightValue)(...args) -> Promise|boolean
|
|
24
|
-
* lte(leftValue, rightResolver)(...args) -> Promise|boolean
|
|
25
|
-
* lte(leftResolver, rightResolver)(...args) -> Promise|boolean
|
|
9
|
+
* type SyncOrAsyncResolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* lte(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* lte(...arguments, leftResolver SyncOrAsyncResolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* lte(...arguments, leftValue Promise|any, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
14
|
+
* lte(...arguments, leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* lte(leftResolver SyncOrAsyncResolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* lte(leftValue Promise|any, rightResolver SyncOrAsyncResolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* lte(leftResolver SyncOrAsyncResolver, rightResolver SyncOrAsyncResolver)(...arguments) -> Promise|boolean
|
|
26
19
|
* ```
|
|
27
20
|
*
|
|
28
21
|
* @description
|
|
29
|
-
*
|
|
22
|
+
* Comparison operator. Tests if a value is less than or equal (`<=`) to another value.
|
|
30
23
|
*
|
|
31
24
|
* ```javascript [playground]
|
|
32
|
-
* console.log(lte(1, 3))
|
|
33
|
-
* console.log(lte(3, 3))
|
|
34
|
-
* console.log(lte(4, 3))
|
|
25
|
+
* console.log(lte(1, 3))
|
|
26
|
+
* console.log(lte(3, 3))
|
|
27
|
+
* console.log(lte(4, 3))
|
|
35
28
|
* ```
|
|
36
29
|
*
|
|
37
|
-
* If either of the two values are resolver functions, `lte` returns a function that resolves the
|
|
30
|
+
* If either of the two values are resolver functions, `lte` 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 isLessThanOrEqualTo3 = lte(identity, 3)
|
|
43
36
|
*
|
|
44
|
-
* console.log(isLessThanOrEqualTo3(1))
|
|
45
|
-
* console.log(isLessThanOrEqualTo3(3))
|
|
46
|
-
* console.log(isLessThanOrEqualTo3(5))
|
|
37
|
+
* console.log(isLessThanOrEqualTo3(1))
|
|
38
|
+
* console.log(isLessThanOrEqualTo3(3))
|
|
39
|
+
* console.log(isLessThanOrEqualTo3(5))
|
|
47
40
|
* ```
|
|
48
41
|
*
|
|
49
42
|
* If either of the two resolver functions is asynchronous, `lte` returns an asynchronous function.
|
|
@@ -53,9 +46,9 @@ const lessThanOrEqual = require('./_internal/lessThanOrEqual')
|
|
|
53
46
|
*
|
|
54
47
|
* const asyncIsLessThanOrEqualTo3 = lte(asyncIdentity, 3)
|
|
55
48
|
*
|
|
56
|
-
* asyncIsLessThanOrEqualTo3(1).then(console.log)
|
|
57
|
-
* asyncIsLessThanOrEqualTo3(3).then(console.log)
|
|
58
|
-
* asyncIsLessThanOrEqualTo3(5).then(console.log)
|
|
49
|
+
* asyncIsLessThanOrEqualTo3(1).then(console.log)
|
|
50
|
+
* asyncIsLessThanOrEqualTo3(3).then(console.log)
|
|
51
|
+
* asyncIsLessThanOrEqualTo3(5).then(console.log)
|
|
59
52
|
* ```
|
|
60
53
|
*
|
|
61
54
|
* `lte` supports a lazy interface for composability.
|
|
@@ -63,14 +56,14 @@ const lessThanOrEqual = require('./_internal/lessThanOrEqual')
|
|
|
63
56
|
* ```javascript [playground]
|
|
64
57
|
* pipe({ value: 1 }, [
|
|
65
58
|
* lte(1, 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
|
-
* lte(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log)
|
|
66
|
+
* lte(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log)
|
|
74
67
|
* ```
|
|
75
68
|
*
|
|
76
69
|
* See also:
|
package/map.js
CHANGED
|
@@ -109,6 +109,19 @@ const _map = function (value, f) {
|
|
|
109
109
|
* @description
|
|
110
110
|
* Applies a mapper function to each item of a functor, returning a mapped functor of the same type with the mapped items. The order of the items of the functor is preserved.
|
|
111
111
|
*
|
|
112
|
+
* ```javascript [playground]
|
|
113
|
+
* const square = number => number ** 2
|
|
114
|
+
*
|
|
115
|
+
* const array = [1, 2, 3, 4, 5]
|
|
116
|
+
* const object = { a: 1, b: 2, c: 3 }
|
|
117
|
+
*
|
|
118
|
+
* const mappedArray = map(array, square)
|
|
119
|
+
* const mappedObject = map(object, square)
|
|
120
|
+
*
|
|
121
|
+
* console.log(mappedArray)
|
|
122
|
+
* console.log(mappedObject)
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
112
125
|
* The following data types are considered to be functors:
|
|
113
126
|
* * `array`
|
|
114
127
|
* * `set`
|
|
@@ -160,36 +173,23 @@ const _map = function (value, f) {
|
|
|
160
173
|
* mapper(item any, key string, functor Object) -> mappedItem Promise|any
|
|
161
174
|
* ```
|
|
162
175
|
*
|
|
163
|
-
* ```javascript [playground]
|
|
164
|
-
* const square = number => number ** 2
|
|
165
|
-
*
|
|
166
|
-
* const array = [1, 2, 3, 4, 5]
|
|
167
|
-
* const object = { a: 1, b: 2, c: 3 }
|
|
168
|
-
*
|
|
169
|
-
* const mappedArray = map(array, square)
|
|
170
|
-
* const mappedObject = map(object, square)
|
|
171
|
-
*
|
|
172
|
-
* console.log(mappedArray)
|
|
173
|
-
* console.log(mappedObject)
|
|
174
|
-
* ```
|
|
175
|
-
*
|
|
176
176
|
* If the functor is an object with a `.map` method, the mapper function signature is defined externally.
|
|
177
177
|
*
|
|
178
|
-
* If the mapper function is asynchronous, it is executed concurrently.
|
|
179
|
-
*
|
|
180
178
|
* If the functor is a generator, the mapper function must be synchronous.
|
|
181
179
|
*
|
|
180
|
+
* If the mapper function is asynchronous, it is executed concurrently.
|
|
181
|
+
*
|
|
182
182
|
* ```javascript [playground]
|
|
183
183
|
* const asyncSquare = async number => number ** 2
|
|
184
184
|
*
|
|
185
185
|
* const array = [1, 2, 3, 4, 5]
|
|
186
186
|
*
|
|
187
|
-
* const
|
|
187
|
+
* const result = await map(array, asyncSquare)
|
|
188
188
|
*
|
|
189
|
-
*
|
|
189
|
+
* console.log(result)
|
|
190
190
|
* ```
|
|
191
191
|
*
|
|
192
|
-
* `map`
|
|
192
|
+
* `map` iterates over just the values of objects and maps.
|
|
193
193
|
*
|
|
194
194
|
* ```javascript [playground]
|
|
195
195
|
* const square = number => number ** 2
|
|
@@ -298,6 +298,19 @@ const _mapEntries = (value, f) => {
|
|
|
298
298
|
* @description
|
|
299
299
|
* [map](/docs/map) that applies the mapper function to the entries of a functor as opposed to the values.
|
|
300
300
|
*
|
|
301
|
+
* ```javascript [playground]
|
|
302
|
+
* const upperCaseKeysAndSquareValues =
|
|
303
|
+
* map.entries(([key, value]) => [key.toUpperCase(), value ** 2])
|
|
304
|
+
*
|
|
305
|
+
* const object = { a: 1, b: 2, c: 3 }
|
|
306
|
+
*
|
|
307
|
+
* console.log(upperCaseKeysAndSquareValues(object))
|
|
308
|
+
*
|
|
309
|
+
* const m = new Map([['a', 1], ['b', 2], ['c', 3]])
|
|
310
|
+
*
|
|
311
|
+
* console.log(upperCaseKeysAndSquareValues(m))
|
|
312
|
+
* ```
|
|
313
|
+
*
|
|
301
314
|
* The following data types are considered to be functors with entries:
|
|
302
315
|
* * `map`
|
|
303
316
|
* * `object`
|
|
@@ -316,19 +329,6 @@ const _mapEntries = (value, f) => {
|
|
|
316
329
|
* mappedEntry Promise|[mappedKey string, mappedValue any]
|
|
317
330
|
* ```
|
|
318
331
|
*
|
|
319
|
-
* ```javascript [playground]
|
|
320
|
-
* const upperCaseKeysAndSquareValues =
|
|
321
|
-
* map.entries(([key, value]) => [key.toUpperCase(), value ** 2])
|
|
322
|
-
*
|
|
323
|
-
* const object = { a: 1, b: 2, c: 3 }
|
|
324
|
-
*
|
|
325
|
-
* console.log(upperCaseKeysAndSquareValues(object))
|
|
326
|
-
*
|
|
327
|
-
* const m = new Map([['a', 1], ['b', 2], ['c', 3]])
|
|
328
|
-
*
|
|
329
|
-
* console.log(upperCaseKeysAndSquareValues(m))
|
|
330
|
-
* ```
|
|
331
|
-
*
|
|
332
332
|
* If the functor with entries is a promise, it is resolved for its value before further execution for the eager interface only.
|
|
333
333
|
*
|
|
334
334
|
* ```javascript [playground]
|
|
@@ -552,10 +552,7 @@ const _mapPool = function (f, concurrency, mapper) {
|
|
|
552
552
|
* return value
|
|
553
553
|
* }
|
|
554
554
|
*
|
|
555
|
-
* map.pool(2, pipe(
|
|
556
|
-
* delayedIdentity,
|
|
557
|
-
* console.log,
|
|
558
|
-
* ]))(ids)
|
|
555
|
+
* map.pool(ids, 2, pipe(delayedIdentity, console.log))
|
|
559
556
|
* ```
|
|
560
557
|
*
|
|
561
558
|
* If the functor is a promise, it is resolved for its value before further execution for the eager interface only.
|
package/not.js
CHANGED
|
@@ -19,36 +19,31 @@ const _not = function (args, predicate) {
|
|
|
19
19
|
*
|
|
20
20
|
* @synopsis
|
|
21
21
|
* ```coffeescript [specscript]
|
|
22
|
-
*
|
|
23
|
-
* argsOrPromises Array<Promise|any>
|
|
22
|
+
* type SyncOrAsyncPredicate = (...arguments)=>Promise|boolean
|
|
24
23
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* predicate SyncOrAsyncPredicate
|
|
28
|
-
*
|
|
29
|
-
* not(value Promise|boolean|any) -> negated Promise|boolean
|
|
30
|
-
* not(...argsOrPromises, predicate) -> negated Promise|boolean
|
|
31
|
-
* not(predicate)(...args) -> negated Promise|boolean
|
|
24
|
+
* not(value Promise|boolean|any) -> negatedResult Promise|boolean
|
|
25
|
+
* not(...arguments, predicate SyncOrAsyncPredicate) -> negatedResult Promise|boolean
|
|
26
|
+
* not(predicate SyncOrAsyncPredicate)(...arguments) -> negatedResult Promise|boolean
|
|
32
27
|
* ```
|
|
33
28
|
*
|
|
34
29
|
* @description
|
|
35
|
-
*
|
|
30
|
+
* Logical operator. Negates a predicate or value.
|
|
36
31
|
*
|
|
37
32
|
* ```javascript [playground]
|
|
38
|
-
* const
|
|
33
|
+
* const object = { a: 1 }
|
|
39
34
|
*
|
|
40
|
-
* console.log(not('a' in
|
|
41
|
-
* console.log(not('b' in
|
|
35
|
+
* console.log(not('a' in object))
|
|
36
|
+
* console.log(not('b' in object))
|
|
42
37
|
* ```
|
|
43
38
|
*
|
|
44
|
-
* If provided a predicate function, `not` returns a logically inverted predicate
|
|
39
|
+
* If provided a predicate function, `not` returns a logically inverted predicate.
|
|
45
40
|
*
|
|
46
41
|
* ```javascript [playground]
|
|
47
42
|
* const isOdd = number => number % 2 == 1
|
|
48
43
|
*
|
|
49
44
|
* const isNotOdd = not(isOdd)
|
|
50
45
|
*
|
|
51
|
-
* console.log(isNotOdd(3))
|
|
46
|
+
* console.log(isNotOdd(3))
|
|
52
47
|
* ```
|
|
53
48
|
*
|
|
54
49
|
* `not` negates the resolved value of a promise.
|
|
@@ -56,10 +51,10 @@ const _not = function (args, predicate) {
|
|
|
56
51
|
* ```javascript [playground]
|
|
57
52
|
* const promise = Promise.resolve(false)
|
|
58
53
|
*
|
|
59
|
-
* not(promise).then(console.log)
|
|
54
|
+
* not(promise).then(console.log)
|
|
60
55
|
* ```
|
|
61
56
|
*
|
|
62
|
-
* Any promises
|
|
57
|
+
* Any promises in `arguments` are resolved for their values before further execution for the eager interface only.
|
|
63
58
|
*
|
|
64
59
|
* ```javascript [playground]
|
|
65
60
|
* const isOdd = number => number % 2 == 1
|