rubico 2.5.0 → 2.6.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/_internal/arrayMapPool.js +11 -19
- package/_internal/mapMapPool.js +80 -0
- package/_internal/objectMapPool.js +77 -0
- package/_internal/objectMapSeries.js +1 -0
- package/_internal/setMapPool.js +79 -0
- package/_internal/stringMapPool.js +22 -0
- package/all.js +11 -1
- package/and.js +9 -0
- package/assign.js +14 -1
- package/compose.js +8 -0
- 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 +1 -1
- package/dist/filter.es.min.js +1 -1
- package/dist/filter.js +1 -1
- package/dist/filter.min.js +1 -1
- package/dist/filter.mjs +1 -1
- 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 +3 -2
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +3 -2
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +3 -2
- 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 +221 -44
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +221 -44
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +221 -44
- 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 +197 -16
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +197 -16
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +197 -16
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +197 -16
- 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 +38 -1
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +38 -1
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +38 -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 +1 -1
- package/dist/x/filterOut.es.min.js +1 -1
- package/dist/x/filterOut.js +1 -1
- package/dist/x/filterOut.min.js +1 -1
- package/dist/x/filterOut.mjs +1 -1
- 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 +221 -44
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +221 -44
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +221 -44
- 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 +38 -1
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +38 -1
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +38 -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 +6 -0
- package/es.js +197 -16
- package/every.js +6 -0
- package/filter.js +9 -0
- package/flatMap.js +7 -0
- package/forEach.js +20 -1
- package/get.js +6 -0
- package/gt.js +6 -0
- package/gte.js +6 -0
- package/index.js +197 -16
- package/lt.js +6 -0
- package/lte.js +6 -0
- package/map.js +118 -45
- package/not.js +8 -0
- package/omit.js +7 -0
- package/or.js +9 -0
- package/package.json +1 -1
- package/pick.js +7 -0
- package/pipe.js +8 -0
- package/reduce.js +8 -0
- package/set.js +6 -0
- package/some.js +6 -0
- package/switchCase.js +12 -0
- package/tap.js +11 -0
- package/transform.js +38 -10
- package/tryCatch.js +14 -0
package/pipe.js
CHANGED
|
@@ -46,6 +46,14 @@ const __ = require('./_internal/placeholder')
|
|
|
46
46
|
* ])
|
|
47
47
|
* ```
|
|
48
48
|
*
|
|
49
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
50
|
+
*
|
|
51
|
+
* ```javascript [playground]
|
|
52
|
+
* pipe(Promise.resolve(1), 2, Promise.resolve(3), [
|
|
53
|
+
* console.log, // [1, 2, 3]
|
|
54
|
+
* ])
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
49
57
|
* @execution series
|
|
50
58
|
*
|
|
51
59
|
* @transducing
|
package/reduce.js
CHANGED
|
@@ -172,6 +172,14 @@ const _reduce = function (collection, reducer, initialValue) {
|
|
|
172
172
|
* reduce(asyncAdd)(asyncGenerate12345()).then(console.log) // 15
|
|
173
173
|
* ```
|
|
174
174
|
*
|
|
175
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
176
|
+
*
|
|
177
|
+
* ```javascript [playground]
|
|
178
|
+
* const add = (a, b) => a + b
|
|
179
|
+
*
|
|
180
|
+
* reduce(Promise.resolve([1, 2, 3, 4, 5]), add, 0).then(console.log) // 15
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
175
183
|
* @execution series
|
|
176
184
|
*
|
|
177
185
|
* @transducing
|
package/set.js
CHANGED
|
@@ -90,6 +90,12 @@ const _set = function (obj, path, value) {
|
|
|
90
90
|
* ])
|
|
91
91
|
* ```
|
|
92
92
|
*
|
|
93
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
94
|
+
*
|
|
95
|
+
* ```javascript [playground]
|
|
96
|
+
* set(Promise.resolve({}), 'a', 1).then(console.log) // { a: 1 }
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
93
99
|
* @since 1.7.0
|
|
94
100
|
*/
|
|
95
101
|
|
package/some.js
CHANGED
|
@@ -92,6 +92,12 @@ const _some = function (collection, predicate) {
|
|
|
92
92
|
* ])
|
|
93
93
|
* ```
|
|
94
94
|
*
|
|
95
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
96
|
+
*
|
|
97
|
+
* ```javascript [playground]
|
|
98
|
+
* some(Promise.resolve([1, 2, 3, 4, 5]), n => n > 6).then(console.log) // false
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
95
101
|
* @execution concurrent
|
|
96
102
|
*
|
|
97
103
|
* @muxing
|
package/switchCase.js
CHANGED
|
@@ -79,6 +79,18 @@ const curryArgs3 = require('./_internal/curryArgs3')
|
|
|
79
79
|
* console.log(myDrink) // Beer
|
|
80
80
|
* ```
|
|
81
81
|
*
|
|
82
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
83
|
+
*
|
|
84
|
+
* ```javascript [playground]
|
|
85
|
+
* switchCase(Promise.resolve(1), 2, Promise.resolve(3), [
|
|
86
|
+
* function doValuesAddUpTo6(a, b, c) {
|
|
87
|
+
* return a + b + c == 6
|
|
88
|
+
* },
|
|
89
|
+
* (a, b, c) => console.log(`${a} + ${b} + ${c} == 6`),
|
|
90
|
+
* (a, b, c) => console.log(`${a} + ${b} + ${c} != 6`),
|
|
91
|
+
* ]) // 1 + 2 + 3 == 6
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
82
94
|
* @execution series
|
|
83
95
|
*/
|
|
84
96
|
const switchCase = (...args) => {
|
package/tap.js
CHANGED
|
@@ -2,9 +2,12 @@ const isPromise = require('./_internal/isPromise')
|
|
|
2
2
|
const always = require('./_internal/always')
|
|
3
3
|
const thunkifyArgs = require('./_internal/thunkifyArgs')
|
|
4
4
|
const thunkConditional = require('./_internal/thunkConditional')
|
|
5
|
+
const curry2 = require('./_internal/curry2')
|
|
5
6
|
const curry3 = require('./_internal/curry3')
|
|
6
7
|
const curryArgs2 = require('./_internal/curryArgs2')
|
|
7
8
|
const __ = require('./_internal/placeholder')
|
|
9
|
+
const areAnyValuesPromises = require('./_internal/areAnyValuesPromises')
|
|
10
|
+
const promiseAll = require('./_internal/promiseAll')
|
|
8
11
|
|
|
9
12
|
// _tap(args Array, func function) -> Promise|any
|
|
10
13
|
const _tap = function (args, func) {
|
|
@@ -36,12 +39,20 @@ const _tap = function (args, func) {
|
|
|
36
39
|
* // 'foobar'
|
|
37
40
|
* // 'foobarbaz'
|
|
38
41
|
* ```
|
|
42
|
+
*
|
|
43
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
44
|
+
* ```javascript [playground]
|
|
45
|
+
* tap(Promise.resolve(1), Promise.resolve(2), 3, console.log) // 1, 2, 3
|
|
46
|
+
* ```
|
|
39
47
|
*/
|
|
40
48
|
const tap = function (...args) {
|
|
41
49
|
const func = args.pop()
|
|
42
50
|
if (args.length == 0) {
|
|
43
51
|
return curryArgs2(_tap, __, func)
|
|
44
52
|
}
|
|
53
|
+
if (areAnyValuesPromises(args)) {
|
|
54
|
+
return promiseAll(args).then(curry2(_tap, __, func))
|
|
55
|
+
}
|
|
45
56
|
return _tap(args, func)
|
|
46
57
|
}
|
|
47
58
|
|
package/transform.js
CHANGED
|
@@ -115,10 +115,9 @@ const _transform = function (collection, transducer, initialValue) {
|
|
|
115
115
|
*
|
|
116
116
|
* `transform` an async generator into `process.stdout`, a Node.js writable stream that implements `.write`.
|
|
117
117
|
*
|
|
118
|
-
* ```javascript [
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* const { pipe, map, transform } = require('rubico')
|
|
118
|
+
* ```javascript [playground]
|
|
119
|
+
* const { pipe, compose, transform } = rubico
|
|
120
|
+
* // global Transducer
|
|
122
121
|
*
|
|
123
122
|
* const square = number => number ** 2
|
|
124
123
|
*
|
|
@@ -126,17 +125,46 @@ const _transform = function (collection, transducer, initialValue) {
|
|
|
126
125
|
*
|
|
127
126
|
* const randomInt = () => Math.ceil(Math.random() * 100)
|
|
128
127
|
*
|
|
129
|
-
* const streamRandomInts = async function* () {
|
|
130
|
-
*
|
|
128
|
+
* const streamRandomInts = async function* (n) {
|
|
129
|
+
* let ct = 0
|
|
130
|
+
* while (ct < n) {
|
|
131
|
+
* ct += 1
|
|
131
132
|
* yield randomInt()
|
|
132
133
|
* }
|
|
133
134
|
* }
|
|
134
135
|
*
|
|
136
|
+
* const Stdout = {
|
|
137
|
+
* concat(...args) {
|
|
138
|
+
* console.log(...args)
|
|
139
|
+
* return this
|
|
140
|
+
* },
|
|
141
|
+
* }
|
|
142
|
+
*
|
|
143
|
+
* transform(
|
|
144
|
+
* streamRandomInts(10),
|
|
145
|
+
* compose([
|
|
146
|
+
* Transducer.map(square),
|
|
147
|
+
* Transducer.map(toString),
|
|
148
|
+
* ]),
|
|
149
|
+
* Stdout,
|
|
150
|
+
* )
|
|
151
|
+
* // 8281
|
|
152
|
+
* // 8836
|
|
153
|
+
* // 1156
|
|
154
|
+
* // 8649
|
|
155
|
+
* // 5625
|
|
156
|
+
* // 2500
|
|
157
|
+
* // ...
|
|
158
|
+
* ```
|
|
159
|
+
*
|
|
160
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
161
|
+
*
|
|
162
|
+
* ```javascript [playground]
|
|
135
163
|
* transform(
|
|
136
|
-
*
|
|
137
|
-
* Transducer.map(
|
|
138
|
-
*
|
|
139
|
-
* ) //
|
|
164
|
+
* Promise.resolve([1, 2, 3, 4, 5]),
|
|
165
|
+
* Transducer.map(n => n ** 2),
|
|
166
|
+
* [],
|
|
167
|
+
* ).then(console.log) // [1, 4, 9, 16, 25]
|
|
140
168
|
* ```
|
|
141
169
|
*
|
|
142
170
|
* @execution series
|
package/tryCatch.js
CHANGED
|
@@ -61,6 +61,20 @@ const _tryCatch = function (tryer, catcher, args) {
|
|
|
61
61
|
* console.error(error.message) // the sum is 6
|
|
62
62
|
* })
|
|
63
63
|
* ```
|
|
64
|
+
*
|
|
65
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
66
|
+
*
|
|
67
|
+
* ```javascript [playground]
|
|
68
|
+
* tryCatch(Promise.resolve(1), 2, Promise.resolve(3), (a, b, c) => {
|
|
69
|
+
* const sum = a + b + c
|
|
70
|
+
* if (sum > 5) {
|
|
71
|
+
* throw new Error('limit exceeded')
|
|
72
|
+
* }
|
|
73
|
+
* console.log('sum:', sum)
|
|
74
|
+
* }, (error, a, b, c) => {
|
|
75
|
+
* console.error(`${a} + ${b} + ${c}: ${error.message}`)
|
|
76
|
+
* })
|
|
77
|
+
* ```
|
|
64
78
|
*/
|
|
65
79
|
|
|
66
80
|
const tryCatch = function (...args) {
|