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/and.mjs
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
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
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
9
|
+
|
|
8
10
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
11
|
|
|
12
|
+
const areAnyValuesPromises = function (values) {
|
|
13
|
+
const length = values.length
|
|
14
|
+
let index = -1
|
|
15
|
+
while (++index < length) {
|
|
16
|
+
const value = values[index]
|
|
17
|
+
if (isPromise(value)) {
|
|
18
|
+
return true
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
23
|
+
|
|
10
24
|
const __ = Symbol.for('placeholder')
|
|
11
25
|
|
|
26
|
+
// argument resolver for curry2
|
|
27
|
+
const curry2ResolveArg0 = (
|
|
28
|
+
baseFunc, arg1,
|
|
29
|
+
) => function arg0Resolver(arg0) {
|
|
30
|
+
return baseFunc(arg0, arg1)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// argument resolver for curry2
|
|
34
|
+
const curry2ResolveArg1 = (
|
|
35
|
+
baseFunc, arg0,
|
|
36
|
+
) => function arg1Resolver(arg1) {
|
|
37
|
+
return baseFunc(arg0, arg1)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
41
|
+
return arg0 == __
|
|
42
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
43
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
44
|
+
}
|
|
45
|
+
|
|
12
46
|
// argument resolver for curry3
|
|
13
47
|
const curry3ResolveArg0 = (
|
|
14
48
|
baseFunc, arg1, arg2,
|
|
@@ -40,6 +74,27 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
|
40
74
|
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
41
75
|
}
|
|
42
76
|
|
|
77
|
+
// argument resolver for curryArgs2
|
|
78
|
+
const curryArgs2ResolveArgs0 = (
|
|
79
|
+
baseFunc, arg1, arg2,
|
|
80
|
+
) => function args0Resolver(...args) {
|
|
81
|
+
return baseFunc(args, arg1)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// argument resolver for curryArgs2
|
|
85
|
+
const curryArgs2ResolveArgs1 = (
|
|
86
|
+
baseFunc, arg0, arg2,
|
|
87
|
+
) => function arg1Resolver(...args) {
|
|
88
|
+
return baseFunc(arg0, args)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
92
|
+
if (arg0 == __) {
|
|
93
|
+
return curryArgs2ResolveArgs0(baseFunc, arg1)
|
|
94
|
+
}
|
|
95
|
+
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
96
|
+
}
|
|
97
|
+
|
|
43
98
|
const thunkConditional = (
|
|
44
99
|
conditionalExpression, thunkOnTruthy, thunkOnFalsy,
|
|
45
100
|
) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
|
|
@@ -65,15 +120,15 @@ const thunkify3 = (func, arg0, arg1, arg2) => function thunk() {
|
|
|
65
120
|
|
|
66
121
|
const always = value => function getter() { return value }
|
|
67
122
|
|
|
68
|
-
const
|
|
123
|
+
const areAllValuesTruthy = function (predicates, index) {
|
|
69
124
|
const length = predicates.length
|
|
70
125
|
while (++index < length) {
|
|
71
|
-
|
|
126
|
+
const predicate = predicates[index]
|
|
72
127
|
if (isPromise(predicate)) {
|
|
73
128
|
return predicate.then(curry3(
|
|
74
129
|
thunkConditional,
|
|
75
130
|
__,
|
|
76
|
-
thunkify2(
|
|
131
|
+
thunkify2(areAllValuesTruthy, predicates, index),
|
|
77
132
|
always(false),
|
|
78
133
|
))
|
|
79
134
|
}
|
|
@@ -84,12 +139,12 @@ const areAllNonfunctionsTruthy = function (predicates, index) {
|
|
|
84
139
|
return true
|
|
85
140
|
}
|
|
86
141
|
|
|
87
|
-
const asyncArePredicatesAllTruthy = async function (
|
|
142
|
+
const asyncArePredicatesAllTruthy = async function (args, predicates, index) {
|
|
88
143
|
const length = predicates.length
|
|
89
144
|
while (++index < length) {
|
|
90
145
|
let predicate = predicates[index]
|
|
91
146
|
if (typeof predicate == 'function') {
|
|
92
|
-
predicate = predicate(
|
|
147
|
+
predicate = predicate(...args)
|
|
93
148
|
}
|
|
94
149
|
if (isPromise(predicate)) {
|
|
95
150
|
predicate = await predicate
|
|
@@ -101,33 +156,47 @@ const asyncArePredicatesAllTruthy = async function (predicates, point, index) {
|
|
|
101
156
|
return true
|
|
102
157
|
}
|
|
103
158
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
let
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
if (!predicate) {
|
|
126
|
-
return false
|
|
127
|
-
}
|
|
159
|
+
// areAllPredicatesTruthy(args Array, predicates Array<function>) -> Promise|boolean
|
|
160
|
+
const areAllPredicatesTruthy = function (args, predicates) {
|
|
161
|
+
const length = predicates.length
|
|
162
|
+
let index = -1
|
|
163
|
+
|
|
164
|
+
while (++index < length) {
|
|
165
|
+
let predicate = predicates[index]
|
|
166
|
+
if (typeof predicate == 'function') {
|
|
167
|
+
predicate = predicate(...args)
|
|
168
|
+
}
|
|
169
|
+
if (isPromise(predicate)) {
|
|
170
|
+
return predicate.then(curry3(
|
|
171
|
+
thunkConditional,
|
|
172
|
+
__,
|
|
173
|
+
thunkify3(asyncArePredicatesAllTruthy, args, predicates, index),
|
|
174
|
+
always(false),
|
|
175
|
+
))
|
|
176
|
+
}
|
|
177
|
+
if (!predicate) {
|
|
178
|
+
return false
|
|
128
179
|
}
|
|
129
|
-
return true
|
|
130
180
|
}
|
|
181
|
+
return true
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
const and = function (...args) {
|
|
185
|
+
const predicatesOrValues = args.pop()
|
|
186
|
+
if (areAllValuesNonfunctions(predicatesOrValues)) {
|
|
187
|
+
return areAllValuesTruthy(predicatesOrValues, -1)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (args.length == 0) {
|
|
191
|
+
return curryArgs2(areAllPredicatesTruthy, __, predicatesOrValues)
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (areAnyValuesPromises(args)) {
|
|
195
|
+
return promiseAll(args)
|
|
196
|
+
.then(curry2(areAllPredicatesTruthy, __, predicatesOrValues))
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return areAllPredicatesTruthy(args, predicatesOrValues)
|
|
131
200
|
}
|
|
132
201
|
|
|
133
202
|
export default and
|
package/dist/assign.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
|
|
|
@@ -11,6 +11,26 @@ const objectAssign = Object.assign
|
|
|
11
11
|
|
|
12
12
|
const __ = Symbol.for('placeholder')
|
|
13
13
|
|
|
14
|
+
// argument resolver for curry2
|
|
15
|
+
const curry2ResolveArg0 = (
|
|
16
|
+
baseFunc, arg1,
|
|
17
|
+
) => function arg0Resolver(arg0) {
|
|
18
|
+
return baseFunc(arg0, arg1)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// argument resolver for curry2
|
|
22
|
+
const curry2ResolveArg1 = (
|
|
23
|
+
baseFunc, arg0,
|
|
24
|
+
) => function arg1Resolver(arg1) {
|
|
25
|
+
return baseFunc(arg0, arg1)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
29
|
+
return arg0 == __
|
|
30
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
31
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
32
|
+
}
|
|
33
|
+
|
|
14
34
|
// argument resolver for curry3
|
|
15
35
|
const curry3ResolveArg0 = (
|
|
16
36
|
baseFunc, arg1, arg2,
|
|
@@ -51,7 +71,7 @@ const objectSet = function (object, property, value) {
|
|
|
51
71
|
return object
|
|
52
72
|
}
|
|
53
73
|
|
|
54
|
-
const
|
|
74
|
+
const functionObjectAll = function (funcs, args) {
|
|
55
75
|
const result = {}, promises = []
|
|
56
76
|
for (const key in funcs) {
|
|
57
77
|
const resultItem = funcs[key](...args)
|
|
@@ -64,14 +84,21 @@ const funcObjectAll = funcs => function objectAllFuncs(...args) {
|
|
|
64
84
|
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
65
85
|
}
|
|
66
86
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
87
|
+
// _assign(object Object, funcs Object<function>) -> Promise|Object
|
|
88
|
+
const _assign = function (object, funcs) {
|
|
89
|
+
const result = functionObjectAll(funcs, [object])
|
|
90
|
+
return isPromise(result)
|
|
91
|
+
? result.then(curry3(objectAssign, {}, object, __))
|
|
92
|
+
: ({ ...object, ...result })
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const assign = function (arg0, arg1) {
|
|
96
|
+
if (arg1 == null) {
|
|
97
|
+
return curry2(_assign, __, arg0)
|
|
74
98
|
}
|
|
99
|
+
return isPromise(arg0)
|
|
100
|
+
? arg0.then(curry2(_assign, __, arg1))
|
|
101
|
+
: _assign(arg0, arg1)
|
|
75
102
|
}
|
|
76
103
|
|
|
77
104
|
export default assign
|
package/dist/assign.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,objectAssign=Object.assign,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},always=r=>function(){return r},promiseAll=Promise.all.bind(Promise),objectSet=function(r,n,e){return r[n]=e,r},
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,objectAssign=Object.assign,__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},always=r=>function(){return r},promiseAll=Promise.all.bind(Promise),objectSet=function(r,n,e){return r[n]=e,r},functionObjectAll=function(r,n){const e={},t=[];for(const o in r){const u=r[o](...n);isPromise(u)?t.push(u.then(curry3(objectSet,e,o,__))):e[o]=u}return 0==t.length?e:promiseAll(t).then((o=e,function(){return o}));var o},_assign=function(r,n){const e=functionObjectAll(n,[r]);return isPromise(e)?e.then(curry3(objectAssign,{},r,__)):{...r,...e}},assign=function(r,n){return null==n?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,n)):_assign(r,n)};export default assign;
|
package/dist/assign.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
|
|
|
@@ -17,6 +17,26 @@ const objectAssign = Object.assign
|
|
|
17
17
|
|
|
18
18
|
const __ = Symbol.for('placeholder')
|
|
19
19
|
|
|
20
|
+
// argument resolver for curry2
|
|
21
|
+
const curry2ResolveArg0 = (
|
|
22
|
+
baseFunc, arg1,
|
|
23
|
+
) => function arg0Resolver(arg0) {
|
|
24
|
+
return baseFunc(arg0, arg1)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// argument resolver for curry2
|
|
28
|
+
const curry2ResolveArg1 = (
|
|
29
|
+
baseFunc, arg0,
|
|
30
|
+
) => function arg1Resolver(arg1) {
|
|
31
|
+
return baseFunc(arg0, arg1)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
35
|
+
return arg0 == __
|
|
36
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
37
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
38
|
+
}
|
|
39
|
+
|
|
20
40
|
// argument resolver for curry3
|
|
21
41
|
const curry3ResolveArg0 = (
|
|
22
42
|
baseFunc, arg1, arg2,
|
|
@@ -57,7 +77,7 @@ const objectSet = function (object, property, value) {
|
|
|
57
77
|
return object
|
|
58
78
|
}
|
|
59
79
|
|
|
60
|
-
const
|
|
80
|
+
const functionObjectAll = function (funcs, args) {
|
|
61
81
|
const result = {}, promises = []
|
|
62
82
|
for (const key in funcs) {
|
|
63
83
|
const resultItem = funcs[key](...args)
|
|
@@ -70,14 +90,21 @@ const funcObjectAll = funcs => function objectAllFuncs(...args) {
|
|
|
70
90
|
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
71
91
|
}
|
|
72
92
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
93
|
+
// _assign(object Object, funcs Object<function>) -> Promise|Object
|
|
94
|
+
const _assign = function (object, funcs) {
|
|
95
|
+
const result = functionObjectAll(funcs, [object])
|
|
96
|
+
return isPromise(result)
|
|
97
|
+
? result.then(curry3(objectAssign, {}, object, __))
|
|
98
|
+
: ({ ...object, ...result })
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const assign = function (arg0, arg1) {
|
|
102
|
+
if (arg1 == null) {
|
|
103
|
+
return curry2(_assign, __, arg0)
|
|
80
104
|
}
|
|
105
|
+
return isPromise(arg0)
|
|
106
|
+
? arg0.then(curry2(_assign, __, arg1))
|
|
107
|
+
: _assign(arg0, arg1)
|
|
81
108
|
}
|
|
82
109
|
|
|
83
110
|
return assign
|
package/dist/assign.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.assign=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Object.assign,
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.assign=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Object.assign,e=Symbol.for("placeholder"),o=function(n,t,o){return t==e?((n,t)=>function(e){return n(e,t)})(n,o):((n,t)=>function(e){return n(t,e)})(n,t)},u=function(n,t,o,u){return t==e?((n,t,e)=>function(o){return n(o,t,e)})(n,o,u):o==e?((n,t,e)=>function(o){return n(t,o,e)})(n,t,u):((n,t,e)=>function(o){return n(t,e,o)})(n,t,o)},r=Promise.all.bind(Promise),i=function(n,t,e){return n[t]=e,n},c=function(o,c){const f=function(t,o){const c={},f=[];for(const r in t){const s=t[r](...o);n(s)?f.push(s.then(u(i,c,r,e))):c[r]=s}return 0==f.length?c:r(f).then((s=c,function(){return s}));var s}(c,[o]);return n(f)?f.then(u(t,{},o,e)):{...o,...f}};return function(t,u){return null==u?o(c,e,t):n(t)?t.then(o(c,e,u)):c(t,u)}}());
|
package/dist/assign.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,objectAssign=Object.assign,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},always=r=>function(){return r},promiseAll=Promise.all.bind(Promise),objectSet=function(r,n,e){return r[n]=e,r},
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,objectAssign=Object.assign,__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},always=r=>function(){return r},promiseAll=Promise.all.bind(Promise),objectSet=function(r,n,e){return r[n]=e,r},functionObjectAll=function(r,n){const e={},t=[];for(const o in r){const u=r[o](...n);isPromise(u)?t.push(u.then(curry3(objectSet,e,o,__))):e[o]=u}return 0==t.length?e:promiseAll(t).then((o=e,function(){return o}));var o},_assign=function(r,n){const e=functionObjectAll(n,[r]);return isPromise(e)?e.then(curry3(objectAssign,{},r,__)):{...r,...e}},assign=function(r,n){return null==n?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,n)):_assign(r,n)};export default assign;
|
package/dist/assign.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
|
|
|
@@ -11,6 +11,26 @@ const objectAssign = Object.assign
|
|
|
11
11
|
|
|
12
12
|
const __ = Symbol.for('placeholder')
|
|
13
13
|
|
|
14
|
+
// argument resolver for curry2
|
|
15
|
+
const curry2ResolveArg0 = (
|
|
16
|
+
baseFunc, arg1,
|
|
17
|
+
) => function arg0Resolver(arg0) {
|
|
18
|
+
return baseFunc(arg0, arg1)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// argument resolver for curry2
|
|
22
|
+
const curry2ResolveArg1 = (
|
|
23
|
+
baseFunc, arg0,
|
|
24
|
+
) => function arg1Resolver(arg1) {
|
|
25
|
+
return baseFunc(arg0, arg1)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
29
|
+
return arg0 == __
|
|
30
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
31
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
32
|
+
}
|
|
33
|
+
|
|
14
34
|
// argument resolver for curry3
|
|
15
35
|
const curry3ResolveArg0 = (
|
|
16
36
|
baseFunc, arg1, arg2,
|
|
@@ -51,7 +71,7 @@ const objectSet = function (object, property, value) {
|
|
|
51
71
|
return object
|
|
52
72
|
}
|
|
53
73
|
|
|
54
|
-
const
|
|
74
|
+
const functionObjectAll = function (funcs, args) {
|
|
55
75
|
const result = {}, promises = []
|
|
56
76
|
for (const key in funcs) {
|
|
57
77
|
const resultItem = funcs[key](...args)
|
|
@@ -64,14 +84,21 @@ const funcObjectAll = funcs => function objectAllFuncs(...args) {
|
|
|
64
84
|
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
65
85
|
}
|
|
66
86
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
87
|
+
// _assign(object Object, funcs Object<function>) -> Promise|Object
|
|
88
|
+
const _assign = function (object, funcs) {
|
|
89
|
+
const result = functionObjectAll(funcs, [object])
|
|
90
|
+
return isPromise(result)
|
|
91
|
+
? result.then(curry3(objectAssign, {}, object, __))
|
|
92
|
+
: ({ ...object, ...result })
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const assign = function (arg0, arg1) {
|
|
96
|
+
if (arg1 == null) {
|
|
97
|
+
return curry2(_assign, __, arg0)
|
|
74
98
|
}
|
|
99
|
+
return isPromise(arg0)
|
|
100
|
+
? arg0.then(curry2(_assign, __, arg1))
|
|
101
|
+
: _assign(arg0, arg1)
|
|
75
102
|
}
|
|
76
103
|
|
|
77
104
|
export default assign
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rubico v2.0.0
|
|
3
|
+
* https://github.com/a-synchronous/rubico
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
|
+
* rubico may be freely distributed under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
const __ = Symbol.for('placeholder')
|
|
8
|
+
|
|
9
|
+
// argument resolver for curry2
|
|
10
|
+
const curry2ResolveArg0 = (
|
|
11
|
+
baseFunc, arg1,
|
|
12
|
+
) => function arg0Resolver(arg0) {
|
|
13
|
+
return baseFunc(arg0, arg1)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// argument resolver for curry2
|
|
17
|
+
const curry2ResolveArg1 = (
|
|
18
|
+
baseFunc, arg0,
|
|
19
|
+
) => function arg1Resolver(arg1) {
|
|
20
|
+
return baseFunc(arg0, arg1)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
24
|
+
return arg0 == __
|
|
25
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
26
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
30
|
+
|
|
31
|
+
const funcApply = (func, args) => func(...args)
|
|
32
|
+
|
|
33
|
+
const isPromise = value => value != null && typeof value.then == 'function'
|
|
34
|
+
|
|
35
|
+
const areAnyValuesPromises = function (values) {
|
|
36
|
+
const length = values.length
|
|
37
|
+
let index = -1
|
|
38
|
+
while (++index < length) {
|
|
39
|
+
const value = values[index]
|
|
40
|
+
if (isPromise(value)) {
|
|
41
|
+
return true
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const funcConcat = (
|
|
48
|
+
funcA, funcB,
|
|
49
|
+
) => function pipedFunction(...args) {
|
|
50
|
+
const intermediate = funcA(...args)
|
|
51
|
+
return isPromise(intermediate)
|
|
52
|
+
? intermediate.then(funcB)
|
|
53
|
+
: funcB(intermediate)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const compose = function (...args) {
|
|
57
|
+
const funcs = args.pop()
|
|
58
|
+
const composition = funcs.reduceRight(funcConcat)
|
|
59
|
+
|
|
60
|
+
if (args.length == 0) {
|
|
61
|
+
return composition
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (areAnyValuesPromises(args)) {
|
|
65
|
+
return promiseAll(args).then(curry2(funcApply, composition, __))
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return composition(...args)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export default compose
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rubico v2.0.0
|
|
3
|
+
* https://github.com/a-synchronous/rubico
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
|
+
* rubico may be freely distributed under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
const __=Symbol.for("placeholder"),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)},promiseAll=Promise.all.bind(Promise),funcApply=(r,e)=>r(...e),isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1},funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},compose=function(...r){const e=r.pop().reduceRight(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then((n=funcApply,t=__,(o=e)==__?curry2ResolveArg0(n,t):curry2ResolveArg1(n,o))):e(...r);var n,o,t};export default compose;
|
package/dist/compose.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rubico v2.0.0
|
|
3
|
+
* https://github.com/a-synchronous/rubico
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
|
+
* rubico may be freely distributed under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
(function (root, compose) {
|
|
9
|
+
if (typeof module == 'object') (module.exports = compose) // CommonJS
|
|
10
|
+
else if (typeof define == 'function') define(() => compose) // AMD
|
|
11
|
+
else (root.compose = compose) // Browser
|
|
12
|
+
}(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
|
|
13
|
+
const __ = Symbol.for('placeholder')
|
|
14
|
+
|
|
15
|
+
// argument resolver for curry2
|
|
16
|
+
const curry2ResolveArg0 = (
|
|
17
|
+
baseFunc, arg1,
|
|
18
|
+
) => function arg0Resolver(arg0) {
|
|
19
|
+
return baseFunc(arg0, arg1)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// argument resolver for curry2
|
|
23
|
+
const curry2ResolveArg1 = (
|
|
24
|
+
baseFunc, arg0,
|
|
25
|
+
) => function arg1Resolver(arg1) {
|
|
26
|
+
return baseFunc(arg0, arg1)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
30
|
+
return arg0 == __
|
|
31
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
32
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
36
|
+
|
|
37
|
+
const funcApply = (func, args) => func(...args)
|
|
38
|
+
|
|
39
|
+
const isPromise = value => value != null && typeof value.then == 'function'
|
|
40
|
+
|
|
41
|
+
const areAnyValuesPromises = function (values) {
|
|
42
|
+
const length = values.length
|
|
43
|
+
let index = -1
|
|
44
|
+
while (++index < length) {
|
|
45
|
+
const value = values[index]
|
|
46
|
+
if (isPromise(value)) {
|
|
47
|
+
return true
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return false
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const funcConcat = (
|
|
54
|
+
funcA, funcB,
|
|
55
|
+
) => function pipedFunction(...args) {
|
|
56
|
+
const intermediate = funcA(...args)
|
|
57
|
+
return isPromise(intermediate)
|
|
58
|
+
? intermediate.then(funcB)
|
|
59
|
+
: funcB(intermediate)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const compose = function (...args) {
|
|
63
|
+
const funcs = args.pop()
|
|
64
|
+
const composition = funcs.reduceRight(funcConcat)
|
|
65
|
+
|
|
66
|
+
if (args.length == 0) {
|
|
67
|
+
return composition
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (areAnyValuesPromises(args)) {
|
|
71
|
+
return promiseAll(args).then(curry2(funcApply, composition, __))
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return composition(...args)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return compose
|
|
78
|
+
}())))
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rubico v2.0.0
|
|
3
|
+
* https://github.com/a-synchronous/rubico
|
|
4
|
+
* (c) 2019-2023 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.compose=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Symbol.for("placeholder"),t=Promise.all.bind(Promise),e=(n,t)=>n(...t),o=n=>null!=n&&"function"==typeof n.then,r=(n,t)=>function(...e){const r=n(...e);return o(r)?r.then(t):t(r)};return function(...u){const c=u.pop().reduceRight(r);return 0==u.length?c:function(n){const t=n.length;let e=-1;for(;++e<t;){const t=n[e];if(o(t))return!0}return!1}(u)?t(u).then((i=e,l=n,(f=c)==n?((n,t)=>function(e){return n(e,t)})(i,l):((n,t)=>function(e){return n(t,e)})(i,f))):c(...u);var i,f,l}}());
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rubico v2.0.0
|
|
3
|
+
* https://github.com/a-synchronous/rubico
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
|
+
* rubico may be freely distributed under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
const __=Symbol.for("placeholder"),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)},promiseAll=Promise.all.bind(Promise),funcApply=(r,e)=>r(...e),isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1},funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},compose=function(...r){const e=r.pop().reduceRight(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then((n=funcApply,t=__,(o=e)==__?curry2ResolveArg0(n,t):curry2ResolveArg1(n,o))):e(...r);var n,o,t};export default compose;
|