rubico 2.7.0 → 2.7.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/_internal/mapMapSeries.js +1 -0
- package/_internal/objectMapSeries.js +1 -0
- package/_internal/setMapSeries.js +1 -0
- package/compose.js +1 -1
- 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 +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 +8 -4
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +8 -4
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +8 -4
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +8 -4
- 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 +8 -4
- package/dist/thunkify.es.min.js +2 -2
- package/dist/thunkify.js +8 -4
- package/dist/thunkify.min.js +2 -2
- package/dist/thunkify.mjs +8 -4
- 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 +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/es.js +8 -4
- package/index.js +8 -4
- package/package.json +1 -1
- package/pipe.js +2 -2
- package/tap.js +4 -0
- package/thunkify.js +22 -5
package/dist/x/maxBy.js
CHANGED
package/dist/x/maxBy.min.js
CHANGED
package/dist/x/maxBy.mjs
CHANGED
package/dist/x/noop.es.js
CHANGED
package/dist/x/noop.es.min.js
CHANGED
package/dist/x/noop.js
CHANGED
package/dist/x/noop.min.js
CHANGED
package/dist/x/noop.mjs
CHANGED
package/dist/x/pluck.es.js
CHANGED
package/dist/x/pluck.es.min.js
CHANGED
package/dist/x/pluck.js
CHANGED
package/dist/x/pluck.min.js
CHANGED
package/dist/x/pluck.mjs
CHANGED
package/dist/x/prepend.es.js
CHANGED
package/dist/x/prepend.es.min.js
CHANGED
package/dist/x/prepend.js
CHANGED
package/dist/x/prepend.min.js
CHANGED
package/dist/x/prepend.mjs
CHANGED
package/dist/x/size.es.js
CHANGED
package/dist/x/size.es.min.js
CHANGED
package/dist/x/size.js
CHANGED
package/dist/x/size.min.js
CHANGED
package/dist/x/size.mjs
CHANGED
package/dist/x/trace.es.js
CHANGED
package/dist/x/trace.es.min.js
CHANGED
package/dist/x/trace.js
CHANGED
package/dist/x/trace.min.js
CHANGED
package/dist/x/trace.mjs
CHANGED
package/dist/x/unionWith.es.js
CHANGED
package/dist/x/unionWith.js
CHANGED
package/dist/x/unionWith.min.js
CHANGED
package/dist/x/unionWith.mjs
CHANGED
package/dist/x/uniq.es.js
CHANGED
package/dist/x/uniq.es.min.js
CHANGED
package/dist/x/uniq.js
CHANGED
package/dist/x/uniq.min.js
CHANGED
package/dist/x/uniq.mjs
CHANGED
package/dist/x/unless.es.js
CHANGED
package/dist/x/unless.es.min.js
CHANGED
package/dist/x/unless.js
CHANGED
package/dist/x/unless.min.js
CHANGED
package/dist/x/unless.mjs
CHANGED
package/dist/x/values.es.js
CHANGED
package/dist/x/values.es.min.js
CHANGED
package/dist/x/values.js
CHANGED
package/dist/x/values.min.js
CHANGED
package/dist/x/values.mjs
CHANGED
package/dist/x/when.es.js
CHANGED
package/dist/x/when.es.min.js
CHANGED
package/dist/x/when.js
CHANGED
package/dist/x/when.min.js
CHANGED
package/dist/x/when.mjs
CHANGED
package/es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.7.
|
|
2
|
+
* rubico v2.7.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2025 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -3276,11 +3276,15 @@ const omit = function (arg0, arg1) {
|
|
|
3276
3276
|
return _omit(arg0, arg1)
|
|
3277
3277
|
}
|
|
3278
3278
|
|
|
3279
|
-
const thunkify = (func, ...args)
|
|
3279
|
+
const thunkify = function (func, ...args) {
|
|
3280
3280
|
if (areAnyValuesPromises(args)) {
|
|
3281
|
-
return promiseAll(args).then(
|
|
3281
|
+
return promiseAll(args).then(resolvedArgs => function thunk() {
|
|
3282
|
+
return func(...resolvedArgs)
|
|
3283
|
+
})
|
|
3284
|
+
}
|
|
3285
|
+
return function thunk() {
|
|
3286
|
+
return func(...args)
|
|
3282
3287
|
}
|
|
3283
|
-
return func(...args)
|
|
3284
3288
|
}
|
|
3285
3289
|
|
|
3286
3290
|
const curry = (func, ...args) => curryArity(func.length, func, args)
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.7.
|
|
2
|
+
* rubico v2.7.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2025 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -3282,11 +3282,15 @@ const omit = function (arg0, arg1) {
|
|
|
3282
3282
|
return _omit(arg0, arg1)
|
|
3283
3283
|
}
|
|
3284
3284
|
|
|
3285
|
-
const thunkify = (func, ...args)
|
|
3285
|
+
const thunkify = function (func, ...args) {
|
|
3286
3286
|
if (areAnyValuesPromises(args)) {
|
|
3287
|
-
return promiseAll(args).then(
|
|
3287
|
+
return promiseAll(args).then(resolvedArgs => function thunk() {
|
|
3288
|
+
return func(...resolvedArgs)
|
|
3289
|
+
})
|
|
3290
|
+
}
|
|
3291
|
+
return function thunk() {
|
|
3292
|
+
return func(...args)
|
|
3288
3293
|
}
|
|
3289
|
-
return func(...args)
|
|
3290
3294
|
}
|
|
3291
3295
|
|
|
3292
3296
|
const curry = (func, ...args) => curryArity(func.length, func, args)
|
package/package.json
CHANGED
package/pipe.js
CHANGED
|
@@ -42,7 +42,7 @@ const __ = require('./_internal/placeholder')
|
|
|
42
42
|
* asyncAdd123(5).then(console.log) // 11
|
|
43
43
|
* ```
|
|
44
44
|
*
|
|
45
|
-
* `pipe` supports a mathematical API
|
|
45
|
+
* `pipe` supports a mathematical API.
|
|
46
46
|
*
|
|
47
47
|
* ```javascript [playground]
|
|
48
48
|
* const appendB = x => x + 'b'
|
|
@@ -50,7 +50,7 @@ const __ = require('./_internal/placeholder')
|
|
|
50
50
|
*
|
|
51
51
|
* const appendBC = pipe(appendB, appendC)
|
|
52
52
|
*
|
|
53
|
-
* console.log(appendBC(a)) // 'abc'
|
|
53
|
+
* console.log(appendBC('a')) // 'abc'
|
|
54
54
|
* ```
|
|
55
55
|
*
|
|
56
56
|
* When passed any amount of arguments before the array of functions, `pipe` executes eagerly; the array of functions is immediately invoked with the supplied arguments.
|
package/tap.js
CHANGED
|
@@ -22,6 +22,8 @@ const _tap = function (args, f) {
|
|
|
22
22
|
*
|
|
23
23
|
* @synopsis
|
|
24
24
|
* ```coffeescript [specscript]
|
|
25
|
+
* args Array<any>
|
|
26
|
+
*
|
|
25
27
|
* tap(...args, f function) -> Promise|args[0]
|
|
26
28
|
* tap(f function)(...args) -> Promise|args[0]
|
|
27
29
|
* ```
|
|
@@ -101,6 +103,8 @@ const _tapIf = function (predicate, f, args) {
|
|
|
101
103
|
*
|
|
102
104
|
* @synopsis
|
|
103
105
|
* ```coffeescript [specscript]
|
|
106
|
+
* args Array<any>
|
|
107
|
+
*
|
|
104
108
|
* tap.if(...args, predicate function, f function) -> Promise|args[0]
|
|
105
109
|
* tap.if(predicate function, f function)(...args) -> Promise|args[0]
|
|
106
110
|
* ```
|
package/thunkify.js
CHANGED
|
@@ -9,11 +9,13 @@ const funcApply = require('./_internal/funcApply')
|
|
|
9
9
|
*
|
|
10
10
|
* @synopsis
|
|
11
11
|
* ```coffeescript [specscript]
|
|
12
|
-
*
|
|
12
|
+
* argsWithPromises Array<Promise|any>
|
|
13
|
+
*
|
|
14
|
+
* thunkify(func function, ...argsWithPromises) -> thunk function
|
|
13
15
|
* ```
|
|
14
16
|
*
|
|
15
17
|
* @description
|
|
16
|
-
* Create a thunk function from
|
|
18
|
+
* Create a thunk function from an original function and any number of arguments. A thunk function takes no arguments, and when called, executes the original function with the previously provided arguments. The original function is said to be "thunkified".
|
|
17
19
|
*
|
|
18
20
|
* ```javascript [playground]
|
|
19
21
|
* const add = (a, b) => a + b
|
|
@@ -23,6 +25,17 @@ const funcApply = require('./_internal/funcApply')
|
|
|
23
25
|
* console.log(thunkAdd12()) // 3
|
|
24
26
|
* ```
|
|
25
27
|
*
|
|
28
|
+
* If any promises are passed as arguments, they are resolved before being applied to the original function, and `thunkify` returns a promise of the thunk function.
|
|
29
|
+
*
|
|
30
|
+
* ```javascript [playground]
|
|
31
|
+
* const add = (a, b) => a + b
|
|
32
|
+
*
|
|
33
|
+
* const promise = thunkify(add, Promise.resolve(1), 2)
|
|
34
|
+
* const thunkAdd12 = await promise
|
|
35
|
+
*
|
|
36
|
+
* console.log(thunkAdd12()) // 3
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
26
39
|
* See also:
|
|
27
40
|
* * [eq](/docs/eq)
|
|
28
41
|
* * [always](/docs/always)
|
|
@@ -31,11 +44,15 @@ const funcApply = require('./_internal/funcApply')
|
|
|
31
44
|
* * [Transducer.map](/docs/Transducer.map)
|
|
32
45
|
*
|
|
33
46
|
*/
|
|
34
|
-
const thunkify = (func, ...args)
|
|
47
|
+
const thunkify = function (func, ...args) {
|
|
35
48
|
if (areAnyValuesPromises(args)) {
|
|
36
|
-
return promiseAll(args).then(
|
|
49
|
+
return promiseAll(args).then(resolvedArgs => function thunk() {
|
|
50
|
+
return func(...resolvedArgs)
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
return function thunk() {
|
|
54
|
+
return func(...args)
|
|
37
55
|
}
|
|
38
|
-
return func(...args)
|
|
39
56
|
}
|
|
40
57
|
|
|
41
58
|
module.exports = thunkify
|