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/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
|
|
17
|
-
* rightResolver
|
|
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 Resolver = (...arguments)=>Promise|any
|
|
10
|
+
*
|
|
11
|
+
* lte(leftValue Promise|any, rightValue Promise|any) -> Promise|boolean
|
|
12
|
+
* lte(...arguments, leftResolver Resolver, rightValue Promise|any) -> Promise|boolean
|
|
13
|
+
* lte(...arguments, leftValue Promise|any, rightResolver Resolver) -> Promise|boolean
|
|
14
|
+
* lte(...arguments, leftResolver Resolver, rightResolver Resolver) -> Promise|boolean
|
|
15
|
+
*
|
|
16
|
+
* lte(leftResolver Resolver, rightValue Promise|any)(...arguments) -> Promise|boolean
|
|
17
|
+
* lte(leftValue Promise|any, rightResolver Resolver)(...arguments) -> Promise|boolean
|
|
18
|
+
* lte(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 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
|
@@ -96,19 +96,32 @@ const _map = function (value, f) {
|
|
|
96
96
|
* ```coffeescript [specscript]
|
|
97
97
|
* type Functor = Array|Set|Map|Generator|AsyncGenerator|{ map: function }|Object
|
|
98
98
|
*
|
|
99
|
-
* type
|
|
99
|
+
* type Mapper = (
|
|
100
100
|
* item any,
|
|
101
101
|
* indexOrKey number|string|any,
|
|
102
102
|
* functor Functor
|
|
103
103
|
* )=>(mappedItem Promise|any)
|
|
104
104
|
*
|
|
105
|
-
* map(functor Promise|Functor, mapper
|
|
106
|
-
* map(mapper
|
|
105
|
+
* map(functor Promise|Functor, mapper Mapper) -> mappedFunctor Promise|Functor
|
|
106
|
+
* map(mapper Mapper)(functor Functor) -> mappedFunctor Promise|Functor
|
|
107
107
|
* ```
|
|
108
108
|
*
|
|
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]
|
|
@@ -369,13 +369,13 @@ map.entries = function mapEntries(arg0, arg1) {
|
|
|
369
369
|
* ```coffeescript [specscript]
|
|
370
370
|
* type Functor = Array|Object|Set|Map
|
|
371
371
|
*
|
|
372
|
-
* type
|
|
372
|
+
* type Mapper = (
|
|
373
373
|
* value any,
|
|
374
374
|
* indexOrKey number|string|any,
|
|
375
375
|
* f Functor
|
|
376
376
|
* )=>(mappedItem Promise|any)
|
|
377
377
|
*
|
|
378
|
-
* _mapSeries(f Functor, f
|
|
378
|
+
* _mapSeries(f Functor, f Mapper) -> result Promise|Functor
|
|
379
379
|
* ```
|
|
380
380
|
*/
|
|
381
381
|
const _mapSeries = function (functor, f) {
|
|
@@ -417,7 +417,7 @@ const _mapSeries = function (functor, f) {
|
|
|
417
417
|
* ```coffeescript [specscript]
|
|
418
418
|
* type Functor = Array|Set|Map|Generator|AsyncGenerator|{ map: function }|Object
|
|
419
419
|
*
|
|
420
|
-
* type
|
|
420
|
+
* type Mapper = (
|
|
421
421
|
* value any,
|
|
422
422
|
* indexOrKey number|string|any,
|
|
423
423
|
* functor Functor,
|
|
@@ -425,11 +425,11 @@ const _mapSeries = function (functor, f) {
|
|
|
425
425
|
*
|
|
426
426
|
* map.series(
|
|
427
427
|
* functor Promise|Functor,
|
|
428
|
-
* mapper
|
|
428
|
+
* mapper Mapper
|
|
429
429
|
* ) -> mappedFunctor Promise|Functor
|
|
430
430
|
*
|
|
431
431
|
* map.series(
|
|
432
|
-
* mapper
|
|
432
|
+
* mapper Mapper
|
|
433
433
|
* )(functor Functor) -> mappedFunctor Promise|Functor
|
|
434
434
|
* ```
|
|
435
435
|
*
|
|
@@ -521,7 +521,7 @@ const _mapPool = function (f, concurrency, mapper) {
|
|
|
521
521
|
* ```coffeescript [specscript]
|
|
522
522
|
* type MapPoolFunctor = Array|Object|Set|Map
|
|
523
523
|
*
|
|
524
|
-
* type
|
|
524
|
+
* type Mapper = (
|
|
525
525
|
* item any,
|
|
526
526
|
* indexOrKey number|string|any,
|
|
527
527
|
* functor Functor
|
|
@@ -530,12 +530,12 @@ const _mapPool = function (f, concurrency, mapper) {
|
|
|
530
530
|
* map.pool(
|
|
531
531
|
* functor MapPoolFunctor,
|
|
532
532
|
* concurrency number,
|
|
533
|
-
* mapper
|
|
533
|
+
* mapper Mapper
|
|
534
534
|
* ) -> result Promise|Array
|
|
535
535
|
*
|
|
536
536
|
* map.pool(
|
|
537
537
|
* concurrency number,
|
|
538
|
-
* mapper
|
|
538
|
+
* mapper Mapper
|
|
539
539
|
* )(functor MapPoolFunctor) -> result Promise|Array
|
|
540
540
|
* ```
|
|
541
541
|
*
|
|
@@ -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 Predicate = (...arguments)=>Promise|boolean
|
|
24
23
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* predicate
|
|
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 Predicate) -> negatedResult Promise|boolean
|
|
26
|
+
* not(predicate Predicate)(...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
|
package/or.js
CHANGED
|
@@ -97,37 +97,28 @@ const areAnyPredicatesTruthy = function (args, predicates) {
|
|
|
97
97
|
*
|
|
98
98
|
* @synopsis
|
|
99
99
|
* ```coffeescript [specscript]
|
|
100
|
-
*
|
|
101
|
-
* argsOrPromises Array<Promise|any>
|
|
100
|
+
* type Predicate = (...arguments)=>Promise|boolean|any
|
|
102
101
|
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* predicatesOrValues Array<
|
|
106
|
-
*
|
|
107
|
-
* or(values Array<boolean|any>) -> result boolean
|
|
108
|
-
* or(...argsOrPromises, predicatesOrValues) -> Promise|boolean
|
|
109
|
-
* or(predicatesOrValues)(...args) -> Promise|boolean
|
|
102
|
+
* or(values Array<boolean|any>) -> testResult boolean
|
|
103
|
+
* or(...arguments, predicatesOrValues Array<Predicate|boolean|any>) -> testResult Promise|boolean
|
|
104
|
+
* or(predicatesOrValues Array<Predicate|boolean|any>)(...arguments) -> testResult Promise|boolean
|
|
110
105
|
* ```
|
|
111
106
|
*
|
|
112
107
|
* @description
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* If provided an array of boolean values, `or` returns true if any boolean values are truthy.
|
|
108
|
+
* Logical operator. Tests an array of predicate functions, promises, or values, returning true if any predicate tests true or any value is truthy.
|
|
116
109
|
*
|
|
117
110
|
* ```javascript [playground]
|
|
118
|
-
* const
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* const condition = or([
|
|
123
|
-
* oneIsLessThanZero,
|
|
124
|
-
* oneIsGreaterThanTwo,
|
|
125
|
-
* threeIsNotEqualToThree
|
|
111
|
+
* const isOddOrGreaterThan3 = or([
|
|
112
|
+
* n => n % 2 == 1,
|
|
113
|
+
* n => n > 3,
|
|
126
114
|
* ])
|
|
127
|
-
*
|
|
115
|
+
*
|
|
116
|
+
* console.log(isOddOrGreaterThan3(2))
|
|
117
|
+
* console.log(isOddOrGreaterThan3(3))
|
|
118
|
+
* console.log(isOddOrGreaterThan3(6))
|
|
128
119
|
* ```
|
|
129
120
|
*
|
|
130
|
-
* If
|
|
121
|
+
* If the array contains predicate functions, `or` returns an aggregate predicate function that returns true if some predicate function test true. If any predicate function is asynchronous, the aggregate predicate function is asynchronous.
|
|
131
122
|
*
|
|
132
123
|
* ```javascript [playground]
|
|
133
124
|
* const isOdd = number => number % 2 == 1
|
|
@@ -141,17 +132,34 @@ const areAnyPredicatesTruthy = function (args, predicates) {
|
|
|
141
132
|
* asyncIsGreaterThan3,
|
|
142
133
|
* ])
|
|
143
134
|
*
|
|
144
|
-
* const
|
|
145
|
-
*
|
|
135
|
+
* const booleanResult = await aggregatePredicate(2)
|
|
136
|
+
*
|
|
137
|
+
* console.log(booleanResult)
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* If the array contains only values, `or` returns a boolean value.
|
|
141
|
+
*
|
|
142
|
+
* ```javascript [playground]
|
|
143
|
+
* const oneIsLessThanZero = 1 < 0
|
|
144
|
+
* const oneIsGreaterThanTwo = 1 > 2
|
|
145
|
+
* const threeIsNotEqualToThree = 3 !== 3
|
|
146
|
+
*
|
|
147
|
+
* const booleanResult = or([
|
|
148
|
+
* oneIsLessThanZero,
|
|
149
|
+
* oneIsGreaterThanTwo,
|
|
150
|
+
* threeIsNotEqualToThree
|
|
151
|
+
* ])
|
|
152
|
+
*
|
|
153
|
+
* console.log(booleanResult)
|
|
146
154
|
* ```
|
|
147
155
|
*
|
|
148
|
-
* Any promises
|
|
156
|
+
* Any promises in the array are resolved for their values before further execution.
|
|
149
157
|
*
|
|
150
158
|
* ```javascript [playground]
|
|
151
159
|
* or(Promise.resolve('aaa'), [
|
|
152
160
|
* s => s.startsWith('b'),
|
|
153
161
|
* s => s.endsWith('a'),
|
|
154
|
-
* ]).then(console.log)
|
|
162
|
+
* ]).then(console.log)
|
|
155
163
|
* ```
|
|
156
164
|
*
|
|
157
165
|
* See also:
|
package/package.json
CHANGED
package/pipe.js
CHANGED
|
@@ -10,14 +10,14 @@ const __ = require('./_internal/placeholder')
|
|
|
10
10
|
*
|
|
11
11
|
* @synopsis
|
|
12
12
|
* ```coffeescript [specscript]
|
|
13
|
-
* type
|
|
14
|
-
* type
|
|
13
|
+
* type Function = (...arguments)=>Promise|any
|
|
14
|
+
* type UnaryFunction = any=>Promise|any
|
|
15
15
|
*
|
|
16
|
-
* funcs [
|
|
16
|
+
* funcs [Function, ...Array<UnaryFunction>]
|
|
17
17
|
*
|
|
18
|
-
* pipe(funcs)(...arguments) -> Promise|any
|
|
19
|
-
* pipe(...arguments, funcs) -> Promise|any
|
|
20
|
-
* pipe(...funcs)(...arguments) -> Promise|any
|
|
18
|
+
* pipe(funcs)(...arguments) -> result Promise|any
|
|
19
|
+
* pipe(...arguments, funcs) -> result Promise|any
|
|
20
|
+
* pipe(...funcs)(...arguments) -> result Promise|any
|
|
21
21
|
* ```
|
|
22
22
|
*
|
|
23
23
|
* @description
|