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/x/groupBy.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
|
|
|
@@ -48,37 +48,6 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
|
48
48
|
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
// argument resolver for curryArgs3
|
|
52
|
-
const curryArgs3ResolveArgs0 = (
|
|
53
|
-
baseFunc, arg1, arg2,
|
|
54
|
-
) => function args0Resolver(...args) {
|
|
55
|
-
return baseFunc(args, arg1, arg2)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// argument resolver for curryArgs3
|
|
59
|
-
const curryArgs3ResolveArgs1 = (
|
|
60
|
-
baseFunc, arg0, arg2,
|
|
61
|
-
) => function arg1Resolver(...args) {
|
|
62
|
-
return baseFunc(arg0, args, arg2)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// argument resolver for curryArgs3
|
|
66
|
-
const curryArgs3ResolveArgs2 = (
|
|
67
|
-
baseFunc, arg0, arg1,
|
|
68
|
-
) => function arg2Resolver(...args) {
|
|
69
|
-
return baseFunc(arg0, arg1, args)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
73
|
-
if (arg0 == __) {
|
|
74
|
-
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
75
|
-
}
|
|
76
|
-
if (arg1 == __) {
|
|
77
|
-
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
78
|
-
}
|
|
79
|
-
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
51
|
const isArray = Array.isArray
|
|
83
52
|
|
|
84
53
|
const objectValues = Object.values
|
|
@@ -175,6 +144,37 @@ const curry2 = function (baseFunc, arg0, arg1) {
|
|
|
175
144
|
: curry2ResolveArg1(baseFunc, arg0)
|
|
176
145
|
}
|
|
177
146
|
|
|
147
|
+
// argument resolver for curryArgs3
|
|
148
|
+
const curryArgs3ResolveArgs0 = (
|
|
149
|
+
baseFunc, arg1, arg2,
|
|
150
|
+
) => function args0Resolver(...args) {
|
|
151
|
+
return baseFunc(args, arg1, arg2)
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// argument resolver for curryArgs3
|
|
155
|
+
const curryArgs3ResolveArgs1 = (
|
|
156
|
+
baseFunc, arg0, arg2,
|
|
157
|
+
) => function arg1Resolver(...args) {
|
|
158
|
+
return baseFunc(arg0, args, arg2)
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// argument resolver for curryArgs3
|
|
162
|
+
const curryArgs3ResolveArgs2 = (
|
|
163
|
+
baseFunc, arg0, arg1,
|
|
164
|
+
) => function arg2Resolver(...args) {
|
|
165
|
+
return baseFunc(arg0, arg1, args)
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
169
|
+
if (arg0 == __) {
|
|
170
|
+
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
171
|
+
}
|
|
172
|
+
if (arg1 == __) {
|
|
173
|
+
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
174
|
+
}
|
|
175
|
+
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
178
|
// argument resolver for curry4
|
|
179
179
|
const curry4ResolveArg0 = (
|
|
180
180
|
baseFunc, arg1, arg2, arg3,
|
|
@@ -297,13 +297,6 @@ const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
|
|
|
297
297
|
|
|
298
298
|
const objectKeys = Object.keys
|
|
299
299
|
|
|
300
|
-
const objectGetFirstKey = function (object) {
|
|
301
|
-
for (const key in object) {
|
|
302
|
-
return key
|
|
303
|
-
}
|
|
304
|
-
return undefined
|
|
305
|
-
}
|
|
306
|
-
|
|
307
300
|
const objectReduceAsync = async function (object, reducer, result, keys, index) {
|
|
308
301
|
const keysLength = keys.length
|
|
309
302
|
while (++index < keysLength) {
|
|
@@ -364,24 +357,6 @@ const mapReduce = function (map, reducer, result) {
|
|
|
364
357
|
return result
|
|
365
358
|
}
|
|
366
359
|
|
|
367
|
-
const funcConcatSync = (
|
|
368
|
-
funcA, funcB,
|
|
369
|
-
) => function pipedFunction(...args) {
|
|
370
|
-
return funcB(funcA(...args))
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
const generatorFunctionReduce = (
|
|
374
|
-
generatorFunction, reducer, result,
|
|
375
|
-
) => funcConcatSync(
|
|
376
|
-
generatorFunction,
|
|
377
|
-
curry3(iteratorReduce, __, reducer, result))
|
|
378
|
-
|
|
379
|
-
const asyncGeneratorFunctionReduce = (
|
|
380
|
-
asyncGeneratorFunction, reducer, result,
|
|
381
|
-
) => funcConcatSync(
|
|
382
|
-
asyncGeneratorFunction,
|
|
383
|
-
curry3(asyncIteratorReduce, __, reducer, result))
|
|
384
|
-
|
|
385
360
|
const reducerConcat = (
|
|
386
361
|
reducerA, reducerB,
|
|
387
362
|
) => function pipedReducer(result, item) {
|
|
@@ -391,26 +366,10 @@ const reducerConcat = (
|
|
|
391
366
|
: reducerB(intermediate, item)
|
|
392
367
|
}
|
|
393
368
|
|
|
394
|
-
const genericReduce = function (
|
|
395
|
-
const collection = args[0]
|
|
369
|
+
const genericReduce = function (collection, reducer, result) {
|
|
396
370
|
if (isArray(collection)) {
|
|
397
371
|
return arrayReduce(collection, reducer, result)
|
|
398
372
|
}
|
|
399
|
-
if (typeof collection == 'function') {
|
|
400
|
-
if (isGeneratorFunction(collection)) {
|
|
401
|
-
return generatorFunctionReduce(collection, reducer, result)
|
|
402
|
-
}
|
|
403
|
-
if (isAsyncGeneratorFunction(collection)) {
|
|
404
|
-
return asyncGeneratorFunctionReduce(collection, reducer, result)
|
|
405
|
-
}
|
|
406
|
-
return curryArgs3(
|
|
407
|
-
genericReduce,
|
|
408
|
-
__,
|
|
409
|
-
args.length == 1
|
|
410
|
-
? reducerConcat(reducer, collection)
|
|
411
|
-
: args.reduce(reducerConcat, reducer),
|
|
412
|
-
result)
|
|
413
|
-
}
|
|
414
373
|
if (collection == null) {
|
|
415
374
|
return result === undefined
|
|
416
375
|
? curry2(reducer, collection, __)
|
|
@@ -445,28 +404,27 @@ const genericReduce = function (args, reducer, result) {
|
|
|
445
404
|
: reducer(result, collection)
|
|
446
405
|
}
|
|
447
406
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
const
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
return genericReduce([args[0]], reducer, initialValue)
|
|
407
|
+
// _reduce(collection any, reducer function, initialValue function|any) -> Promise
|
|
408
|
+
const _reduce = function (collection, reducer, initialValue) {
|
|
409
|
+
if (typeof initialValue == 'function') {
|
|
410
|
+
const actualInitialValue = initialValue(collection)
|
|
411
|
+
return isPromise(actualInitialValue)
|
|
412
|
+
? actualInitialValue.then(curry3(genericReduce, collection, reducer, __))
|
|
413
|
+
: genericReduce(collection, reducer, actualInitialValue)
|
|
456
414
|
}
|
|
415
|
+
return isPromise(initialValue)
|
|
416
|
+
? initialValue.then(curry3(genericReduce, collection, reducer, __))
|
|
417
|
+
: genericReduce(collection, reducer, initialValue)
|
|
418
|
+
}
|
|
457
419
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
return isPromise(result)
|
|
465
|
-
? result.then(curry3(genericReduce, args, reducer, __))
|
|
466
|
-
: genericReduce(args, reducer, result)
|
|
467
|
-
}
|
|
420
|
+
const reduce = function (...args) {
|
|
421
|
+
if (typeof args[0] == 'function') {
|
|
422
|
+
return curry3(_reduce, __, args[0], args[1])
|
|
423
|
+
}
|
|
424
|
+
if (isPromise(args[0])) {
|
|
425
|
+
return args[0].then(curry3(_reduce, __, args[1], args[2]))
|
|
468
426
|
}
|
|
469
|
-
return
|
|
427
|
+
return _reduce(args[0], args[1], args[2])
|
|
470
428
|
}
|
|
471
429
|
|
|
472
430
|
// (mapOfArrays Map<any=>Array>, key any, item any) => mapOfArrays
|
package/dist/x/groupBy.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.groupBy=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=()=>new Map,t=n=>null!=n&&"function"==typeof n.then,e=Symbol.for("placeholder"),
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.groupBy=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=()=>new Map,t=n=>null!=n&&"function"==typeof n.then,e=Symbol.for("placeholder"),r=function(n,t,r,o){return t==e?((n,t,e)=>function(r){return n(r,t,e)})(n,r,o):r==e?((n,t,e)=>function(r){return n(t,r,e)})(n,t,o):((n,t,e)=>function(r){return n(t,e,r)})(n,t,r)},o=Array.isArray,u=(Object.values,Object.prototype.toString,async function(n,e,r){let o=n.next();if(o.done)return r;for(;!o.done;)r=e(r,o.value),t(r)&&(r=await r),o=n.next();return r}),f=Symbol.iterator,i=Symbol.asyncIterator,c=function(n,t,r){return t==e?((n,t)=>function(e){return n(e,t)})(n,r):((n,t)=>function(e){return n(t,e)})(n,t)},a=function(n,t,r,o,u){return t==e?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,r,o,u):r==e?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,o,u):o==e?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,r,u):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,r,o)},l=async function(n,e,r,o){const u=n.length;for(;++o<u;)r=e(r,n[o],o,n),t(r)&&(r=await r);return r},s=Object.keys,y=async function(n,e,r,o,u){const f=o.length;for(;++u<f;){const f=o[u];r=e(r,n[f],f,n),t(r)&&(r=await r)}return r},p=async function(n,e,r,o){for(const[u,f]of o)r=e(r,f,u,n),t(r)&&(r=await r);return r},d=function(n,d,h){return o(n)?function(n,r,o){const u=n.length;let f=-1;for(void 0===o&&(o=n[++f]);++f<u;)if(o=r(o,n[f],f,n),t(o))return o.then(a(l,n,r,e,f));return o}(n,d,h):null==n?void 0===h?c(d,n,e):d(h,n):n.constructor==Map?function(n,r,o){const u=n.entries();if(void 0===o){const n=u.next();if(n.done)return o;o=n.value[1]}for(const[f,i]of u)if(o=r(o,i,f,n),t(o))return o.then(a(p,n,r,e,u));return o}(n,d,h):"function"==typeof n[f]?function(n,o,f){let i=n.next();if(i.done)return f;for(void 0===f&&(f=i.value,i=n.next());!i.done;){if(f=o(f,i.value),t(f))return f.then(r(u,n,o,e));i=n.next()}return f}(n[f](),d,h):"function"==typeof n[i]?async function(n,t,e){let r=await n.next();if(r.done)return e;for(void 0===e&&(e=r.value,r=await n.next());!r.done;)e=await t(e,r.value),r=await n.next();return e}(n[i](),d,h):"function"==typeof n.reduce?n.reduce(d,h):"function"==typeof n.chain?n.chain(c(d,h,e)):"function"==typeof n.flatMap?n.flatMap(c(d,h,e)):n.constructor==Object?function(n,r,o){const u=s(n),f=u.length;let i=-1;for(void 0===o&&(o=n[u[++i]]);++i<f;){const f=u[i];if(o=r(o,n[f],f,n),t(o))return o.then((c=y,l=r,p=e,d=u,h=i,(a=n)==e?((n,t,e,r,o)=>function(u){return n(u,t,e,r,o)})(c,l,p,d,h):l==e?((n,t,e,r,o)=>function(u){return n(t,u,e,r,o)})(c,a,p,d,h):p==e?((n,t,e,r,o)=>function(u){return n(t,e,u,r,o)})(c,a,l,d,h):d==e?((n,t,e,r,o)=>function(u){return n(t,e,r,u,o)})(c,a,l,p,h):((n,t,e,r,o)=>function(u){return n(t,e,r,o,u)})(c,a,l,p,d)))}var c,a,l,p,d,h;return o}(n,d,h):void 0===h?c(d,n,e):d(h,n)},h=function(n,o,u){if("function"==typeof u){const f=u(n);return t(f)?f.then(r(d,n,o,e)):d(n,o,f)}return t(u)?u.then(r(d,n,o,e)):d(n,o,u)},v=function(...n){return"function"==typeof n[0]?r(h,e,n[0],n[1]):t(n[0])?n[0].then(r(h,e,n[1],n[2])):h(n[0],n[1],n[2])},b=function(n,t,e){const r=n.get(t);return null==r?n.set(t,[e]):r.push(e),n};return o=>{return v("function"==typeof o?(f=o,function(n,o){const u=f(o);return t(u)?u.then(r(b,n,e,o)):b(n,u,o)}):(u=o,function(n,t){return b(n,t[u],t)}),n);var u,f}}());
|
package/dist/x/groupBy.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 EmptyMap=()=>new Map,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)},
|
|
7
|
+
const EmptyMap=()=>new Map,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,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,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)},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(u){return r(u,e,n,t,o)},curry5ResolveArg1=(r,e,n,t,o)=>function(u){return r(e,u,n,t,o)},curry5ResolveArg2=(r,e,n,t,o)=>function(u){return r(e,n,u,t,o)},curry5ResolveArg3=(r,e,n,t,o)=>function(u){return r(e,n,t,u,o)},curry5ResolveArg4=(r,e,n,t,o)=>function(u){return r(e,n,t,o,u)},curry5=function(r,e,n,t,o,u){return e==__?curry5ResolveArg0(r,n,t,o,u):n==__?curry5ResolveArg1(r,e,t,o,u):t==__?curry5ResolveArg2(r,e,n,o,u):o==__?curry5ResolveArg3(r,e,n,t,u):curry5ResolveArg4(r,e,n,t,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,n,t,o){const u=t.length;for(;++o<u;){const u=t[o];n=e(n,r[u],u,r),isPromise(n)&&(n=await n)}return n},objectReduce=function(r,e,n){const t=objectKeys(r),o=t.length;let u=-1;for(void 0===n&&(n=r[t[++u]]);++u<o;){const o=t[u];if(n=e(n,r[o],o,r),isPromise(n))return n.then((c=objectReduceAsync,i=e,y=__,a=t,f=u,(s=r)==__?curry5ResolveArg0(c,i,y,a,f):i==__?curry5ResolveArg1(c,s,y,a,f):y==__?curry5ResolveArg2(c,s,i,a,f):a==__?curry5ResolveArg3(c,s,i,y,f):curry5ResolveArg4(c,s,i,y,a)))}var c,s,i,y,a,f;return n},mapReduceAsync=async function(r,e,n,t){for(const[o,u]of t)n=e(n,u,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,u]of t)if(n=e(n,u,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)},_reduce=function(r,e,n){if("function"==typeof n){const t=n(r);return isPromise(t)?t.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,t)}return isPromise(n)?n.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,n)},reduce=function(...r){return"function"==typeof r[0]?curry3(_reduce,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_reduce,__,r[1],r[2])):_reduce(r[0],r[1],r[2])},group=function(r,e,n){const t=r.get(e);return null==t?r.set(e,[n]):t.push(n),r},groupByProperty=r=>function(e,n){return group(e,n[r],n)},groupByResolver=r=>function(e,n){const t=r(n);return isPromise(t)?t.then(curry3(group,e,__,n)):group(e,t,n)},groupBy=r=>{return reduce("function"==typeof r?(n=r,function(r,e){const t=n(e);return isPromise(t)?t.then(curry3(group,r,__,e)):group(r,t,e)}):(e=r,function(r,n){return group(r,n[e],n)}),EmptyMap);var e,n};export default groupBy;
|
package/dist/x/groupBy.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
|
// () => Map<>
|
|
@@ -42,37 +42,6 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
|
42
42
|
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
// argument resolver for curryArgs3
|
|
46
|
-
const curryArgs3ResolveArgs0 = (
|
|
47
|
-
baseFunc, arg1, arg2,
|
|
48
|
-
) => function args0Resolver(...args) {
|
|
49
|
-
return baseFunc(args, arg1, arg2)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// argument resolver for curryArgs3
|
|
53
|
-
const curryArgs3ResolveArgs1 = (
|
|
54
|
-
baseFunc, arg0, arg2,
|
|
55
|
-
) => function arg1Resolver(...args) {
|
|
56
|
-
return baseFunc(arg0, args, arg2)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// argument resolver for curryArgs3
|
|
60
|
-
const curryArgs3ResolveArgs2 = (
|
|
61
|
-
baseFunc, arg0, arg1,
|
|
62
|
-
) => function arg2Resolver(...args) {
|
|
63
|
-
return baseFunc(arg0, arg1, args)
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
67
|
-
if (arg0 == __) {
|
|
68
|
-
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
69
|
-
}
|
|
70
|
-
if (arg1 == __) {
|
|
71
|
-
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
72
|
-
}
|
|
73
|
-
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
45
|
const isArray = Array.isArray
|
|
77
46
|
|
|
78
47
|
const objectValues = Object.values
|
|
@@ -169,6 +138,37 @@ const curry2 = function (baseFunc, arg0, arg1) {
|
|
|
169
138
|
: curry2ResolveArg1(baseFunc, arg0)
|
|
170
139
|
}
|
|
171
140
|
|
|
141
|
+
// argument resolver for curryArgs3
|
|
142
|
+
const curryArgs3ResolveArgs0 = (
|
|
143
|
+
baseFunc, arg1, arg2,
|
|
144
|
+
) => function args0Resolver(...args) {
|
|
145
|
+
return baseFunc(args, arg1, arg2)
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// argument resolver for curryArgs3
|
|
149
|
+
const curryArgs3ResolveArgs1 = (
|
|
150
|
+
baseFunc, arg0, arg2,
|
|
151
|
+
) => function arg1Resolver(...args) {
|
|
152
|
+
return baseFunc(arg0, args, arg2)
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// argument resolver for curryArgs3
|
|
156
|
+
const curryArgs3ResolveArgs2 = (
|
|
157
|
+
baseFunc, arg0, arg1,
|
|
158
|
+
) => function arg2Resolver(...args) {
|
|
159
|
+
return baseFunc(arg0, arg1, args)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
163
|
+
if (arg0 == __) {
|
|
164
|
+
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
165
|
+
}
|
|
166
|
+
if (arg1 == __) {
|
|
167
|
+
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
168
|
+
}
|
|
169
|
+
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
172
|
// argument resolver for curry4
|
|
173
173
|
const curry4ResolveArg0 = (
|
|
174
174
|
baseFunc, arg1, arg2, arg3,
|
|
@@ -291,13 +291,6 @@ const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
|
|
|
291
291
|
|
|
292
292
|
const objectKeys = Object.keys
|
|
293
293
|
|
|
294
|
-
const objectGetFirstKey = function (object) {
|
|
295
|
-
for (const key in object) {
|
|
296
|
-
return key
|
|
297
|
-
}
|
|
298
|
-
return undefined
|
|
299
|
-
}
|
|
300
|
-
|
|
301
294
|
const objectReduceAsync = async function (object, reducer, result, keys, index) {
|
|
302
295
|
const keysLength = keys.length
|
|
303
296
|
while (++index < keysLength) {
|
|
@@ -358,24 +351,6 @@ const mapReduce = function (map, reducer, result) {
|
|
|
358
351
|
return result
|
|
359
352
|
}
|
|
360
353
|
|
|
361
|
-
const funcConcatSync = (
|
|
362
|
-
funcA, funcB,
|
|
363
|
-
) => function pipedFunction(...args) {
|
|
364
|
-
return funcB(funcA(...args))
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
const generatorFunctionReduce = (
|
|
368
|
-
generatorFunction, reducer, result,
|
|
369
|
-
) => funcConcatSync(
|
|
370
|
-
generatorFunction,
|
|
371
|
-
curry3(iteratorReduce, __, reducer, result))
|
|
372
|
-
|
|
373
|
-
const asyncGeneratorFunctionReduce = (
|
|
374
|
-
asyncGeneratorFunction, reducer, result,
|
|
375
|
-
) => funcConcatSync(
|
|
376
|
-
asyncGeneratorFunction,
|
|
377
|
-
curry3(asyncIteratorReduce, __, reducer, result))
|
|
378
|
-
|
|
379
354
|
const reducerConcat = (
|
|
380
355
|
reducerA, reducerB,
|
|
381
356
|
) => function pipedReducer(result, item) {
|
|
@@ -385,26 +360,10 @@ const reducerConcat = (
|
|
|
385
360
|
: reducerB(intermediate, item)
|
|
386
361
|
}
|
|
387
362
|
|
|
388
|
-
const genericReduce = function (
|
|
389
|
-
const collection = args[0]
|
|
363
|
+
const genericReduce = function (collection, reducer, result) {
|
|
390
364
|
if (isArray(collection)) {
|
|
391
365
|
return arrayReduce(collection, reducer, result)
|
|
392
366
|
}
|
|
393
|
-
if (typeof collection == 'function') {
|
|
394
|
-
if (isGeneratorFunction(collection)) {
|
|
395
|
-
return generatorFunctionReduce(collection, reducer, result)
|
|
396
|
-
}
|
|
397
|
-
if (isAsyncGeneratorFunction(collection)) {
|
|
398
|
-
return asyncGeneratorFunctionReduce(collection, reducer, result)
|
|
399
|
-
}
|
|
400
|
-
return curryArgs3(
|
|
401
|
-
genericReduce,
|
|
402
|
-
__,
|
|
403
|
-
args.length == 1
|
|
404
|
-
? reducerConcat(reducer, collection)
|
|
405
|
-
: args.reduce(reducerConcat, reducer),
|
|
406
|
-
result)
|
|
407
|
-
}
|
|
408
367
|
if (collection == null) {
|
|
409
368
|
return result === undefined
|
|
410
369
|
? curry2(reducer, collection, __)
|
|
@@ -439,28 +398,27 @@ const genericReduce = function (args, reducer, result) {
|
|
|
439
398
|
: reducer(result, collection)
|
|
440
399
|
}
|
|
441
400
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
const
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
return genericReduce([args[0]], reducer, initialValue)
|
|
401
|
+
// _reduce(collection any, reducer function, initialValue function|any) -> Promise
|
|
402
|
+
const _reduce = function (collection, reducer, initialValue) {
|
|
403
|
+
if (typeof initialValue == 'function') {
|
|
404
|
+
const actualInitialValue = initialValue(collection)
|
|
405
|
+
return isPromise(actualInitialValue)
|
|
406
|
+
? actualInitialValue.then(curry3(genericReduce, collection, reducer, __))
|
|
407
|
+
: genericReduce(collection, reducer, actualInitialValue)
|
|
450
408
|
}
|
|
409
|
+
return isPromise(initialValue)
|
|
410
|
+
? initialValue.then(curry3(genericReduce, collection, reducer, __))
|
|
411
|
+
: genericReduce(collection, reducer, initialValue)
|
|
412
|
+
}
|
|
451
413
|
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
return isPromise(result)
|
|
459
|
-
? result.then(curry3(genericReduce, args, reducer, __))
|
|
460
|
-
: genericReduce(args, reducer, result)
|
|
461
|
-
}
|
|
414
|
+
const reduce = function (...args) {
|
|
415
|
+
if (typeof args[0] == 'function') {
|
|
416
|
+
return curry3(_reduce, __, args[0], args[1])
|
|
417
|
+
}
|
|
418
|
+
if (isPromise(args[0])) {
|
|
419
|
+
return args[0].then(curry3(_reduce, __, args[1], args[2]))
|
|
462
420
|
}
|
|
463
|
-
return
|
|
421
|
+
return _reduce(args[0], args[1], args[2])
|
|
464
422
|
}
|
|
465
423
|
|
|
466
424
|
// (mapOfArrays Map<any=>Array>, key any, item any) => mapOfArrays
|
package/dist/x/has.es.js
CHANGED
package/dist/x/has.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 objectHas=function(t,n){return null!=t[n]},has=t=>function(n){return null!=n&&("function"==typeof n.has?n.has(t):n.constructor==Object&&objectHas(n,t))};export default has;
|
package/dist/x/has.js
CHANGED
package/dist/x/has.min.js
CHANGED
package/dist/x/has.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 objectHas=function(t,n){return null!=t[n]},has=t=>function(n){return null!=n&&("function"==typeof n.has?n.has(t):n.constructor==Object&&objectHas(n,t))};export default has;
|
package/dist/x/has.mjs
CHANGED
package/dist/x/identity.es.js
CHANGED
package/dist/x/identity.js
CHANGED
package/dist/x/identity.min.js
CHANGED
package/dist/x/identity.min.mjs
CHANGED
package/dist/x/identity.mjs
CHANGED
package/dist/x/includes.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 isArray=Array.isArray,sameValueZero=function(n,r){return n===r||n!=n&&r!=r},objectIncludes=function(n,r){for(const u in n)if(e=r,t=n[u],e===t||e!=e&&t!=t)return!0;var e,t;return!1},includes=n=>function(r){return null!=r&&("function"==typeof r.includes?r.includes(n):r.constructor==Object&&objectIncludes(r,n))};export default includes;
|
package/dist/x/includes.js
CHANGED