rubico 1.9.7 → 2.0.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/.eslintignore +5 -0
- package/.eslintrc.js +3 -2
- package/.github/workflows/nodejs.yml +1 -1
- package/AggregateReducer.js +19 -0
- package/AggregateReducer.test.js +82 -0
- package/CHANGELOG.md +22 -1
- package/Transducer.js +75 -26
- package/Transducer.test.js +117 -0
- package/_internal/ComparisonOperator.js +68 -0
- package/_internal/File.js +41 -0
- package/_internal/FlatMappingAsyncIterator.js +4 -4
- package/_internal/FlatMappingIterator.js +1 -1
- package/_internal/TimeInLoopSuite.js +138 -0
- package/_internal/areAnyValuesPromises.js +23 -0
- package/_internal/{arrayAll.js → arrayEvery.js} +4 -4
- package/_internal/arrayExtend.js +3 -2
- package/_internal/arrayFilter.js +3 -4
- package/_internal/{arrayAny.js → arraySome.js} +8 -8
- package/_internal/{asyncIteratorAll.js → asyncIteratorEvery.js} +4 -4
- package/_internal/{asyncIteratorAny.js → asyncIteratorSome.js} +4 -4
- package/_internal/curry4.test.js +25 -0
- package/_internal/curry5.test.js +29 -0
- package/_internal/curryArgs2.js +43 -0
- package/_internal/curryArgs3.test.js +21 -0
- package/_internal/curryArgs4.js +65 -0
- package/_internal/curryArgs4.test.js +25 -0
- package/_internal/equals.js +13 -0
- package/_internal/findAllFilePaths.js +22 -0
- package/_internal/funcApply.js +2 -0
- package/_internal/funcCall.js +14 -0
- package/_internal/functionArrayAll.js +26 -0
- package/_internal/functionArrayAllSeries.js +55 -0
- package/_internal/functionObjectAll.js +32 -0
- package/_internal/genericReduce.js +4 -22
- package/_internal/genericTransform.js +15 -15
- package/_internal/improvedGenericTransform.js +93 -0
- package/_internal/{iteratorAll.js → iteratorEvery.js} +4 -4
- package/_internal/{iteratorAny.js → iteratorSome.js} +6 -6
- package/_internal/leftResolverRightResolverCompare.js +19 -0
- package/_internal/leftResolverRightValueCompare.js +16 -0
- package/_internal/leftValueRightResolverCompare.js +16 -0
- package/_internal/objectReduce.js +0 -1
- package/_internal/pathResolve.js +6 -0
- package/_internal/{reducerAll.js → reducerEvery.js} +4 -4
- package/_internal/reducerFlatMap.js +4 -4
- package/_internal/reducerFlatten.js +1 -1
- package/_internal/{reducerAny.js → reducerSome.js} +4 -4
- package/_internal/timeInLoop.js +37 -0
- package/_internal/timeInLoop.test.js +18 -0
- package/_internal/timeInLoopAsync.js +35 -0
- package/_internal/timeInLoopAsync.test.js +22 -0
- package/all.js +106 -40
- package/and.js +54 -36
- package/archive/{FlatMappingIteratorCool.js → FlatMappingIterator-2020-09-28.js} +1 -1
- package/archive/_Promise-2023-05-29.js +93 -0
- package/archive/arrayMap2-2023-05-29.js +73 -0
- package/archive/benchmarks-v1.9.7/all.js +34 -0
- package/archive/benchmarks-v1.9.7/and.js +24 -0
- package/archive/benchmarks-v1.9.7/assign.js +174 -0
- package/archive/benchmarks-v1.9.7/curry.js +55 -0
- package/archive/benchmarks-v1.9.7/eq.js +25 -0
- package/archive/benchmarks-v1.9.7/filter.js +1322 -0
- package/archive/benchmarks-v1.9.7/flatMap.js +48 -0
- package/archive/benchmarks-v1.9.7/get.js +44 -0
- package/archive/benchmarks-v1.9.7/gt.js +25 -0
- package/archive/benchmarks-v1.9.7/gte.js +25 -0
- package/archive/benchmarks-v1.9.7/lt.js +25 -0
- package/archive/benchmarks-v1.9.7/lte.js +25 -0
- package/archive/benchmarks-v1.9.7/map.js +892 -0
- package/archive/benchmarks-v1.9.7/omit.js +28 -0
- package/archive/benchmarks-v1.9.7/or.js +51 -0
- package/archive/benchmarks-v1.9.7/pick.js +24 -0
- package/archive/benchmarks-v1.9.7/pipe.js +152 -0
- package/archive/benchmarks-v1.9.7/reduce.js +739 -0
- package/archive/benchmarks-v1.9.7/switchCase.js +256 -0
- package/archive/benchmarks-v1.9.7/tap.js +90 -0
- package/archive/benchmarks-v1.9.7/transform.js +218 -0
- package/archive/benchmarks-v1.9.7/tryCatch.js +108 -0
- package/assign.js +18 -8
- package/bench +65 -0
- package/benchmark-output/v1.9.7 +268 -0
- package/benchmarks/all.async.js +43 -0
- package/benchmarks/all.js +42 -33
- package/benchmarks/always.js +15 -0
- package/benchmarks/and.async.js +25 -0
- package/benchmarks/and.js +20 -19
- package/benchmarks/assign.async.js +27 -0
- package/benchmarks/assign.js +20 -167
- package/benchmarks/curry.js +34 -54
- package/benchmarks/eq.async.js +23 -0
- package/benchmarks/eq.js +17 -19
- package/benchmarks/every.async.js +19 -0
- package/benchmarks/every.js +19 -0
- package/benchmarks/filter.async.js +32 -0
- package/benchmarks/filter.js +27 -1311
- package/benchmarks/flatMap.async.js +26 -0
- package/benchmarks/flatMap.js +26 -36
- package/benchmarks/get.async.js +19 -0
- package/benchmarks/get.js +27 -32
- package/benchmarks/gt.async.js +23 -0
- package/benchmarks/gt.js +17 -19
- package/benchmarks/gte.async.js +23 -0
- package/benchmarks/gte.js +17 -19
- package/benchmarks/lt.async.js +23 -0
- package/benchmarks/lt.js +17 -19
- package/benchmarks/lte.async.js +23 -0
- package/benchmarks/lte.js +17 -19
- package/benchmarks/map.async.js +43 -0
- package/benchmarks/map.js +24 -876
- package/benchmarks/misc/Promise.js +26 -0
- package/benchmarks/misc/isPromise.js +30 -0
- package/benchmarks/misc/promiseAll.js +36 -0
- package/benchmarks/not.js +23 -0
- package/benchmarks/omit.js +30 -20
- package/benchmarks/or.async.js +25 -0
- package/benchmarks/or.js +23 -49
- package/benchmarks/pick.js +30 -16
- package/benchmarks/pipe.async.js +47 -0
- package/benchmarks/pipe.js +46 -151
- package/benchmarks/reduce.async.js +32 -0
- package/benchmarks/reduce.js +27 -728
- package/benchmarks/set.async.js +19 -0
- package/benchmarks/set.js +41 -0
- package/benchmarks/some.async.js +19 -0
- package/benchmarks/some.js +19 -0
- package/benchmarks/switchCase.async.js +27 -0
- package/benchmarks/switchCase.js +55 -256
- package/benchmarks/tap.js +10 -85
- package/benchmarks/thunkify.js +15 -0
- package/benchmarks/transform.async.js +27 -0
- package/benchmarks/transform.js +28 -206
- package/benchmarks/tryCatch.async.js +25 -0
- package/benchmarks/tryCatch.js +24 -100
- package/{distributor.js → build} +50 -50
- package/compose.js +46 -0
- package/dist/__.es.js +2 -2
- package/dist/__.es.min.js +2 -2
- package/dist/__.js +2 -2
- package/dist/__.min.js +2 -2
- package/dist/__.min.mjs +2 -2
- package/dist/__.mjs +2 -2
- package/dist/all.es.js +173 -92
- package/dist/all.es.min.js +3 -3
- package/dist/all.js +173 -92
- package/dist/all.min.js +3 -3
- package/dist/all.min.mjs +3 -3
- package/dist/all.mjs +173 -92
- package/dist/always.es.js +2 -2
- package/dist/always.es.min.js +2 -2
- package/dist/always.js +2 -2
- package/dist/always.min.js +2 -2
- package/dist/always.min.mjs +2 -2
- package/dist/always.mjs +2 -2
- package/dist/and.es.js +101 -32
- package/dist/and.es.min.js +3 -3
- package/dist/and.js +101 -32
- package/dist/and.min.js +3 -3
- package/dist/and.min.mjs +3 -3
- package/dist/and.mjs +101 -32
- package/dist/assign.es.js +37 -10
- package/dist/assign.es.min.js +3 -3
- package/dist/assign.js +37 -10
- package/dist/assign.min.js +3 -3
- package/dist/assign.min.mjs +3 -3
- package/dist/assign.mjs +37 -10
- package/dist/compose.es.js +71 -0
- package/dist/compose.es.min.js +7 -0
- package/dist/compose.js +78 -0
- package/dist/compose.min.js +8 -0
- package/dist/compose.min.mjs +7 -0
- package/dist/compose.mjs +71 -0
- package/dist/curry.es.js +2 -2
- package/dist/curry.es.min.js +2 -2
- package/dist/curry.js +2 -2
- package/dist/curry.min.js +2 -2
- package/dist/curry.min.mjs +2 -2
- package/dist/curry.mjs +2 -2
- package/dist/eq.es.js +172 -49
- package/dist/eq.es.min.js +3 -3
- package/dist/eq.js +172 -49
- package/dist/eq.min.js +3 -3
- package/dist/eq.min.mjs +3 -3
- package/dist/eq.mjs +172 -49
- package/dist/every.es.js +194 -0
- package/dist/every.es.min.js +7 -0
- package/dist/every.js +201 -0
- package/dist/every.min.js +8 -0
- package/dist/every.min.mjs +7 -0
- package/dist/every.mjs +194 -0
- package/dist/filter.es.js +14 -108
- package/dist/filter.es.min.js +3 -3
- package/dist/filter.js +14 -108
- package/dist/filter.min.js +3 -3
- package/dist/filter.min.mjs +3 -3
- package/dist/filter.mjs +14 -108
- package/dist/flatMap.es.js +27 -214
- package/dist/flatMap.es.min.js +3 -3
- package/dist/flatMap.js +27 -214
- package/dist/flatMap.min.js +3 -3
- package/dist/flatMap.min.mjs +3 -3
- package/dist/flatMap.mjs +27 -214
- package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
- package/dist/forEach.es.min.js +7 -0
- package/dist/{x/forEach.js → forEach.js} +52 -70
- package/dist/forEach.min.js +8 -0
- package/dist/forEach.min.mjs +7 -0
- package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
- package/dist/get.es.js +60 -5
- package/dist/get.es.min.js +3 -3
- package/dist/get.js +60 -5
- package/dist/get.min.js +3 -3
- package/dist/get.min.mjs +3 -3
- package/dist/get.mjs +60 -5
- package/dist/gt.es.js +171 -48
- package/dist/gt.es.min.js +3 -3
- package/dist/gt.js +171 -48
- package/dist/gt.min.js +3 -3
- package/dist/gt.min.mjs +3 -3
- package/dist/gt.mjs +171 -48
- package/dist/gte.es.js +171 -48
- package/dist/gte.es.min.js +3 -3
- package/dist/gte.js +171 -48
- package/dist/gte.min.js +3 -3
- package/dist/gte.min.mjs +3 -3
- package/dist/gte.mjs +171 -48
- package/dist/lt.es.js +171 -48
- package/dist/lt.es.min.js +3 -3
- package/dist/lt.js +171 -48
- package/dist/lt.min.js +3 -3
- package/dist/lt.min.mjs +3 -3
- package/dist/lt.mjs +171 -48
- package/dist/lte.es.js +171 -48
- package/dist/lte.es.min.js +3 -3
- package/dist/lte.js +171 -48
- package/dist/lte.min.js +3 -3
- package/dist/lte.min.mjs +3 -3
- package/dist/lte.mjs +171 -48
- package/dist/map.es.js +12 -101
- package/dist/map.es.min.js +3 -3
- package/dist/map.js +12 -101
- package/dist/map.min.js +3 -3
- package/dist/map.min.mjs +3 -3
- package/dist/map.mjs +12 -101
- package/dist/not.es.js +75 -14
- package/dist/not.es.min.js +3 -3
- package/dist/not.js +75 -14
- package/dist/not.min.js +3 -3
- package/dist/not.min.mjs +3 -3
- package/dist/not.mjs +75 -14
- package/dist/omit.es.js +7 -2
- package/dist/omit.es.min.js +3 -3
- package/dist/omit.js +7 -2
- package/dist/omit.min.js +3 -3
- package/dist/omit.min.mjs +3 -3
- package/dist/omit.mjs +7 -2
- package/dist/or.es.js +99 -31
- package/dist/or.es.min.js +3 -3
- package/dist/or.js +99 -31
- package/dist/or.min.js +3 -3
- package/dist/or.min.mjs +3 -3
- package/dist/or.mjs +99 -31
- package/dist/pick.es.js +8 -3
- package/dist/pick.es.min.js +3 -3
- package/dist/pick.js +8 -3
- package/dist/pick.min.js +3 -3
- package/dist/pick.min.mjs +3 -3
- package/dist/pick.mjs +8 -3
- package/dist/pipe.es.js +42 -46
- package/dist/pipe.es.min.js +3 -3
- package/dist/pipe.js +42 -46
- package/dist/pipe.min.js +3 -3
- package/dist/pipe.min.mjs +3 -3
- package/dist/pipe.mjs +42 -46
- package/dist/reduce.es.js +52 -94
- package/dist/reduce.es.min.js +3 -3
- package/dist/reduce.js +52 -94
- package/dist/reduce.min.js +3 -3
- package/dist/reduce.min.mjs +3 -3
- package/dist/reduce.mjs +52 -94
- package/dist/rubico.es.js +730 -869
- package/dist/rubico.es.min.js +3 -3
- package/dist/rubico.js +730 -869
- package/dist/rubico.min.js +3 -3
- package/dist/rubico.min.mjs +3 -3
- package/dist/rubico.mjs +730 -869
- package/dist/set.es.js +18 -3
- package/dist/set.es.min.js +3 -3
- package/dist/set.js +18 -3
- package/dist/set.min.js +3 -3
- package/dist/set.min.mjs +3 -3
- package/dist/set.mjs +18 -3
- package/dist/{any.js → some.es.js} +64 -54
- package/dist/some.es.min.js +7 -0
- package/dist/{any.mjs → some.js} +72 -48
- package/dist/some.min.js +8 -0
- package/dist/some.min.mjs +7 -0
- package/dist/{any.es.js → some.mjs} +65 -48
- package/dist/switchCase.es.js +55 -5
- package/dist/switchCase.es.min.js +3 -3
- package/dist/switchCase.js +55 -5
- package/dist/switchCase.min.js +3 -3
- package/dist/switchCase.min.mjs +3 -3
- package/dist/switchCase.mjs +55 -5
- package/dist/tap.es.js +2 -9
- package/dist/tap.es.min.js +3 -3
- package/dist/tap.js +2 -9
- package/dist/tap.min.js +3 -3
- package/dist/tap.min.mjs +3 -3
- package/dist/tap.mjs +2 -9
- package/dist/thunkify.es.js +45 -2
- package/dist/thunkify.es.min.js +3 -3
- package/dist/thunkify.js +45 -2
- package/dist/thunkify.min.js +3 -3
- package/dist/thunkify.min.mjs +3 -3
- package/dist/thunkify.mjs +45 -2
- package/dist/transform.es.js +35 -71
- package/dist/transform.es.min.js +3 -3
- package/dist/transform.js +35 -71
- package/dist/transform.min.js +3 -3
- package/dist/transform.min.mjs +3 -3
- package/dist/transform.mjs +35 -71
- package/dist/tryCatch.es.js +33 -17
- package/dist/tryCatch.es.min.js +3 -3
- package/dist/tryCatch.js +33 -17
- package/dist/tryCatch.min.js +3 -3
- package/dist/tryCatch.min.mjs +3 -3
- package/dist/tryCatch.mjs +33 -17
- package/dist/x/append.es.js +2 -2
- package/dist/x/append.es.min.js +2 -2
- package/dist/x/append.js +2 -2
- package/dist/x/append.min.js +2 -2
- package/dist/x/append.min.mjs +2 -2
- package/dist/x/append.mjs +2 -2
- package/dist/x/callProp.es.js +2 -2
- package/dist/x/callProp.es.min.js +2 -2
- package/dist/x/callProp.js +2 -2
- package/dist/x/callProp.min.js +2 -2
- package/dist/x/callProp.min.mjs +2 -2
- package/dist/x/callProp.mjs +2 -2
- package/dist/x/defaultsDeep.es.js +2 -2
- package/dist/x/defaultsDeep.es.min.js +2 -2
- package/dist/x/defaultsDeep.js +2 -2
- package/dist/x/defaultsDeep.min.js +2 -2
- package/dist/x/defaultsDeep.min.mjs +2 -2
- package/dist/x/defaultsDeep.mjs +2 -2
- package/dist/x/differenceWith.es.js +7 -7
- package/dist/x/differenceWith.es.min.js +3 -3
- package/dist/x/differenceWith.js +7 -7
- package/dist/x/differenceWith.min.js +2 -2
- package/dist/x/differenceWith.min.mjs +3 -3
- package/dist/x/differenceWith.mjs +7 -7
- package/dist/x/filterOut.es.js +60 -117
- package/dist/x/filterOut.es.min.js +3 -3
- package/dist/x/filterOut.js +60 -117
- package/dist/x/filterOut.min.js +3 -3
- package/dist/x/filterOut.min.mjs +3 -3
- package/dist/x/filterOut.mjs +60 -117
- package/dist/x/find.es.js +2 -2
- package/dist/x/find.es.min.js +2 -2
- package/dist/x/find.js +2 -2
- package/dist/x/find.min.js +2 -2
- package/dist/x/find.min.mjs +2 -2
- package/dist/x/find.mjs +2 -2
- package/dist/x/findIndex.es.js +2 -2
- package/dist/x/findIndex.es.min.js +2 -2
- package/dist/x/findIndex.js +2 -2
- package/dist/x/findIndex.min.js +2 -2
- package/dist/x/findIndex.min.mjs +2 -2
- package/dist/x/findIndex.mjs +2 -2
- package/dist/x/first.es.js +2 -2
- package/dist/x/first.es.min.js +2 -2
- package/dist/x/first.js +2 -2
- package/dist/x/first.min.js +2 -2
- package/dist/x/first.min.mjs +2 -2
- package/dist/x/first.mjs +2 -2
- package/dist/x/flatten.es.js +20 -207
- package/dist/x/flatten.es.min.js +3 -3
- package/dist/x/flatten.js +20 -207
- package/dist/x/flatten.min.js +3 -3
- package/dist/x/flatten.min.mjs +3 -3
- package/dist/x/flatten.mjs +20 -207
- package/dist/x/groupBy.es.js +52 -94
- package/dist/x/groupBy.es.min.js +3 -3
- package/dist/x/groupBy.js +52 -94
- package/dist/x/groupBy.min.js +3 -3
- package/dist/x/groupBy.min.mjs +3 -3
- package/dist/x/groupBy.mjs +52 -94
- package/dist/x/has.es.js +2 -2
- package/dist/x/has.es.min.js +2 -2
- package/dist/x/has.js +2 -2
- package/dist/x/has.min.js +2 -2
- package/dist/x/has.min.mjs +2 -2
- package/dist/x/has.mjs +2 -2
- package/dist/x/identity.es.js +2 -2
- package/dist/x/identity.es.min.js +2 -2
- package/dist/x/identity.js +2 -2
- package/dist/x/identity.min.js +2 -2
- package/dist/x/identity.min.mjs +2 -2
- package/dist/x/identity.mjs +2 -2
- package/dist/x/includes.es.js +2 -2
- package/dist/x/includes.es.min.js +2 -2
- package/dist/x/includes.js +2 -2
- package/dist/x/includes.min.js +2 -2
- package/dist/x/includes.min.mjs +2 -2
- package/dist/x/includes.mjs +2 -2
- package/dist/x/isDeepEqual.es.js +2 -2
- package/dist/x/isDeepEqual.es.min.js +2 -2
- package/dist/x/isDeepEqual.js +2 -2
- package/dist/x/isDeepEqual.min.js +2 -2
- package/dist/x/isDeepEqual.min.mjs +2 -2
- package/dist/x/isDeepEqual.mjs +2 -2
- package/dist/x/isEmpty.es.js +2 -2
- package/dist/x/isEmpty.es.min.js +2 -2
- package/dist/x/isEmpty.js +2 -2
- package/dist/x/isEmpty.min.js +2 -2
- package/dist/x/isEmpty.min.mjs +2 -2
- package/dist/x/isEmpty.mjs +2 -2
- package/dist/x/isEqual.es.js +2 -2
- package/dist/x/isEqual.es.min.js +2 -2
- package/dist/x/isEqual.js +2 -2
- package/dist/x/isEqual.min.js +2 -2
- package/dist/x/isEqual.min.mjs +2 -2
- package/dist/x/isEqual.mjs +2 -2
- package/dist/x/isFunction.es.js +2 -2
- package/dist/x/isFunction.es.min.js +2 -2
- package/dist/x/isFunction.js +2 -2
- package/dist/x/isFunction.min.js +2 -2
- package/dist/x/isFunction.min.mjs +2 -2
- package/dist/x/isFunction.mjs +2 -2
- package/dist/x/isIn.es.js +2 -2
- package/dist/x/isIn.es.min.js +2 -2
- package/dist/x/isIn.js +2 -2
- package/dist/x/isIn.min.js +2 -2
- package/dist/x/isIn.min.mjs +2 -2
- package/dist/x/isIn.mjs +2 -2
- package/dist/x/isObject.es.js +2 -2
- package/dist/x/isObject.es.min.js +2 -2
- package/dist/x/isObject.js +2 -2
- package/dist/x/isObject.min.js +2 -2
- package/dist/x/isObject.min.mjs +2 -2
- package/dist/x/isObject.mjs +2 -2
- package/dist/x/isString.es.js +2 -2
- package/dist/x/isString.es.min.js +2 -2
- package/dist/x/isString.js +2 -2
- package/dist/x/isString.min.js +2 -2
- package/dist/x/isString.min.mjs +2 -2
- package/dist/x/isString.mjs +2 -2
- package/dist/x/keys.es.js +2 -2
- package/dist/x/keys.es.min.js +2 -2
- package/dist/x/keys.js +2 -2
- package/dist/x/keys.min.js +2 -2
- package/dist/x/keys.min.mjs +2 -2
- package/dist/x/keys.mjs +2 -2
- package/dist/x/last.es.js +2 -2
- package/dist/x/last.es.min.js +2 -2
- package/dist/x/last.js +2 -2
- package/dist/x/last.min.js +2 -2
- package/dist/x/last.min.mjs +2 -2
- package/dist/x/last.mjs +2 -2
- package/dist/x/maxBy.es.js +59 -6
- package/dist/x/maxBy.es.min.js +3 -3
- package/dist/x/maxBy.js +59 -6
- package/dist/x/maxBy.min.js +3 -3
- package/dist/x/maxBy.min.mjs +3 -3
- package/dist/x/maxBy.mjs +59 -6
- package/dist/x/noop.es.js +2 -2
- package/dist/x/noop.es.min.js +2 -2
- package/dist/x/noop.js +2 -2
- package/dist/x/noop.min.js +2 -2
- package/dist/x/noop.min.mjs +2 -2
- package/dist/x/noop.mjs +2 -2
- package/dist/x/pluck.es.js +32 -103
- package/dist/x/pluck.es.min.js +3 -3
- package/dist/x/pluck.js +32 -103
- package/dist/x/pluck.min.js +3 -3
- package/dist/x/pluck.min.mjs +3 -3
- package/dist/x/pluck.mjs +32 -103
- package/dist/x/prepend.es.js +2 -2
- package/dist/x/prepend.es.min.js +2 -2
- package/dist/x/prepend.js +2 -2
- package/dist/x/prepend.min.js +2 -2
- package/dist/x/prepend.min.mjs +2 -2
- package/dist/x/prepend.mjs +2 -2
- package/dist/x/size.es.js +2 -2
- package/dist/x/size.es.min.js +2 -2
- package/dist/x/size.js +2 -2
- package/dist/x/size.min.js +2 -2
- package/dist/x/size.min.mjs +2 -2
- package/dist/x/size.mjs +2 -2
- package/dist/x/trace.es.js +2 -9
- package/dist/x/trace.es.min.js +3 -3
- package/dist/x/trace.js +2 -9
- package/dist/x/trace.min.js +3 -3
- package/dist/x/trace.min.mjs +3 -3
- package/dist/x/trace.mjs +2 -9
- package/dist/x/unionWith.es.js +2 -2
- package/dist/x/unionWith.es.min.js +2 -2
- package/dist/x/unionWith.js +2 -2
- package/dist/x/unionWith.min.js +2 -2
- package/dist/x/unionWith.min.mjs +2 -2
- package/dist/x/unionWith.mjs +2 -2
- package/dist/x/uniq.es.js +2 -2
- package/dist/x/uniq.es.min.js +2 -2
- package/dist/x/uniq.js +2 -2
- package/dist/x/uniq.min.js +2 -2
- package/dist/x/uniq.min.mjs +2 -2
- package/dist/x/uniq.mjs +2 -2
- package/dist/x/unless.es.js +2 -2
- package/dist/x/unless.es.min.js +2 -2
- package/dist/x/unless.js +2 -2
- package/dist/x/unless.min.js +2 -2
- package/dist/x/unless.min.mjs +2 -2
- package/dist/x/unless.mjs +2 -2
- package/dist/x/values.es.js +2 -2
- package/dist/x/values.es.min.js +2 -2
- package/dist/x/values.js +2 -2
- package/dist/x/values.min.js +2 -2
- package/dist/x/values.min.mjs +2 -2
- package/dist/x/values.mjs +2 -2
- package/dist/x/when.es.js +2 -2
- package/dist/x/when.es.min.js +2 -2
- package/dist/x/when.js +2 -2
- package/dist/x/when.min.js +2 -2
- package/dist/x/when.min.mjs +2 -2
- package/dist/x/when.mjs +2 -2
- package/dist-test.js +9 -2042
- package/eq.js +21 -63
- package/es.js +730 -869
- package/every.js +94 -0
- package/filter.js +23 -91
- package/flatMap.js +75 -70
- package/forEach.js +82 -0
- package/get.js +23 -6
- package/global.js +6 -4
- package/gt.js +15 -58
- package/gte.js +14 -57
- package/index.js +730 -869
- package/lt.js +17 -60
- package/lte.js +14 -57
- package/map.js +9 -94
- package/memory-usage/reduce.js +2 -2
- package/not.js +27 -45
- package/omit.js +4 -0
- package/or.js +50 -33
- package/package.json +7 -7
- package/pick.js +5 -1
- package/pipe.js +13 -50
- package/reduce.js +42 -51
- package/rubico.js +10 -8
- package/set.js +43 -10
- package/some.js +105 -0
- package/switchCase.js +13 -3
- package/tap.js +0 -24
- package/test.js +847 -1096
- package/thunkify.js +9 -0
- package/transform.js +31 -16
- package/tryCatch.js +19 -15
- package/x/differenceWith.js +3 -3
- package/x/filterOut.test.js +6 -6
- package/x/flatten.js +1 -1
- package/x/flatten.test.js +0 -8
- package/x/index.js +0 -2
- package/x/pluck.js +18 -27
- package/x/pluck.test.js +3 -7
- package/x/timeInLoop.js +16 -25
- package/x/timeInLoop.test.js +8 -4
- package/any.js +0 -82
- package/dist/any.es.min.js +0 -7
- package/dist/any.min.js +0 -8
- package/dist/any.min.mjs +0 -7
- package/dist/fork.es.js +0 -159
- package/dist/fork.es.min.js +0 -7
- package/dist/fork.js +0 -166
- package/dist/fork.min.js +0 -8
- package/dist/fork.min.mjs +0 -7
- package/dist/fork.mjs +0 -159
- package/dist/x/forEach.es.min.js +0 -7
- package/dist/x/forEach.min.js +0 -8
- package/dist/x/forEach.min.mjs +0 -7
- package/fork.js +0 -101
- package/x/forEach.js +0 -93
- package/x/forEach.test.js +0 -218
- /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
- /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
- /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
- /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
- /package/{benchmarks → archive/benchmarks-v1.9.7}/misc.js +0 -0
package/dist/fork.es.js
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const isArray = Array.isArray
|
|
9
|
-
|
|
10
|
-
const isPromise = value => value != null && typeof value.then == 'function'
|
|
11
|
-
|
|
12
|
-
const promiseAll = Promise.all.bind(Promise)
|
|
13
|
-
|
|
14
|
-
const funcAll = funcs => function allFuncs(...args) {
|
|
15
|
-
const funcsLength = funcs.length,
|
|
16
|
-
result = Array(funcsLength)
|
|
17
|
-
let funcsIndex = -1, isAsync = false
|
|
18
|
-
while (++funcsIndex < funcsLength) {
|
|
19
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
20
|
-
if (isPromise(resultItem)) {
|
|
21
|
-
isAsync = true
|
|
22
|
-
}
|
|
23
|
-
result[funcsIndex] = resultItem
|
|
24
|
-
}
|
|
25
|
-
return isAsync ? promiseAll(result) : result
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const always = value => function getter() { return value }
|
|
29
|
-
|
|
30
|
-
const __ = Symbol.for('placeholder')
|
|
31
|
-
|
|
32
|
-
// argument resolver for curry3
|
|
33
|
-
const curry3ResolveArg0 = (
|
|
34
|
-
baseFunc, arg1, arg2,
|
|
35
|
-
) => function arg0Resolver(arg0) {
|
|
36
|
-
return baseFunc(arg0, arg1, arg2)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// argument resolver for curry3
|
|
40
|
-
const curry3ResolveArg1 = (
|
|
41
|
-
baseFunc, arg0, arg2,
|
|
42
|
-
) => function arg1Resolver(arg1) {
|
|
43
|
-
return baseFunc(arg0, arg1, arg2)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// argument resolver for curry3
|
|
47
|
-
const curry3ResolveArg2 = (
|
|
48
|
-
baseFunc, arg0, arg1,
|
|
49
|
-
) => function arg2Resolver(arg2) {
|
|
50
|
-
return baseFunc(arg0, arg1, arg2)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
54
|
-
if (arg0 == __) {
|
|
55
|
-
return curry3ResolveArg0(baseFunc, arg1, arg2)
|
|
56
|
-
}
|
|
57
|
-
if (arg1 == __) {
|
|
58
|
-
return curry3ResolveArg1(baseFunc, arg0, arg2)
|
|
59
|
-
}
|
|
60
|
-
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const objectSet = function (object, property, value) {
|
|
64
|
-
object[property] = value
|
|
65
|
-
return object
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const funcObjectAll = funcs => function objectAllFuncs(...args) {
|
|
69
|
-
const result = {}, promises = []
|
|
70
|
-
for (const key in funcs) {
|
|
71
|
-
const resultItem = funcs[key](...args)
|
|
72
|
-
if (isPromise(resultItem)) {
|
|
73
|
-
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
74
|
-
} else {
|
|
75
|
-
result[key] = resultItem
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const funcConcat = (
|
|
82
|
-
funcA, funcB,
|
|
83
|
-
) => function pipedFunction(...args) {
|
|
84
|
-
const intermediate = funcA(...args)
|
|
85
|
-
return isPromise(intermediate)
|
|
86
|
-
? intermediate.then(funcB)
|
|
87
|
-
: funcB(intermediate)
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// argument resolver for curry4
|
|
91
|
-
const curry4ResolveArg0 = (
|
|
92
|
-
baseFunc, arg1, arg2, arg3,
|
|
93
|
-
) => function arg0Resolver(arg0) {
|
|
94
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// argument resolver for curry4
|
|
98
|
-
const curry4ResolveArg1 = (
|
|
99
|
-
baseFunc, arg0, arg2, arg3,
|
|
100
|
-
) => function arg1Resolver(arg1) {
|
|
101
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// argument resolver for curry4
|
|
105
|
-
const curry4ResolveArg2 = (
|
|
106
|
-
baseFunc, arg0, arg1, arg3,
|
|
107
|
-
) => function arg2Resolver(arg2) {
|
|
108
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// argument resolver for curry4
|
|
112
|
-
const curry4ResolveArg3 = (
|
|
113
|
-
baseFunc, arg0, arg1, arg2,
|
|
114
|
-
) => function arg3Resolver(arg3) {
|
|
115
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
const curry4 = function (baseFunc, arg0, arg1, arg2, arg3) {
|
|
119
|
-
if (arg0 == __) {
|
|
120
|
-
return curry4ResolveArg0(baseFunc, arg1, arg2, arg3)
|
|
121
|
-
}
|
|
122
|
-
if (arg1 == __) {
|
|
123
|
-
return curry4ResolveArg1(baseFunc, arg0, arg2, arg3)
|
|
124
|
-
}
|
|
125
|
-
if (arg2 == __) {
|
|
126
|
-
return curry4ResolveArg2(baseFunc, arg0, arg1, arg3)
|
|
127
|
-
}
|
|
128
|
-
return curry4ResolveArg3(baseFunc, arg0, arg1, arg2)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const asyncFuncAllSeries = async function (funcs, args, result, funcsIndex) {
|
|
132
|
-
const funcsLength = funcs.length
|
|
133
|
-
while (++funcsIndex < funcsLength) {
|
|
134
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
135
|
-
result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
|
|
136
|
-
}
|
|
137
|
-
return result
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const funcAllSeries = funcs => function allFuncsSeries(...args) {
|
|
141
|
-
const funcsLength = funcs.length, result = []
|
|
142
|
-
let funcsIndex = -1
|
|
143
|
-
while (++funcsIndex < funcsLength) {
|
|
144
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
145
|
-
if (isPromise(resultItem)) {
|
|
146
|
-
return resultItem.then(funcConcat(
|
|
147
|
-
curry3(objectSet, result, funcsIndex, __),
|
|
148
|
-
curry4(asyncFuncAllSeries, funcs, args, __, funcsIndex)))
|
|
149
|
-
}
|
|
150
|
-
result[funcsIndex] = resultItem
|
|
151
|
-
}
|
|
152
|
-
return result
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
|
|
156
|
-
|
|
157
|
-
fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
|
|
158
|
-
|
|
159
|
-
export default fork
|
package/dist/fork.es.min.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,promiseAll=Promise.all.bind(Promise),funcAll=r=>function(...e){const n=r.length,o=Array(n);let c=-1,t=!1;for(;++c<n;){const n=r[c](...e);isPromise(n)&&(t=!0),o[c]=n}return t?promiseAll(o):o},always=r=>function(){return r},__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(o){return r(o,e,n)},curry3ResolveArg1=(r,e,n)=>function(o){return r(e,o,n)},curry3ResolveArg2=(r,e,n)=>function(o){return r(e,n,o)},curry3=function(r,e,n,o){return e==__?curry3ResolveArg0(r,n,o):n==__?curry3ResolveArg1(r,e,o):curry3ResolveArg2(r,e,n)},objectSet=function(r,e,n){return r[e]=n,r},funcObjectAll=r=>function(...e){const n={},o=[];for(const c in r){const t=r[c](...e);isPromise(t)?o.push(t.then(curry3(objectSet,n,c,__))):n[c]=t}return 0==o.length?n:promiseAll(o).then((c=n,function(){return c}));var c},funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},curry4ResolveArg0=(r,e,n,o)=>function(c){return r(c,e,n,o)},curry4ResolveArg1=(r,e,n,o)=>function(c){return r(e,c,n,o)},curry4ResolveArg2=(r,e,n,o)=>function(c){return r(e,n,c,o)},curry4ResolveArg3=(r,e,n,o)=>function(c){return r(e,n,o,c)},curry4=function(r,e,n,o,c){return e==__?curry4ResolveArg0(r,n,o,c):n==__?curry4ResolveArg1(r,e,o,c):o==__?curry4ResolveArg2(r,e,n,c):curry4ResolveArg3(r,e,n,o)},asyncFuncAllSeries=async function(r,e,n,o){const c=r.length;for(;++o<c;){const c=r[o](...e);n[o]=isPromise(c)?await c:c}return n},funcAllSeries=r=>function(...e){const n=r.length,o=[];let c=-1;for(;++c<n;){const n=r[c](...e);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,o,c,__),(t=asyncFuncAllSeries,s=e,l=__,i=c,(u=r)==__?curry4ResolveArg0(t,s,l,i):s==__?curry4ResolveArg1(t,u,l,i):l==__?curry4ResolveArg2(t,u,s,i):curry4ResolveArg3(t,u,s,l))));o[c]=n}var t,u,s,l,i;return o},fork=r=>isArray(r)?funcAll(r):funcObjectAll(r);fork.series=r=>isArray(r)?funcAllSeries(r):funcObjectAll(r);export default fork;
|
package/dist/fork.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
(function (root, fork) {
|
|
9
|
-
if (typeof module == 'object') (module.exports = fork) // CommonJS
|
|
10
|
-
else if (typeof define == 'function') define(() => fork) // AMD
|
|
11
|
-
else (root.fork = fork) // Browser
|
|
12
|
-
}(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
|
|
13
|
-
|
|
14
|
-
const isArray = Array.isArray
|
|
15
|
-
|
|
16
|
-
const isPromise = value => value != null && typeof value.then == 'function'
|
|
17
|
-
|
|
18
|
-
const promiseAll = Promise.all.bind(Promise)
|
|
19
|
-
|
|
20
|
-
const funcAll = funcs => function allFuncs(...args) {
|
|
21
|
-
const funcsLength = funcs.length,
|
|
22
|
-
result = Array(funcsLength)
|
|
23
|
-
let funcsIndex = -1, isAsync = false
|
|
24
|
-
while (++funcsIndex < funcsLength) {
|
|
25
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
26
|
-
if (isPromise(resultItem)) {
|
|
27
|
-
isAsync = true
|
|
28
|
-
}
|
|
29
|
-
result[funcsIndex] = resultItem
|
|
30
|
-
}
|
|
31
|
-
return isAsync ? promiseAll(result) : result
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const always = value => function getter() { return value }
|
|
35
|
-
|
|
36
|
-
const __ = Symbol.for('placeholder')
|
|
37
|
-
|
|
38
|
-
// argument resolver for curry3
|
|
39
|
-
const curry3ResolveArg0 = (
|
|
40
|
-
baseFunc, arg1, arg2,
|
|
41
|
-
) => function arg0Resolver(arg0) {
|
|
42
|
-
return baseFunc(arg0, arg1, arg2)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// argument resolver for curry3
|
|
46
|
-
const curry3ResolveArg1 = (
|
|
47
|
-
baseFunc, arg0, arg2,
|
|
48
|
-
) => function arg1Resolver(arg1) {
|
|
49
|
-
return baseFunc(arg0, arg1, arg2)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// argument resolver for curry3
|
|
53
|
-
const curry3ResolveArg2 = (
|
|
54
|
-
baseFunc, arg0, arg1,
|
|
55
|
-
) => function arg2Resolver(arg2) {
|
|
56
|
-
return baseFunc(arg0, arg1, arg2)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
60
|
-
if (arg0 == __) {
|
|
61
|
-
return curry3ResolveArg0(baseFunc, arg1, arg2)
|
|
62
|
-
}
|
|
63
|
-
if (arg1 == __) {
|
|
64
|
-
return curry3ResolveArg1(baseFunc, arg0, arg2)
|
|
65
|
-
}
|
|
66
|
-
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
const objectSet = function (object, property, value) {
|
|
70
|
-
object[property] = value
|
|
71
|
-
return object
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const funcObjectAll = funcs => function objectAllFuncs(...args) {
|
|
75
|
-
const result = {}, promises = []
|
|
76
|
-
for (const key in funcs) {
|
|
77
|
-
const resultItem = funcs[key](...args)
|
|
78
|
-
if (isPromise(resultItem)) {
|
|
79
|
-
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
80
|
-
} else {
|
|
81
|
-
result[key] = resultItem
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const funcConcat = (
|
|
88
|
-
funcA, funcB,
|
|
89
|
-
) => function pipedFunction(...args) {
|
|
90
|
-
const intermediate = funcA(...args)
|
|
91
|
-
return isPromise(intermediate)
|
|
92
|
-
? intermediate.then(funcB)
|
|
93
|
-
: funcB(intermediate)
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// argument resolver for curry4
|
|
97
|
-
const curry4ResolveArg0 = (
|
|
98
|
-
baseFunc, arg1, arg2, arg3,
|
|
99
|
-
) => function arg0Resolver(arg0) {
|
|
100
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// argument resolver for curry4
|
|
104
|
-
const curry4ResolveArg1 = (
|
|
105
|
-
baseFunc, arg0, arg2, arg3,
|
|
106
|
-
) => function arg1Resolver(arg1) {
|
|
107
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// argument resolver for curry4
|
|
111
|
-
const curry4ResolveArg2 = (
|
|
112
|
-
baseFunc, arg0, arg1, arg3,
|
|
113
|
-
) => function arg2Resolver(arg2) {
|
|
114
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// argument resolver for curry4
|
|
118
|
-
const curry4ResolveArg3 = (
|
|
119
|
-
baseFunc, arg0, arg1, arg2,
|
|
120
|
-
) => function arg3Resolver(arg3) {
|
|
121
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const curry4 = function (baseFunc, arg0, arg1, arg2, arg3) {
|
|
125
|
-
if (arg0 == __) {
|
|
126
|
-
return curry4ResolveArg0(baseFunc, arg1, arg2, arg3)
|
|
127
|
-
}
|
|
128
|
-
if (arg1 == __) {
|
|
129
|
-
return curry4ResolveArg1(baseFunc, arg0, arg2, arg3)
|
|
130
|
-
}
|
|
131
|
-
if (arg2 == __) {
|
|
132
|
-
return curry4ResolveArg2(baseFunc, arg0, arg1, arg3)
|
|
133
|
-
}
|
|
134
|
-
return curry4ResolveArg3(baseFunc, arg0, arg1, arg2)
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
const asyncFuncAllSeries = async function (funcs, args, result, funcsIndex) {
|
|
138
|
-
const funcsLength = funcs.length
|
|
139
|
-
while (++funcsIndex < funcsLength) {
|
|
140
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
141
|
-
result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
|
|
142
|
-
}
|
|
143
|
-
return result
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const funcAllSeries = funcs => function allFuncsSeries(...args) {
|
|
147
|
-
const funcsLength = funcs.length, result = []
|
|
148
|
-
let funcsIndex = -1
|
|
149
|
-
while (++funcsIndex < funcsLength) {
|
|
150
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
151
|
-
if (isPromise(resultItem)) {
|
|
152
|
-
return resultItem.then(funcConcat(
|
|
153
|
-
curry3(objectSet, result, funcsIndex, __),
|
|
154
|
-
curry4(asyncFuncAllSeries, funcs, args, __, funcsIndex)))
|
|
155
|
-
}
|
|
156
|
-
result[funcsIndex] = resultItem
|
|
157
|
-
}
|
|
158
|
-
return result
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
|
|
162
|
-
|
|
163
|
-
fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
|
|
164
|
-
|
|
165
|
-
return fork
|
|
166
|
-
}())))
|
package/dist/fork.min.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.fork=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,r=Promise.all.bind(Promise),o=Symbol.for("placeholder"),e=function(n,t,r,e){return t==o?((n,t,r)=>function(o){return n(o,t,r)})(n,r,e):r==o?((n,t,r)=>function(o){return n(t,o,r)})(n,t,e):((n,t,r)=>function(o){return n(t,r,o)})(n,t,r)},u=function(n,t,r){return n[t]=r,n},c=n=>function(...c){const i={},f=[];for(const r in n){const s=n[r](...c);t(s)?f.push(s.then(e(u,i,r,o))):i[r]=s}return 0==f.length?i:r(f).then((s=i,function(){return s}));var s},i=(n,r)=>function(...o){const e=n(...o);return t(e)?e.then(r):r(e)},f=async function(n,r,o,e){const u=n.length;for(;++e<u;){const u=n[e](...r);o[e]=t(u)?await u:u}return o},s=o=>n(o)?(n=>function(...o){const e=n.length,u=Array(e);let c=-1,i=!1;for(;++c<e;){const r=n[c](...o);t(r)&&(i=!0),u[c]=r}return i?r(u):u})(o):c(o);return s.series=r=>n(r)?(n=>function(...r){const c=n.length,s=[];let l=-1;for(;++l<c;){const c=n[l](...r);if(t(c))return c.then(i(e(u,s,l,o),(h=f,y=r,p=o,b=l,(a=n)==o?((n,t,r,o)=>function(e){return n(e,t,r,o)})(h,y,p,b):y==o?((n,t,r,o)=>function(e){return n(t,e,r,o)})(h,a,p,b):p==o?((n,t,r,o)=>function(e){return n(t,r,e,o)})(h,a,y,b):((n,t,r,o)=>function(e){return n(t,r,o,e)})(h,a,y,p))));s[l]=c}var h,a,y,p,b;return s})(r):c(r),s}());
|
package/dist/fork.min.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,promiseAll=Promise.all.bind(Promise),funcAll=r=>function(...e){const n=r.length,o=Array(n);let c=-1,t=!1;for(;++c<n;){const n=r[c](...e);isPromise(n)&&(t=!0),o[c]=n}return t?promiseAll(o):o},always=r=>function(){return r},__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(o){return r(o,e,n)},curry3ResolveArg1=(r,e,n)=>function(o){return r(e,o,n)},curry3ResolveArg2=(r,e,n)=>function(o){return r(e,n,o)},curry3=function(r,e,n,o){return e==__?curry3ResolveArg0(r,n,o):n==__?curry3ResolveArg1(r,e,o):curry3ResolveArg2(r,e,n)},objectSet=function(r,e,n){return r[e]=n,r},funcObjectAll=r=>function(...e){const n={},o=[];for(const c in r){const t=r[c](...e);isPromise(t)?o.push(t.then(curry3(objectSet,n,c,__))):n[c]=t}return 0==o.length?n:promiseAll(o).then((c=n,function(){return c}));var c},funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},curry4ResolveArg0=(r,e,n,o)=>function(c){return r(c,e,n,o)},curry4ResolveArg1=(r,e,n,o)=>function(c){return r(e,c,n,o)},curry4ResolveArg2=(r,e,n,o)=>function(c){return r(e,n,c,o)},curry4ResolveArg3=(r,e,n,o)=>function(c){return r(e,n,o,c)},curry4=function(r,e,n,o,c){return e==__?curry4ResolveArg0(r,n,o,c):n==__?curry4ResolveArg1(r,e,o,c):o==__?curry4ResolveArg2(r,e,n,c):curry4ResolveArg3(r,e,n,o)},asyncFuncAllSeries=async function(r,e,n,o){const c=r.length;for(;++o<c;){const c=r[o](...e);n[o]=isPromise(c)?await c:c}return n},funcAllSeries=r=>function(...e){const n=r.length,o=[];let c=-1;for(;++c<n;){const n=r[c](...e);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,o,c,__),(t=asyncFuncAllSeries,s=e,l=__,i=c,(u=r)==__?curry4ResolveArg0(t,s,l,i):s==__?curry4ResolveArg1(t,u,l,i):l==__?curry4ResolveArg2(t,u,s,i):curry4ResolveArg3(t,u,s,l))));o[c]=n}var t,u,s,l,i;return o},fork=r=>isArray(r)?funcAll(r):funcObjectAll(r);fork.series=r=>isArray(r)?funcAllSeries(r):funcObjectAll(r);export default fork;
|
package/dist/fork.mjs
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const isArray = Array.isArray
|
|
9
|
-
|
|
10
|
-
const isPromise = value => value != null && typeof value.then == 'function'
|
|
11
|
-
|
|
12
|
-
const promiseAll = Promise.all.bind(Promise)
|
|
13
|
-
|
|
14
|
-
const funcAll = funcs => function allFuncs(...args) {
|
|
15
|
-
const funcsLength = funcs.length,
|
|
16
|
-
result = Array(funcsLength)
|
|
17
|
-
let funcsIndex = -1, isAsync = false
|
|
18
|
-
while (++funcsIndex < funcsLength) {
|
|
19
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
20
|
-
if (isPromise(resultItem)) {
|
|
21
|
-
isAsync = true
|
|
22
|
-
}
|
|
23
|
-
result[funcsIndex] = resultItem
|
|
24
|
-
}
|
|
25
|
-
return isAsync ? promiseAll(result) : result
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const always = value => function getter() { return value }
|
|
29
|
-
|
|
30
|
-
const __ = Symbol.for('placeholder')
|
|
31
|
-
|
|
32
|
-
// argument resolver for curry3
|
|
33
|
-
const curry3ResolveArg0 = (
|
|
34
|
-
baseFunc, arg1, arg2,
|
|
35
|
-
) => function arg0Resolver(arg0) {
|
|
36
|
-
return baseFunc(arg0, arg1, arg2)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// argument resolver for curry3
|
|
40
|
-
const curry3ResolveArg1 = (
|
|
41
|
-
baseFunc, arg0, arg2,
|
|
42
|
-
) => function arg1Resolver(arg1) {
|
|
43
|
-
return baseFunc(arg0, arg1, arg2)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// argument resolver for curry3
|
|
47
|
-
const curry3ResolveArg2 = (
|
|
48
|
-
baseFunc, arg0, arg1,
|
|
49
|
-
) => function arg2Resolver(arg2) {
|
|
50
|
-
return baseFunc(arg0, arg1, arg2)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
54
|
-
if (arg0 == __) {
|
|
55
|
-
return curry3ResolveArg0(baseFunc, arg1, arg2)
|
|
56
|
-
}
|
|
57
|
-
if (arg1 == __) {
|
|
58
|
-
return curry3ResolveArg1(baseFunc, arg0, arg2)
|
|
59
|
-
}
|
|
60
|
-
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const objectSet = function (object, property, value) {
|
|
64
|
-
object[property] = value
|
|
65
|
-
return object
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const funcObjectAll = funcs => function objectAllFuncs(...args) {
|
|
69
|
-
const result = {}, promises = []
|
|
70
|
-
for (const key in funcs) {
|
|
71
|
-
const resultItem = funcs[key](...args)
|
|
72
|
-
if (isPromise(resultItem)) {
|
|
73
|
-
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
74
|
-
} else {
|
|
75
|
-
result[key] = resultItem
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const funcConcat = (
|
|
82
|
-
funcA, funcB,
|
|
83
|
-
) => function pipedFunction(...args) {
|
|
84
|
-
const intermediate = funcA(...args)
|
|
85
|
-
return isPromise(intermediate)
|
|
86
|
-
? intermediate.then(funcB)
|
|
87
|
-
: funcB(intermediate)
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// argument resolver for curry4
|
|
91
|
-
const curry4ResolveArg0 = (
|
|
92
|
-
baseFunc, arg1, arg2, arg3,
|
|
93
|
-
) => function arg0Resolver(arg0) {
|
|
94
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// argument resolver for curry4
|
|
98
|
-
const curry4ResolveArg1 = (
|
|
99
|
-
baseFunc, arg0, arg2, arg3,
|
|
100
|
-
) => function arg1Resolver(arg1) {
|
|
101
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// argument resolver for curry4
|
|
105
|
-
const curry4ResolveArg2 = (
|
|
106
|
-
baseFunc, arg0, arg1, arg3,
|
|
107
|
-
) => function arg2Resolver(arg2) {
|
|
108
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// argument resolver for curry4
|
|
112
|
-
const curry4ResolveArg3 = (
|
|
113
|
-
baseFunc, arg0, arg1, arg2,
|
|
114
|
-
) => function arg3Resolver(arg3) {
|
|
115
|
-
return baseFunc(arg0, arg1, arg2, arg3)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
const curry4 = function (baseFunc, arg0, arg1, arg2, arg3) {
|
|
119
|
-
if (arg0 == __) {
|
|
120
|
-
return curry4ResolveArg0(baseFunc, arg1, arg2, arg3)
|
|
121
|
-
}
|
|
122
|
-
if (arg1 == __) {
|
|
123
|
-
return curry4ResolveArg1(baseFunc, arg0, arg2, arg3)
|
|
124
|
-
}
|
|
125
|
-
if (arg2 == __) {
|
|
126
|
-
return curry4ResolveArg2(baseFunc, arg0, arg1, arg3)
|
|
127
|
-
}
|
|
128
|
-
return curry4ResolveArg3(baseFunc, arg0, arg1, arg2)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const asyncFuncAllSeries = async function (funcs, args, result, funcsIndex) {
|
|
132
|
-
const funcsLength = funcs.length
|
|
133
|
-
while (++funcsIndex < funcsLength) {
|
|
134
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
135
|
-
result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
|
|
136
|
-
}
|
|
137
|
-
return result
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const funcAllSeries = funcs => function allFuncsSeries(...args) {
|
|
141
|
-
const funcsLength = funcs.length, result = []
|
|
142
|
-
let funcsIndex = -1
|
|
143
|
-
while (++funcsIndex < funcsLength) {
|
|
144
|
-
const resultItem = funcs[funcsIndex](...args)
|
|
145
|
-
if (isPromise(resultItem)) {
|
|
146
|
-
return resultItem.then(funcConcat(
|
|
147
|
-
curry3(objectSet, result, funcsIndex, __),
|
|
148
|
-
curry4(asyncFuncAllSeries, funcs, args, __, funcsIndex)))
|
|
149
|
-
}
|
|
150
|
-
result[funcsIndex] = resultItem
|
|
151
|
-
}
|
|
152
|
-
return result
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
|
|
156
|
-
|
|
157
|
-
fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
|
|
158
|
-
|
|
159
|
-
export default fork
|
package/dist/x/forEach.es.min.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
const isArray=Array.isArray,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=o=>nativeObjectToString.call(o),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=o=>objectToString(o)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=o=>objectToString(o)==asyncGeneratorFunctionTag,isPromise=o=>null!=o&&"function"==typeof o.then,promiseAll=Promise.all.bind(Promise),always=o=>function(){return o},arrayForEach=function(o,t){const n=o.length,r=[];let e=-1;for(;++e<n;){const n=t(o[e]);isPromise(n)&&r.push(n)}return 0==r.length?o:promiseAll(r).then(always(o))},objectForEach=function(o,t){const n=[];for(const r in o){const e=t(o[r]);isPromise(e)&&n.push(e)}return 0==n.length?o:promiseAll(n).then(always(o))},iteratorForEach=function(o,t){const n=[];for(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},asyncIteratorForEach=async function(o,t){const n=[];for await(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},generatorFunctionForEach=(o,t)=>function*(...n){const r=[],e=o(...n);for(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},asyncGeneratorFunctionForEach=(o,t)=>async function*(...n){const r=[],e=o(...n);for await(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},thunkify2=(o,t,n)=>function(){return o(t,n)},reducerForEach=(o,t)=>function(n,r){const e=t(r);return isPromise(e)?e.then((c=o,a=n,s=r,function(){return c(a,s)})):o(n,r);var c,a,s},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,forEach=o=>function(t){return isArray(t)?arrayForEach(t,o):"function"==typeof t?isGeneratorFunction(t)?generatorFunctionForEach(t,o):isAsyncGeneratorFunction(t)?asyncGeneratorFunctionForEach(t,o):reducerForEach(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[symbolIterator]?iteratorForEach(t[symbolIterator](),o):"function"==typeof t[symbolAsyncIterator]?asyncIteratorForEach(t[symbolAsyncIterator](),o):t.constructor==Object?objectForEach(t,o):t};export default forEach;
|
package/dist/x/forEach.min.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.forEach=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=Object.prototype.toString,o=n=>t.call(n),e=n=>null!=n&&"function"==typeof n.then,c=Promise.all.bind(Promise),r=n=>function(){return n},u=Symbol.iterator,f=Symbol.asyncIterator;return t=>function(s){return n(s)?function(n,t){const o=n.length,u=[];let f=-1;for(;++f<o;){const o=t(n[f]);e(o)&&u.push(o)}return 0==u.length?n:c(u).then(r(n))}(s,t):"function"==typeof s?(n=>"[object GeneratorFunction]"==o(n))(s)?((n,t)=>function*(...o){const u=[],f=n(...o);for(const n of f){const o=t(n);e(o)&&u.push(o)}return 0==u.length?f:c(u).then(r(f))})(s,t):(n=>"[object AsyncGeneratorFunction]"==o(n))(s)?((n,t)=>async function*(...o){const u=[],f=n(...o);for await(const n of f){const o=t(n);e(o)&&u.push(o)}return 0==u.length?f:c(u).then(r(f))})(s,t):((n,t)=>function(o,c){const r=t(c);return e(r)?r.then((u=n,f=o,s=c,function(){return u(f,s)})):n(o,c);var u,f,s})(s,t):null==s?s:"function"==typeof s.forEach?s.forEach(t):"function"==typeof s[u]?function(n,t){const o=[];for(const c of n){const n=t(c);e(n)&&o.push(n)}return 0==o.length?n:c(o).then(r(n))}(s[u](),t):"function"==typeof s[f]?async function(n,t){const o=[];for await(const c of n){const n=t(c);e(n)&&o.push(n)}return 0==o.length?n:c(o).then(r(n))}(s[f](),t):s.constructor==Object?function(n,t){const o=[];for(const c in n){const r=t(n[c]);e(r)&&o.push(r)}return 0==o.length?n:c(o).then(r(n))}(s,t):s}}());
|
package/dist/x/forEach.min.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rubico v1.9.7
|
|
3
|
-
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-2021 Richard Tong
|
|
5
|
-
* rubico may be freely distributed under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
const isArray=Array.isArray,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=o=>nativeObjectToString.call(o),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=o=>objectToString(o)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=o=>objectToString(o)==asyncGeneratorFunctionTag,isPromise=o=>null!=o&&"function"==typeof o.then,promiseAll=Promise.all.bind(Promise),always=o=>function(){return o},arrayForEach=function(o,t){const n=o.length,r=[];let e=-1;for(;++e<n;){const n=t(o[e]);isPromise(n)&&r.push(n)}return 0==r.length?o:promiseAll(r).then(always(o))},objectForEach=function(o,t){const n=[];for(const r in o){const e=t(o[r]);isPromise(e)&&n.push(e)}return 0==n.length?o:promiseAll(n).then(always(o))},iteratorForEach=function(o,t){const n=[];for(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},asyncIteratorForEach=async function(o,t){const n=[];for await(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},generatorFunctionForEach=(o,t)=>function*(...n){const r=[],e=o(...n);for(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},asyncGeneratorFunctionForEach=(o,t)=>async function*(...n){const r=[],e=o(...n);for await(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},thunkify2=(o,t,n)=>function(){return o(t,n)},reducerForEach=(o,t)=>function(n,r){const e=t(r);return isPromise(e)?e.then((c=o,a=n,s=r,function(){return c(a,s)})):o(n,r);var c,a,s},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,forEach=o=>function(t){return isArray(t)?arrayForEach(t,o):"function"==typeof t?isGeneratorFunction(t)?generatorFunctionForEach(t,o):isAsyncGeneratorFunction(t)?asyncGeneratorFunctionForEach(t,o):reducerForEach(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[symbolIterator]?iteratorForEach(t[symbolIterator](),o):"function"==typeof t[symbolAsyncIterator]?asyncIteratorForEach(t[symbolAsyncIterator](),o):t.constructor==Object?objectForEach(t,o):t};export default forEach;
|
package/fork.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
const isArray = require('./_internal/isArray')
|
|
2
|
-
const funcAll = require('./_internal/funcAll')
|
|
3
|
-
const funcObjectAll = require('./_internal/funcObjectAll')
|
|
4
|
-
const funcAllSeries = require('./_internal/funcAllSeries')
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @name fork
|
|
8
|
-
*
|
|
9
|
-
* @synopsis
|
|
10
|
-
* ```coffeescript [specscript]
|
|
11
|
-
* fork(funcsArray Array<function>)(...args) -> result Promise|Array
|
|
12
|
-
*
|
|
13
|
-
* fork(funcsObject Object<function>)(...args) -> result Promise|Object
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* @description
|
|
17
|
-
* Function executor and composer. Accepts either an array of functions or an object of functions as the values. Calls each function of the provided array or object in parallel with the provided arguments. Returns either an array or object of the results of the function executions.
|
|
18
|
-
*
|
|
19
|
-
* ```javascript [playground]
|
|
20
|
-
* const createArrayOfGreetingsFor = fork([
|
|
21
|
-
* name => `Hi ${name}`,
|
|
22
|
-
* name => `Hey ${name}`,
|
|
23
|
-
* name => `Hello ${name}`,
|
|
24
|
-
* ])
|
|
25
|
-
*
|
|
26
|
-
* const arrayOfGreetingsForFred = createArrayOfGreetingsFor('Fred')
|
|
27
|
-
*
|
|
28
|
-
* console.log(arrayOfGreetingsForFred)
|
|
29
|
-
* // ['Hi Fred', 'Hey Fred', 'Hello Fred']
|
|
30
|
-
*
|
|
31
|
-
* const createObjectOfGreetingsFor = fork({
|
|
32
|
-
* hi: name => `Hi ${name}`,
|
|
33
|
-
* hey: name => `Hey ${name}`,
|
|
34
|
-
* hello: name => `Hello ${name}`,
|
|
35
|
-
* })
|
|
36
|
-
*
|
|
37
|
-
* const objectOfGreetingsForJane = createObjectOfGreetingsFor('Jane')
|
|
38
|
-
*
|
|
39
|
-
* console.log(objectOfGreetingsForJane)
|
|
40
|
-
* // { hi: 'Hi Jane', hey: 'Hey Jane', hello: 'Hello Jane' }
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* `fork` can simultaneously compose objects and handle promises.
|
|
44
|
-
*
|
|
45
|
-
* ```javascript [playground]
|
|
46
|
-
* const identity = value => value
|
|
47
|
-
*
|
|
48
|
-
* const userbase = new Map()
|
|
49
|
-
* userbase.set('1', { _id: 1, name: 'George' })
|
|
50
|
-
*
|
|
51
|
-
* const getUserByID = async id => userbase.get(id)
|
|
52
|
-
*
|
|
53
|
-
* const getAndLogUserById = pipe([
|
|
54
|
-
* fork({
|
|
55
|
-
* id: identity,
|
|
56
|
-
* user: getUserByID,
|
|
57
|
-
* }),
|
|
58
|
-
* tap(({ id, user }) => {
|
|
59
|
-
* console.log(`Got user ${JSON.stringify(user)} by id ${id}`)
|
|
60
|
-
* }),
|
|
61
|
-
* ])
|
|
62
|
-
*
|
|
63
|
-
* getAndLogUserById('1') // Got user {"_id":1,"name":"George"} by id 1
|
|
64
|
-
* ```
|
|
65
|
-
*
|
|
66
|
-
* @execution concurrent
|
|
67
|
-
*/
|
|
68
|
-
const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* @name fork.series
|
|
72
|
-
*
|
|
73
|
-
* @synopsis
|
|
74
|
-
* ```coffeescript [specscript]
|
|
75
|
-
* fork.series(funcsArray Array<function>)(...args) -> result Promise|Array
|
|
76
|
-
*
|
|
77
|
-
* fork.series(funcsObject Object<function>)(...args) -> result Promise|Object
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
|
-
* @description
|
|
81
|
-
* Same as `fork` but with serial instead of parallel execution.
|
|
82
|
-
*
|
|
83
|
-
* ```javascript [playground]
|
|
84
|
-
* const sleep = ms => () => new Promise(resolve => setTimeout(resolve, ms))
|
|
85
|
-
*
|
|
86
|
-
* fork.series([
|
|
87
|
-
* greeting => console.log(greeting + ' world'),
|
|
88
|
-
* sleep(1000),
|
|
89
|
-
* greeting => console.log(greeting + ' mom'),
|
|
90
|
-
* sleep(1000),
|
|
91
|
-
* greeting => console.log(greeting + ' goodbye'),
|
|
92
|
-
* ])('hello') // hello world
|
|
93
|
-
* // hello mom
|
|
94
|
-
* // hello goodbye
|
|
95
|
-
* ```
|
|
96
|
-
*
|
|
97
|
-
* @execution series
|
|
98
|
-
*/
|
|
99
|
-
fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
|
|
100
|
-
|
|
101
|
-
module.exports = fork
|