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/transform.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.transform=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.for("placeholder"),r=function(n,r,e,o){return r==t?((n,t,r)=>function(e){return n(e,t,r)})(n,e,o):e==t?((n,t,r)=>function(e){return n(t,e,r)})(n,r,o):((n,t,r)=>function(e){return n(t,r,e)})(n,r,e)},e=Array.isArray,o=ArrayBuffer.isView,u=function(n,r,e){return r==t?((n,t)=>function(r){return n(r,t)})(n,e):((n,t)=>function(r){return n(t,r)})(n,r)},
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.transform=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.for("placeholder"),r=function(n,r,e,o){return r==t?((n,t,r)=>function(e){return n(e,t,r)})(n,e,o):e==t?((n,t,r)=>function(e){return n(t,e,r)})(n,r,o):((n,t,r)=>function(e){return n(t,r,e)})(n,r,e)},e=Array.isArray,o=ArrayBuffer.isView,u=function(n,r,e){return r==t?((n,t)=>function(r){return n(r,t)})(n,e):((n,t)=>function(r){return n(t,r)})(n,r)},f=function(){},c=(n,t)=>n+t,i=(Object.values,Object.prototype.toString,async function(t,r,e){let o=t.next();if(o.done)return e;for(;!o.done;)e=r(e,o.value),n(e)&&(e=await e),o=t.next();return e}),a=Symbol.iterator,l=Symbol.asyncIterator,s=function(n,r,e,o,u){return r==t?((n,t,r,e)=>function(o){return n(o,t,r,e)})(n,e,o,u):e==t?((n,t,r,e)=>function(o){return n(t,o,r,e)})(n,r,o,u):o==t?((n,t,r,e)=>function(o){return n(t,r,o,e)})(n,r,e,u):((n,t,r,e)=>function(o){return n(t,r,e,o)})(n,r,e,o)},y=async function(t,r,e,o){const u=t.length;for(;++o<u;)e=r(e,t[o],o,t),n(e)&&(e=await e);return e},d=Object.keys,h=async function(t,r,e,o,u){const f=o.length;for(;++u<f;){const f=o[u];e=r(e,t[f],f,t),n(e)&&(e=await e)}return e},p=async function(t,r,e,o){for(const[u,f]of o)e=r(e,f,u,t),n(e)&&(e=await e);return e},v=function(o,f,c){return e(o)?function(r,e,o){const u=r.length;let f=-1;for(void 0===o&&(o=r[++f]);++f<u;)if(o=e(o,r[f],f,r),n(o))return o.then(s(y,r,e,t,f));return o}(o,f,c):null==o?void 0===c?u(f,o,t):f(c,o):o.constructor==Map?function(r,e,o){const u=r.entries();if(void 0===o){const n=u.next();if(n.done)return o;o=n.value[1]}for(const[f,c]of u)if(o=e(o,c,f,r),n(o))return o.then(s(p,r,e,t,u));return o}(o,f,c):"function"==typeof o[a]?function(e,o,u){let f=e.next();if(f.done)return u;for(void 0===u&&(u=f.value,f=e.next());!f.done;){if(u=o(u,f.value),n(u))return u.then(r(i,e,o,t));f=e.next()}return u}(o[a](),f,c):"function"==typeof o[l]?async function(n,t,r){let e=await n.next();if(e.done)return r;for(void 0===r&&(r=e.value,e=await n.next());!e.done;)r=await t(r,e.value),e=await n.next();return r}(o[l](),f,c):"function"==typeof o.reduce?o.reduce(f,c):"function"==typeof o.chain?o.chain(u(f,c,t)):"function"==typeof o.flatMap?o.flatMap(u(f,c,t)):o.constructor==Object?function(r,e,o){const u=d(r),f=u.length;let c=-1;for(void 0===o&&(o=r[u[++c]]);++c<f;){const f=u[c];if(o=e(o,r[f],f,r),n(o))return o.then((i=h,l=e,s=t,y=u,p=c,(a=r)==t?((n,t,r,e,o)=>function(u){return n(u,t,r,e,o)})(i,l,s,y,p):l==t?((n,t,r,e,o)=>function(u){return n(t,u,r,e,o)})(i,a,s,y,p):s==t?((n,t,r,e,o)=>function(u){return n(t,r,u,e,o)})(i,a,l,y,p):y==t?((n,t,r,e,o)=>function(u){return n(t,r,e,u,o)})(i,a,l,s,p):((n,t,r,e,o)=>function(u){return n(t,r,e,o,u)})(i,a,l,s,y)))}var i,a,l,s,y,p;return o}(o,f,c):void 0===c?u(f,o,t):f(c,o)},g=Object.assign,w=function(n,t){return e(t)||o(t)?function(n,t){const r=n.length,e=t.length;let o=-1;for(;++o<e;)n[r+o]=t[o];return n}(n,t):(n.push(t),n)},b="function"==typeof Buffer,x=b?Buffer.alloc:f,j=function(n,t){const r=n.length,e=b&&n.constructor==Buffer?x(r+t.length):new n.constructor(r+t.length);return e.set(n),e.set(t,r),e},m=function(n,t){return e(t)||o(t)?j(n,t):j(n,[t])},S=function(n,t){return null!=(r=t)&&"function"==typeof r.pipe?((n,t)=>new Promise(((n,t)=>function(r,e){var o,u;t.on("data",(n=>function(t,r,e){return n.write(t,r,e),n})(n)),t.on("end",(o=r,u=n,function(){return o(u)})),t.on("error",e)})(n,t)))(n,t):(n.write(t),n);var r},O=function(n,t){if(null!=t&&t.constructor==Set){for(const r of t)n.add(r);return n}return n.add(t)},B=function(n,t){return n.concat(t)},A=function(t,r,e){const o=v(t,r(f),null);return n(o)?o.then((u=e,function(){return u})):e;var u},M=function(r,f,i){if(e(i))return v(r,f(w),i);if(o(i)){const e=v(r,f(w),[]);return n(e)?e.then(u(m,i,t)):m(i,e)}if(null==i)return A(r,f,i);const a=i.constructor;return"string"==typeof i||a==String?v(r,f(c),i):"function"==typeof i.concat?v(r,f(B),i):"function"==typeof i.write?v(r,f(S),i):a==Set?v(r,f(O),i):a==Object?v(r,f(g),i):A(r,f,i)},T=function(e,o,u){if("function"==typeof u){const f=u(e);return n(f)?f.then(r(M,e,o,t)):M(e,o,f)}return n(u)?u.then(r(M,e,o,t)):M(e,o,u)};return function(...e){return"function"==typeof e[0]?r(T,t,e[0],e[1]):n(e[0])?e[0].then(r(T,t,e[1],e[2])):T(e[0],e[1],e[2])}}());
|
package/dist/transform.min.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(t){return r(t,e,n)},curry3ResolveArg1=(r,e,n)=>function(t){return r(e,t,n)},curry3ResolveArg2=(r,e,n)=>function(t){return r(e,n,t)},curry3=function(r,e,n,t){return e==__?curry3ResolveArg0(r,n,t):n==__?curry3ResolveArg1(r,e,t):curry3ResolveArg2(r,e,n)},isArray=Array.isArray,isBinary=ArrayBuffer.isView,callPropUnary=(r,e,n)=>r[e](n),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},always=r=>function(){return r},noop=function(){},add=(r,e)=>r+e,objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(r,e,n){let t=r.next();if(t.done)return n;for(;!t.done;)n=e(n,t.value),isPromise(n)&&(n=await n),t=r.next();return n},iteratorReduce=function(r,e,n){let t=r.next();if(t.done)return n;for(void 0===n&&(n=t.value,t=r.next());!t.done;){if(n=e(n,t.value),isPromise(n))return n.then(curry3(iteratorReduceAsync,r,e,__));t=r.next()}return n},asyncIteratorReduce=async function(r,e,n){let t=await r.next();if(t.done)return n;for(void 0===n&&(n=t.value,t=await r.next());!t.done;)n=await e(n,t.value),t=await r.next();return n},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,curryArgs3ResolveArgs0=(r,e,n)=>function(...t){return r(t,e,n)},curryArgs3ResolveArgs1=(r,e,n)=>function(...t){return r(e,t,n)},curryArgs3ResolveArgs2=(r,e,n)=>function(...t){return r(e,n,t)},curryArgs3=function(r,e,n,t){return e==__?curryArgs3ResolveArgs0(r,n,t):n==__?curryArgs3ResolveArgs1(r,e,t):curryArgs3ResolveArgs2(r,e,n)},curry4ResolveArg0=(r,e,n,t)=>function(o){return r(o,e,n,t)},curry4ResolveArg1=(r,e,n,t)=>function(o){return r(e,o,n,t)},curry4ResolveArg2=(r,e,n,t)=>function(o){return r(e,n,o,t)},curry4ResolveArg3=(r,e,n,t)=>function(o){return r(e,n,t,o)},curry4=function(r,e,n,t,o){return e==__?curry4ResolveArg0(r,n,t,o):n==__?curry4ResolveArg1(r,e,t,o):t==__?curry4ResolveArg2(r,e,n,o):curry4ResolveArg3(r,e,n,t)},arrayReduceAsync=async function(r,e,n,t){const o=r.length;for(;++t<o;)n=e(n,r[t],t,r),isPromise(n)&&(n=await n);return n},arrayReduce=function(r,e,n){const t=r.length;let o=-1;for(void 0===n&&(n=r[++o]);++o<t;)if(n=e(n,r[o],o,r),isPromise(n))return n.then(curry4(arrayReduceAsync,r,e,__,o));return n},curry5ResolveArg0=(r,e,n,t,o)=>function(c){return r(c,e,n,t,o)},curry5ResolveArg1=(r,e,n,t,o)=>function(c){return r(e,c,n,t,o)},curry5ResolveArg2=(r,e,n,t,o)=>function(c){return r(e,n,c,t,o)},curry5ResolveArg3=(r,e,n,t,o)=>function(c){return r(e,n,t,c,o)},curry5ResolveArg4=(r,e,n,t,o)=>function(c){return r(e,n,t,o,c)},curry5=function(r,e,n,t,o,c){return e==__?curry5ResolveArg0(r,n,t,o,c):n==__?curry5ResolveArg1(r,e,t,o,c):t==__?curry5ResolveArg2(r,e,n,o,c):o==__?curry5ResolveArg3(r,e,n,t,c):curry5ResolveArg4(r,e,n,t,o)},objectKeys=Object.keys,
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(t){return r(t,e,n)},curry3ResolveArg1=(r,e,n)=>function(t){return r(e,t,n)},curry3ResolveArg2=(r,e,n)=>function(t){return r(e,n,t)},curry3=function(r,e,n,t){return e==__?curry3ResolveArg0(r,n,t):n==__?curry3ResolveArg1(r,e,t):curry3ResolveArg2(r,e,n)},isArray=Array.isArray,isBinary=ArrayBuffer.isView,callPropUnary=(r,e,n)=>r[e](n),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},always=r=>function(){return r},noop=function(){},add=(r,e)=>r+e,objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(r,e,n){let t=r.next();if(t.done)return n;for(;!t.done;)n=e(n,t.value),isPromise(n)&&(n=await n),t=r.next();return n},iteratorReduce=function(r,e,n){let t=r.next();if(t.done)return n;for(void 0===n&&(n=t.value,t=r.next());!t.done;){if(n=e(n,t.value),isPromise(n))return n.then(curry3(iteratorReduceAsync,r,e,__));t=r.next()}return n},asyncIteratorReduce=async function(r,e,n){let t=await r.next();if(t.done)return n;for(void 0===n&&(n=t.value,t=await r.next());!t.done;)n=await e(n,t.value),t=await r.next();return n},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,curryArgs3ResolveArgs0=(r,e,n)=>function(...t){return r(t,e,n)},curryArgs3ResolveArgs1=(r,e,n)=>function(...t){return r(e,t,n)},curryArgs3ResolveArgs2=(r,e,n)=>function(...t){return r(e,n,t)},curryArgs3=function(r,e,n,t){return e==__?curryArgs3ResolveArgs0(r,n,t):n==__?curryArgs3ResolveArgs1(r,e,t):curryArgs3ResolveArgs2(r,e,n)},curry4ResolveArg0=(r,e,n,t)=>function(o){return r(o,e,n,t)},curry4ResolveArg1=(r,e,n,t)=>function(o){return r(e,o,n,t)},curry4ResolveArg2=(r,e,n,t)=>function(o){return r(e,n,o,t)},curry4ResolveArg3=(r,e,n,t)=>function(o){return r(e,n,t,o)},curry4=function(r,e,n,t,o){return e==__?curry4ResolveArg0(r,n,t,o):n==__?curry4ResolveArg1(r,e,t,o):t==__?curry4ResolveArg2(r,e,n,o):curry4ResolveArg3(r,e,n,t)},arrayReduceAsync=async function(r,e,n,t){const o=r.length;for(;++t<o;)n=e(n,r[t],t,r),isPromise(n)&&(n=await n);return n},arrayReduce=function(r,e,n){const t=r.length;let o=-1;for(void 0===n&&(n=r[++o]);++o<t;)if(n=e(n,r[o],o,r),isPromise(n))return n.then(curry4(arrayReduceAsync,r,e,__,o));return n},curry5ResolveArg0=(r,e,n,t,o)=>function(c){return r(c,e,n,t,o)},curry5ResolveArg1=(r,e,n,t,o)=>function(c){return r(e,c,n,t,o)},curry5ResolveArg2=(r,e,n,t,o)=>function(c){return r(e,n,c,t,o)},curry5ResolveArg3=(r,e,n,t,o)=>function(c){return r(e,n,t,c,o)},curry5ResolveArg4=(r,e,n,t,o)=>function(c){return r(e,n,t,o,c)},curry5=function(r,e,n,t,o,c){return e==__?curry5ResolveArg0(r,n,t,o,c):n==__?curry5ResolveArg1(r,e,t,o,c):t==__?curry5ResolveArg2(r,e,n,o,c):o==__?curry5ResolveArg3(r,e,n,t,c):curry5ResolveArg4(r,e,n,t,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,n,t,o){const c=t.length;for(;++o<c;){const c=t[o];n=e(n,r[c],c,r),isPromise(n)&&(n=await n)}return n},objectReduce=function(r,e,n){const t=objectKeys(r),o=t.length;let c=-1;for(void 0===n&&(n=r[t[++c]]);++c<o;){const o=t[c];if(n=e(n,r[o],o,r),isPromise(n))return n.then((u=objectReduceAsync,s=e,a=__,f=t,y=c,(i=r)==__?curry5ResolveArg0(u,s,a,f,y):s==__?curry5ResolveArg1(u,i,a,f,y):a==__?curry5ResolveArg2(u,i,s,f,y):f==__?curry5ResolveArg3(u,i,s,a,y):curry5ResolveArg4(u,i,s,a,f)))}var u,i,s,a,f,y;return n},mapReduceAsync=async function(r,e,n,t){for(const[o,c]of t)n=e(n,c,o,r),isPromise(n)&&(n=await n);return n},mapReduce=function(r,e,n){const t=r.entries();if(void 0===n){const r=t.next();if(r.done)return n;n=r.value[1]}for(const[o,c]of t)if(n=e(n,c,o,r),isPromise(n))return n.then(curry4(mapReduceAsync,r,e,__,t));return n},reducerConcat=(r,e)=>function(n,t){const o=r(n,t);return isPromise(o)?o.then(curry2(e,__,t)):e(o,t)},genericReduce=function(r,e,n){return isArray(r)?arrayReduce(r,e,n):null==r?void 0===n?curry2(e,r,__):e(n,r):r.constructor==Map?mapReduce(r,e,n):"function"==typeof r[symbolIterator]?iteratorReduce(r[symbolIterator](),e,n):"function"==typeof r[symbolAsyncIterator]?asyncIteratorReduce(r[symbolAsyncIterator](),e,n):"function"==typeof r.reduce?r.reduce(e,n):"function"==typeof r.chain?r.chain(curry2(e,n,__)):"function"==typeof r.flatMap?r.flatMap(curry2(e,n,__)):r.constructor==Object?objectReduce(r,e,n):void 0===n?curry2(e,r,__):e(n,r)},objectAssign=Object.assign,_arrayExtend=function(r,e){const n=r.length,t=e.length;let o=-1;for(;++o<t;)r[n+o]=e[o];return r},arrayExtend=function(r,e){return isArray(e)||isBinary(e)?_arrayExtend(r,e):(r.push(e),r)},globalThisHasBuffer="function"==typeof Buffer,bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(r,e){const n=r.length,t=globalThisHasBuffer&&r.constructor==Buffer?bufferAlloc(n+e.length):new r.constructor(n+e.length);return t.set(r),t.set(e,n),t},binaryExtend=function(r,e){return isArray(e)||isBinary(e)?_binaryExtend(r,e):_binaryExtend(r,[e])},thunkify1=(r,e)=>function(){return r(e)},isNodeReadStream=r=>null!=r&&"function"==typeof r.pipe,__streamWrite=r=>function(e,n,t){return r.write(e,n,t),r},_streamExtendExecutor=(r,e)=>function(n,t){var o,c;e.on("data",__streamWrite(r)),e.on("end",(o=n,c=r,function(){return o(c)})),e.on("error",t)},_streamExtend=(r,e)=>new Promise(_streamExtendExecutor(r,e)),streamExtend=function(r,e){return null!=(n=e)&&"function"==typeof n.pipe?_streamExtend(r,e):(r.write(e),r);var n},setExtend=function(r,e){if(null!=e&&e.constructor==Set){for(const n of e)r.add(n);return r}return r.add(e)},callConcat=function(r,e){return r.concat(e)},identityTransform=function(r,e,n){const t=genericReduce(r,e(noop),null);return isPromise(t)?t.then((o=n,function(){return o})):n;var o},genericTransform=function(r,e,n){if(isArray(n))return genericReduce(r,e(arrayExtend),n);if(isBinary(n)){const t=genericReduce(r,e(arrayExtend),[]);return isPromise(t)?t.then(curry2(binaryExtend,n,__)):binaryExtend(n,t)}if(null==n)return identityTransform(r,e,n);const t=n.constructor;return"string"==typeof n||t==String?genericReduce(r,e(add),n):"function"==typeof n.concat?genericReduce(r,e(callConcat),n):"function"==typeof n.write?genericReduce(r,e(streamExtend),n):t==Set?genericReduce(r,e(setExtend),n):t==Object?genericReduce(r,e(objectAssign),n):identityTransform(r,e,n)},_transform=function(r,e,n){if("function"==typeof n){const t=n(r);return isPromise(t)?t.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,t)}return isPromise(n)?n.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,n)},transform=function(...r){return"function"==typeof r[0]?curry3(_transform,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_transform,__,r[1],r[2])):_transform(r[0],r[1],r[2])};export default transform;
|
package/dist/transform.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -299,13 +299,6 @@ const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
|
|
|
299
299
|
|
|
300
300
|
const objectKeys = Object.keys
|
|
301
301
|
|
|
302
|
-
const objectGetFirstKey = function (object) {
|
|
303
|
-
for (const key in object) {
|
|
304
|
-
return key
|
|
305
|
-
}
|
|
306
|
-
return undefined
|
|
307
|
-
}
|
|
308
|
-
|
|
309
302
|
const objectReduceAsync = async function (object, reducer, result, keys, index) {
|
|
310
303
|
const keysLength = keys.length
|
|
311
304
|
while (++index < keysLength) {
|
|
@@ -366,24 +359,6 @@ const mapReduce = function (map, reducer, result) {
|
|
|
366
359
|
return result
|
|
367
360
|
}
|
|
368
361
|
|
|
369
|
-
const funcConcatSync = (
|
|
370
|
-
funcA, funcB,
|
|
371
|
-
) => function pipedFunction(...args) {
|
|
372
|
-
return funcB(funcA(...args))
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
const generatorFunctionReduce = (
|
|
376
|
-
generatorFunction, reducer, result,
|
|
377
|
-
) => funcConcatSync(
|
|
378
|
-
generatorFunction,
|
|
379
|
-
curry3(iteratorReduce, __, reducer, result))
|
|
380
|
-
|
|
381
|
-
const asyncGeneratorFunctionReduce = (
|
|
382
|
-
asyncGeneratorFunction, reducer, result,
|
|
383
|
-
) => funcConcatSync(
|
|
384
|
-
asyncGeneratorFunction,
|
|
385
|
-
curry3(asyncIteratorReduce, __, reducer, result))
|
|
386
|
-
|
|
387
362
|
const reducerConcat = (
|
|
388
363
|
reducerA, reducerB,
|
|
389
364
|
) => function pipedReducer(result, item) {
|
|
@@ -393,26 +368,10 @@ const reducerConcat = (
|
|
|
393
368
|
: reducerB(intermediate, item)
|
|
394
369
|
}
|
|
395
370
|
|
|
396
|
-
const genericReduce = function (
|
|
397
|
-
const collection = args[0]
|
|
371
|
+
const genericReduce = function (collection, reducer, result) {
|
|
398
372
|
if (isArray(collection)) {
|
|
399
373
|
return arrayReduce(collection, reducer, result)
|
|
400
374
|
}
|
|
401
|
-
if (typeof collection == 'function') {
|
|
402
|
-
if (isGeneratorFunction(collection)) {
|
|
403
|
-
return generatorFunctionReduce(collection, reducer, result)
|
|
404
|
-
}
|
|
405
|
-
if (isAsyncGeneratorFunction(collection)) {
|
|
406
|
-
return asyncGeneratorFunctionReduce(collection, reducer, result)
|
|
407
|
-
}
|
|
408
|
-
return curryArgs3(
|
|
409
|
-
genericReduce,
|
|
410
|
-
__,
|
|
411
|
-
args.length == 1
|
|
412
|
-
? reducerConcat(reducer, collection)
|
|
413
|
-
: args.reduce(reducerConcat, reducer),
|
|
414
|
-
result)
|
|
415
|
-
}
|
|
416
375
|
if (collection == null) {
|
|
417
376
|
return result === undefined
|
|
418
377
|
? curry2(reducer, collection, __)
|
|
@@ -449,10 +408,6 @@ const genericReduce = function (args, reducer, result) {
|
|
|
449
408
|
|
|
450
409
|
const objectAssign = Object.assign
|
|
451
410
|
|
|
452
|
-
const isArrayLike = function (value) {
|
|
453
|
-
return value != null && value.length > 0
|
|
454
|
-
}
|
|
455
|
-
|
|
456
411
|
const _arrayExtend = function (array, values) {
|
|
457
412
|
const arrayLength = array.length,
|
|
458
413
|
valuesLength = values.length
|
|
@@ -464,7 +419,7 @@ const _arrayExtend = function (array, values) {
|
|
|
464
419
|
}
|
|
465
420
|
|
|
466
421
|
const arrayExtend = function (array, values) {
|
|
467
|
-
if (
|
|
422
|
+
if (isArray(values) || isBinary(values)) {
|
|
468
423
|
return _arrayExtend(array, values)
|
|
469
424
|
}
|
|
470
425
|
array.push(values)
|
|
@@ -539,57 +494,66 @@ const callConcat = function (object, values) {
|
|
|
539
494
|
return object.concat(values)
|
|
540
495
|
}
|
|
541
496
|
|
|
542
|
-
const identityTransform = function (
|
|
543
|
-
const nil = genericReduce(
|
|
497
|
+
const identityTransform = function (collection, transducer, result) {
|
|
498
|
+
const nil = genericReduce(collection, transducer(noop), null)
|
|
544
499
|
return isPromise(nil) ? nil.then(always(result)) : result
|
|
545
500
|
}
|
|
546
501
|
|
|
547
|
-
const genericTransform = function (
|
|
502
|
+
const genericTransform = function (collection, transducer, result) {
|
|
548
503
|
if (isArray(result)) {
|
|
549
|
-
return genericReduce(
|
|
504
|
+
return genericReduce(collection, transducer(arrayExtend), result)
|
|
550
505
|
}
|
|
551
506
|
if (isBinary(result)) {
|
|
552
|
-
const intermediateArray = genericReduce(
|
|
507
|
+
const intermediateArray = genericReduce(collection, transducer(arrayExtend), [])
|
|
553
508
|
return isPromise(intermediateArray)
|
|
554
509
|
? intermediateArray.then(curry2(binaryExtend, result, __))
|
|
555
510
|
: binaryExtend(result, intermediateArray)
|
|
556
511
|
}
|
|
557
512
|
if (result == null) {
|
|
558
|
-
return identityTransform(
|
|
513
|
+
return identityTransform(collection, transducer, result)
|
|
559
514
|
}
|
|
560
515
|
|
|
561
516
|
const resultConstructor = result.constructor
|
|
562
517
|
if (typeof result == 'string' || resultConstructor == String) {
|
|
563
518
|
// TODO: use array + join over adding
|
|
564
|
-
return genericReduce(
|
|
519
|
+
return genericReduce(collection, transducer(add), result)
|
|
565
520
|
}
|
|
566
521
|
if (typeof result.concat == 'function') {
|
|
567
|
-
return genericReduce(
|
|
522
|
+
return genericReduce(collection, transducer(callConcat), result)
|
|
568
523
|
}
|
|
569
524
|
if (typeof result.write == 'function') {
|
|
570
|
-
return genericReduce(
|
|
525
|
+
return genericReduce(collection, transducer(streamExtend), result)
|
|
571
526
|
}
|
|
572
527
|
if (resultConstructor == Set) {
|
|
573
|
-
return genericReduce(
|
|
528
|
+
return genericReduce(collection, transducer(setExtend), result)
|
|
574
529
|
}
|
|
575
530
|
if (resultConstructor == Object) {
|
|
576
|
-
return genericReduce(
|
|
531
|
+
return genericReduce(collection, transducer(objectAssign), result)
|
|
577
532
|
}
|
|
578
|
-
return identityTransform(
|
|
533
|
+
return identityTransform(collection, transducer, result)
|
|
579
534
|
}
|
|
580
535
|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
536
|
+
// _transform(collection any, transducer function, initialValue function|any) -> Promise
|
|
537
|
+
const _transform = function (collection, transducer, initialValue) {
|
|
538
|
+
if (typeof initialValue == 'function') {
|
|
539
|
+
const actualInitialValue = initialValue(collection)
|
|
540
|
+
return isPromise(actualInitialValue)
|
|
541
|
+
? actualInitialValue.then(curry3(genericTransform, collection, transducer, __))
|
|
542
|
+
: genericTransform(collection, transducer, actualInitialValue)
|
|
543
|
+
}
|
|
544
|
+
return isPromise(initialValue)
|
|
545
|
+
? initialValue.then(curry3(genericTransform, collection, transducer, __))
|
|
546
|
+
: genericTransform(collection, transducer, initialValue)
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
const transform = function (...args) {
|
|
550
|
+
if (typeof args[0] == 'function') {
|
|
551
|
+
return curry3(_transform, __, args[0], args[1])
|
|
589
552
|
}
|
|
590
|
-
|
|
591
|
-
return
|
|
553
|
+
if (isPromise(args[0])) {
|
|
554
|
+
return args[0].then(curry3(_transform, __, args[1], args[2]))
|
|
592
555
|
}
|
|
556
|
+
return _transform(args[0], args[1], args[2])
|
|
593
557
|
}
|
|
594
558
|
|
|
595
559
|
export default transform
|
package/dist/tryCatch.es.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
9
|
|
|
10
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
11
|
+
|
|
10
12
|
const __ = Symbol.for('placeholder')
|
|
11
13
|
|
|
12
14
|
// argument resolver for curry3
|
|
@@ -44,31 +46,45 @@ const catcherApply = function (catcher, err, args) {
|
|
|
44
46
|
return catcher(err, ...args)
|
|
45
47
|
}
|
|
46
48
|
|
|
49
|
+
const areAnyValuesPromises = function (values) {
|
|
50
|
+
const length = values.length
|
|
51
|
+
let index = -1
|
|
52
|
+
while (++index < length) {
|
|
53
|
+
const value = values[index]
|
|
54
|
+
if (isPromise(value)) {
|
|
55
|
+
return true
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return false
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// _tryCatch(tryer function, catcher function, args Array) -> Promise
|
|
62
|
+
const _tryCatch = function (tryer, catcher, args) {
|
|
63
|
+
try {
|
|
64
|
+
const result = tryer(...args)
|
|
65
|
+
return isPromise(result)
|
|
66
|
+
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
67
|
+
: result
|
|
68
|
+
} catch (error) {
|
|
69
|
+
return catcher(error, ...args)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
47
73
|
const tryCatch = function (...args) {
|
|
48
74
|
if (args.length > 2) {
|
|
49
75
|
const catcher = args.pop(),
|
|
50
76
|
tryer = args.pop()
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
55
|
-
: result
|
|
56
|
-
} catch (error) {
|
|
57
|
-
return catcher(error, ...args)
|
|
77
|
+
if (areAnyValuesPromises(args)) {
|
|
78
|
+
return promiseAll(args)
|
|
79
|
+
.then(curry3(_tryCatch, tryer, catcher, __))
|
|
58
80
|
}
|
|
81
|
+
return _tryCatch(tryer, catcher, args)
|
|
59
82
|
}
|
|
60
83
|
|
|
61
84
|
const tryer = args[0],
|
|
62
85
|
catcher = args[1]
|
|
63
86
|
return function tryCatcher(...args) {
|
|
64
|
-
|
|
65
|
-
const result = tryer(...args)
|
|
66
|
-
return isPromise(result)
|
|
67
|
-
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
68
|
-
: result
|
|
69
|
-
} catch (error) {
|
|
70
|
-
return catcher(error, ...args)
|
|
71
|
-
}
|
|
87
|
+
return _tryCatch(tryer, catcher, args)
|
|
72
88
|
}
|
|
73
89
|
}
|
|
74
90
|
|
package/dist/tryCatch.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,t,
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,promiseAll=Promise.all.bind(Promise),__=Symbol.for("placeholder"),curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},catcherApply=function(r,t,e){return r(t,...e)},areAnyValuesPromises=function(r){const t=r.length;let e=-1;for(;++e<t;){const t=r[e];if(isPromise(t))return!0}return!1},_tryCatch=function(r,t,e){try{const n=r(...e);return isPromise(n)?n.catch(curry3(catcherApply,t,__,e)):n}catch(r){return t(r,...e)}},tryCatch=function(...r){if(r.length>2){const t=r.pop(),e=r.pop();return areAnyValuesPromises(r)?promiseAll(r).then(curry3(_tryCatch,e,t,__)):_tryCatch(e,t,r)}const t=r[0],e=r[1];return function(...r){return _tryCatch(t,e,r)}};export default tryCatch;
|
package/dist/tryCatch.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
15
15
|
|
|
16
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
17
|
+
|
|
16
18
|
const __ = Symbol.for('placeholder')
|
|
17
19
|
|
|
18
20
|
// argument resolver for curry3
|
|
@@ -50,31 +52,45 @@ const catcherApply = function (catcher, err, args) {
|
|
|
50
52
|
return catcher(err, ...args)
|
|
51
53
|
}
|
|
52
54
|
|
|
55
|
+
const areAnyValuesPromises = function (values) {
|
|
56
|
+
const length = values.length
|
|
57
|
+
let index = -1
|
|
58
|
+
while (++index < length) {
|
|
59
|
+
const value = values[index]
|
|
60
|
+
if (isPromise(value)) {
|
|
61
|
+
return true
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return false
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// _tryCatch(tryer function, catcher function, args Array) -> Promise
|
|
68
|
+
const _tryCatch = function (tryer, catcher, args) {
|
|
69
|
+
try {
|
|
70
|
+
const result = tryer(...args)
|
|
71
|
+
return isPromise(result)
|
|
72
|
+
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
73
|
+
: result
|
|
74
|
+
} catch (error) {
|
|
75
|
+
return catcher(error, ...args)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
53
79
|
const tryCatch = function (...args) {
|
|
54
80
|
if (args.length > 2) {
|
|
55
81
|
const catcher = args.pop(),
|
|
56
82
|
tryer = args.pop()
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
61
|
-
: result
|
|
62
|
-
} catch (error) {
|
|
63
|
-
return catcher(error, ...args)
|
|
83
|
+
if (areAnyValuesPromises(args)) {
|
|
84
|
+
return promiseAll(args)
|
|
85
|
+
.then(curry3(_tryCatch, tryer, catcher, __))
|
|
64
86
|
}
|
|
87
|
+
return _tryCatch(tryer, catcher, args)
|
|
65
88
|
}
|
|
66
89
|
|
|
67
90
|
const tryer = args[0],
|
|
68
91
|
catcher = args[1]
|
|
69
92
|
return function tryCatcher(...args) {
|
|
70
|
-
|
|
71
|
-
const result = tryer(...args)
|
|
72
|
-
return isPromise(result)
|
|
73
|
-
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
74
|
-
: result
|
|
75
|
-
} catch (error) {
|
|
76
|
-
return catcher(error, ...args)
|
|
77
|
-
}
|
|
93
|
+
return _tryCatch(tryer, catcher, args)
|
|
78
94
|
}
|
|
79
95
|
}
|
|
80
96
|
|
package/dist/tryCatch.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(t
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.tryCatch=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Promise.all.bind(Promise),o=Symbol.for("placeholder"),e=function(n,t,e,r){return t==o?((n,t,o)=>function(e){return n(e,t,o)})(n,e,r):e==o?((n,t,o)=>function(e){return n(t,e,o)})(n,t,r):((n,t,o)=>function(e){return n(t,o,e)})(n,t,e)},r=function(n,t,o){return n(t,...o)},u=function(t,u,c){try{const i=t(...c);return n(i)?i.catch(e(r,u,o,c)):i}catch(n){return u(n,...c)}};return function(...r){if(r.length>2){const c=r.pop(),i=r.pop();return function(t){const o=t.length;let e=-1;for(;++e<o;){const o=t[e];if(n(o))return!0}return!1}(r)?t(r).then(e(u,i,c,o)):u(i,c,r)}const c=r[0],i=r[1];return function(...n){return u(c,i,n)}}}());
|
package/dist/tryCatch.min.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,t,
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,promiseAll=Promise.all.bind(Promise),__=Symbol.for("placeholder"),curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},catcherApply=function(r,t,e){return r(t,...e)},areAnyValuesPromises=function(r){const t=r.length;let e=-1;for(;++e<t;){const t=r[e];if(isPromise(t))return!0}return!1},_tryCatch=function(r,t,e){try{const n=r(...e);return isPromise(n)?n.catch(curry3(catcherApply,t,__,e)):n}catch(r){return t(r,...e)}},tryCatch=function(...r){if(r.length>2){const t=r.pop(),e=r.pop();return areAnyValuesPromises(r)?promiseAll(r).then(curry3(_tryCatch,e,t,__)):_tryCatch(e,t,r)}const t=r[0],e=r[1];return function(...r){return _tryCatch(t,e,r)}};export default tryCatch;
|
package/dist/tryCatch.mjs
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
9
|
|
|
10
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
11
|
+
|
|
10
12
|
const __ = Symbol.for('placeholder')
|
|
11
13
|
|
|
12
14
|
// argument resolver for curry3
|
|
@@ -44,31 +46,45 @@ const catcherApply = function (catcher, err, args) {
|
|
|
44
46
|
return catcher(err, ...args)
|
|
45
47
|
}
|
|
46
48
|
|
|
49
|
+
const areAnyValuesPromises = function (values) {
|
|
50
|
+
const length = values.length
|
|
51
|
+
let index = -1
|
|
52
|
+
while (++index < length) {
|
|
53
|
+
const value = values[index]
|
|
54
|
+
if (isPromise(value)) {
|
|
55
|
+
return true
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return false
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// _tryCatch(tryer function, catcher function, args Array) -> Promise
|
|
62
|
+
const _tryCatch = function (tryer, catcher, args) {
|
|
63
|
+
try {
|
|
64
|
+
const result = tryer(...args)
|
|
65
|
+
return isPromise(result)
|
|
66
|
+
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
67
|
+
: result
|
|
68
|
+
} catch (error) {
|
|
69
|
+
return catcher(error, ...args)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
47
73
|
const tryCatch = function (...args) {
|
|
48
74
|
if (args.length > 2) {
|
|
49
75
|
const catcher = args.pop(),
|
|
50
76
|
tryer = args.pop()
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
55
|
-
: result
|
|
56
|
-
} catch (error) {
|
|
57
|
-
return catcher(error, ...args)
|
|
77
|
+
if (areAnyValuesPromises(args)) {
|
|
78
|
+
return promiseAll(args)
|
|
79
|
+
.then(curry3(_tryCatch, tryer, catcher, __))
|
|
58
80
|
}
|
|
81
|
+
return _tryCatch(tryer, catcher, args)
|
|
59
82
|
}
|
|
60
83
|
|
|
61
84
|
const tryer = args[0],
|
|
62
85
|
catcher = args[1]
|
|
63
86
|
return function tryCatcher(...args) {
|
|
64
|
-
|
|
65
|
-
const result = tryer(...args)
|
|
66
|
-
return isPromise(result)
|
|
67
|
-
? result.catch(curry3(catcherApply, catcher, __, args))
|
|
68
|
-
: result
|
|
69
|
-
} catch (error) {
|
|
70
|
-
return catcher(error, ...args)
|
|
71
|
-
}
|
|
87
|
+
return _tryCatch(tryer, catcher, args)
|
|
72
88
|
}
|
|
73
89
|
}
|
|
74
90
|
|
package/dist/x/append.es.js
CHANGED
package/dist/x/append.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
const isString=function(r){return"string"==typeof r||null!=r&&r.constructor==String},isArray=Array.isArray,append=r=>function(n){if(isArray(n))return isArray(r)?[...n,...r]:[...n,r];if(isString(n)){if(!isString(r))throw new TypeError(`${r} is not a string`);return`${n}${r}`}throw new TypeError(`${n} is not an Array or string`)};export default append;
|
package/dist/x/append.js
CHANGED
package/dist/x/append.min.js
CHANGED
package/dist/x/append.min.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
const isString=function(r){return"string"==typeof r||null!=r&&r.constructor==String},isArray=Array.isArray,append=r=>function(n){if(isArray(n))return isArray(r)?[...n,...r]:[...n,r];if(isString(n)){if(!isString(r))throw new TypeError(`${r} is not a string`);return`${n}${r}`}throw new TypeError(`${n} is not an Array or string`)};export default append;
|
package/dist/x/append.mjs
CHANGED
package/dist/x/callProp.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
const callProp=(l,...o)=>function(r){return r[l](...o)};export default callProp;
|