rubico 1.9.7 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.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/README.md +158 -81
- 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/build +472 -0
- package/compose.js +46 -0
- package/dist/Transducer.es.js +481 -0
- package/dist/Transducer.es.min.js +7 -0
- package/dist/Transducer.js +488 -0
- package/dist/Transducer.min.js +8 -0
- package/dist/Transducer.mjs +481 -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/__.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.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.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.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.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.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.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.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.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.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.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/{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.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.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.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.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.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.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.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.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.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.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.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.mjs +52 -94
- package/dist/rubico.es.js +762 -883
- package/dist/rubico.es.min.js +3 -3
- package/dist/rubico.global.js +2794 -0
- package/dist/rubico.global.min.js +8 -0
- package/dist/rubico.js +739 -869
- package/dist/rubico.min.js +3 -3
- package/dist/rubico.mjs +762 -883
- 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.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/{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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.mjs +2 -2
- package/dist-test.js +31 -2042
- package/eq.js +21 -63
- package/es.js +739 -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 +739 -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 +22 -11
- 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/tmp.js +1 -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/__.min.mjs +0 -7
- package/dist/all.min.mjs +0 -7
- package/dist/always.min.mjs +0 -7
- package/dist/and.min.mjs +0 -7
- package/dist/any.es.min.js +0 -7
- package/dist/any.min.js +0 -8
- package/dist/any.min.mjs +0 -7
- package/dist/assign.min.mjs +0 -7
- package/dist/curry.min.mjs +0 -7
- package/dist/eq.min.mjs +0 -7
- package/dist/filter.min.mjs +0 -7
- package/dist/flatMap.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/get.min.mjs +0 -7
- package/dist/gt.min.mjs +0 -7
- package/dist/gte.min.mjs +0 -7
- package/dist/lt.min.mjs +0 -7
- package/dist/lte.min.mjs +0 -7
- package/dist/map.min.mjs +0 -7
- package/dist/not.min.mjs +0 -7
- package/dist/omit.min.mjs +0 -7
- package/dist/or.min.mjs +0 -7
- package/dist/pick.min.mjs +0 -7
- package/dist/pipe.min.mjs +0 -7
- package/dist/reduce.min.mjs +0 -7
- package/dist/rubico.min.mjs +0 -7
- package/dist/set.min.mjs +0 -7
- package/dist/switchCase.min.mjs +0 -7
- package/dist/tap.min.mjs +0 -7
- package/dist/thunkify.min.mjs +0 -7
- package/dist/transform.min.mjs +0 -7
- package/dist/tryCatch.min.mjs +0 -7
- package/dist/x/append.min.mjs +0 -7
- package/dist/x/callProp.min.mjs +0 -7
- package/dist/x/defaultsDeep.min.mjs +0 -7
- package/dist/x/differenceWith.min.mjs +0 -7
- package/dist/x/filterOut.min.mjs +0 -7
- package/dist/x/find.min.mjs +0 -7
- package/dist/x/findIndex.min.mjs +0 -7
- package/dist/x/first.min.mjs +0 -7
- package/dist/x/flatten.min.mjs +0 -7
- 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/dist/x/groupBy.min.mjs +0 -7
- package/dist/x/has.min.mjs +0 -7
- package/dist/x/identity.min.mjs +0 -7
- package/dist/x/includes.min.mjs +0 -7
- package/dist/x/isDeepEqual.min.mjs +0 -7
- package/dist/x/isEmpty.min.mjs +0 -7
- package/dist/x/isEqual.min.mjs +0 -7
- package/dist/x/isFunction.min.mjs +0 -7
- package/dist/x/isIn.min.mjs +0 -7
- package/dist/x/isObject.min.mjs +0 -7
- package/dist/x/isString.min.mjs +0 -7
- package/dist/x/keys.min.mjs +0 -7
- package/dist/x/last.min.mjs +0 -7
- package/dist/x/maxBy.min.mjs +0 -7
- package/dist/x/noop.min.mjs +0 -7
- package/dist/x/pluck.min.mjs +0 -7
- package/dist/x/prepend.min.mjs +0 -7
- package/dist/x/size.min.mjs +0 -7
- package/dist/x/trace.min.mjs +0 -7
- package/dist/x/unionWith.min.mjs +0 -7
- package/dist/x/uniq.min.mjs +0 -7
- package/dist/x/unless.min.mjs +0 -7
- package/dist/x/values.min.mjs +0 -7
- package/dist/x/when.min.mjs +0 -7
- package/distributor.js +0 -495
- 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/pluck.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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
|
|
|
@@ -91,20 +91,6 @@ const isObject = value => {
|
|
|
91
91
|
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
const objectProto = Object.prototype
|
|
95
|
-
|
|
96
|
-
const nativeObjectToString = objectProto.toString
|
|
97
|
-
|
|
98
|
-
const objectToString = value => nativeObjectToString.call(value)
|
|
99
|
-
|
|
100
|
-
const generatorFunctionTag = '[object GeneratorFunction]'
|
|
101
|
-
|
|
102
|
-
const isGeneratorFunction = value => objectToString(value) == generatorFunctionTag
|
|
103
|
-
|
|
104
|
-
const asyncGeneratorFunctionTag = '[object AsyncGeneratorFunction]'
|
|
105
|
-
|
|
106
|
-
const isAsyncGeneratorFunction = value => objectToString(value) == asyncGeneratorFunctionTag
|
|
107
|
-
|
|
108
94
|
const promiseAll = Promise.all.bind(Promise)
|
|
109
95
|
|
|
110
96
|
const arrayMap = function (array, mapper) {
|
|
@@ -123,31 +109,6 @@ const arrayMap = function (array, mapper) {
|
|
|
123
109
|
return isAsync ? promiseAll(result) : result
|
|
124
110
|
}
|
|
125
111
|
|
|
126
|
-
const generatorFunctionMap = (
|
|
127
|
-
generatorFunc, mapper,
|
|
128
|
-
) => function* mappingGeneratorFunc(...args) {
|
|
129
|
-
for (const item of generatorFunc(...args)) {
|
|
130
|
-
yield mapper(item)
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
const asyncGeneratorFunctionMap = function (asyncGeneratorFunc, mapper) {
|
|
135
|
-
return async function* mappingAsyncGeneratorFunc(...args) {
|
|
136
|
-
for await (const item of asyncGeneratorFunc(...args)) {
|
|
137
|
-
yield mapper(item)
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const reducerMap = (
|
|
143
|
-
reducer, mapper,
|
|
144
|
-
) => function mappingReducer(result, reducerItem) {
|
|
145
|
-
const mappingReducerItem = mapper(reducerItem)
|
|
146
|
-
return isPromise(mappingReducerItem)
|
|
147
|
-
? mappingReducerItem.then(curry2(reducer, result, __))
|
|
148
|
-
: reducer(result, mappingReducerItem)
|
|
149
|
-
}
|
|
150
|
-
|
|
151
112
|
// argument resolver for curry3
|
|
152
113
|
const curry3ResolveArg0 = (
|
|
153
114
|
baseFunc, arg1, arg2,
|
|
@@ -387,38 +348,6 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
|
|
|
387
348
|
return result
|
|
388
349
|
}
|
|
389
350
|
|
|
390
|
-
const arrayMapWithIndex = function (array, mapper) {
|
|
391
|
-
const arrayLength = array.length,
|
|
392
|
-
result = Array(arrayLength)
|
|
393
|
-
let index = -1, isAsync = false
|
|
394
|
-
while (++index < arrayLength) {
|
|
395
|
-
const resultItem = mapper(array[index], index, array)
|
|
396
|
-
if (isPromise(resultItem)) {
|
|
397
|
-
isAsync = true
|
|
398
|
-
}
|
|
399
|
-
result[index] = resultItem
|
|
400
|
-
}
|
|
401
|
-
return isAsync ? promiseAll(result) : result
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
const hasOwnProperty = Object.prototype.hasOwnProperty
|
|
405
|
-
const hasOwn = (obj, key) => hasOwnProperty.call(obj, key)
|
|
406
|
-
|
|
407
|
-
const objectMapOwn = function (object, mapper) {
|
|
408
|
-
const result = {}
|
|
409
|
-
let isAsync = false
|
|
410
|
-
for (const key in object) {
|
|
411
|
-
if (hasOwn(object, key)) {
|
|
412
|
-
const resultItem = mapper(object[key])
|
|
413
|
-
if (isPromise(resultItem)) {
|
|
414
|
-
isAsync = true
|
|
415
|
-
}
|
|
416
|
-
result[key] = resultItem
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
return isAsync ? promiseObjectAll(result) : result
|
|
420
|
-
}
|
|
421
|
-
|
|
422
351
|
const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
423
352
|
const argsLength = args.length,
|
|
424
353
|
curriedArgsLength = curriedArgs.length,
|
|
@@ -526,15 +455,6 @@ const _map = function (value, mapper) {
|
|
|
526
455
|
if (isArray(value)) {
|
|
527
456
|
return arrayMap(value, mapper)
|
|
528
457
|
}
|
|
529
|
-
if (typeof value == 'function') {
|
|
530
|
-
if (isGeneratorFunction(value)) {
|
|
531
|
-
return generatorFunctionMap(value, mapper)
|
|
532
|
-
}
|
|
533
|
-
if (isAsyncGeneratorFunction(value)) {
|
|
534
|
-
return asyncGeneratorFunctionMap(value, mapper)
|
|
535
|
-
}
|
|
536
|
-
return reducerMap(value, mapper)
|
|
537
|
-
}
|
|
538
458
|
if (value == null) {
|
|
539
459
|
return value
|
|
540
460
|
}
|
|
@@ -568,10 +488,15 @@ const _map = function (value, mapper) {
|
|
|
568
488
|
|
|
569
489
|
const map = (...args) => {
|
|
570
490
|
const mapper = args.pop()
|
|
571
|
-
if (args.length
|
|
572
|
-
return _map
|
|
491
|
+
if (args.length == 0) {
|
|
492
|
+
return curry2(_map, __, mapper)
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
const collection = args[0]
|
|
496
|
+
if (isPromise(collection)) {
|
|
497
|
+
return collection.then(curry2(_map, __, mapper))
|
|
573
498
|
}
|
|
574
|
-
return
|
|
499
|
+
return _map(collection, mapper)
|
|
575
500
|
}
|
|
576
501
|
|
|
577
502
|
map.entries = function mapEntries(mapper) {
|
|
@@ -603,20 +528,6 @@ map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
|
|
|
603
528
|
throw new TypeError(`${value} is not an Array`)
|
|
604
529
|
}
|
|
605
530
|
|
|
606
|
-
map.withIndex = mapper => function mappingWithIndex(value) {
|
|
607
|
-
if (isArray(value)) {
|
|
608
|
-
return arrayMapWithIndex(value, mapper)
|
|
609
|
-
}
|
|
610
|
-
throw new TypeError(`${value} is not an Array`)
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
map.own = mapper => function mappingOwnProperties(value) {
|
|
614
|
-
if (isObject(value) && !isArray(value)) {
|
|
615
|
-
return objectMapOwn(value, mapper)
|
|
616
|
-
}
|
|
617
|
-
throw new TypeError(`${value} is not an Object`)
|
|
618
|
-
}
|
|
619
|
-
|
|
620
531
|
const memoizeCappedUnary = function (func, cap) {
|
|
621
532
|
const cache = new Map(),
|
|
622
533
|
memoized = function memoized(arg0) {
|
|
@@ -675,14 +586,32 @@ const getByPath = function (value, path) {
|
|
|
675
586
|
return result
|
|
676
587
|
}
|
|
677
588
|
|
|
678
|
-
|
|
679
|
-
|
|
589
|
+
// _get(object Object, path string, defaultValue function|any)
|
|
590
|
+
const _get = function (object, path, defaultValue) {
|
|
591
|
+
const result = object == null ? undefined : getByPath(object, path)
|
|
680
592
|
return result === undefined
|
|
681
|
-
? typeof defaultValue == 'function' ? defaultValue(
|
|
593
|
+
? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
|
|
682
594
|
: result
|
|
683
595
|
}
|
|
684
596
|
|
|
685
|
-
const
|
|
597
|
+
const get = function (arg0, arg1, arg2) {
|
|
598
|
+
if (isPromise(arg0)) {
|
|
599
|
+
return arg0.then(curry3(_get, __, arg1, arg2))
|
|
600
|
+
}
|
|
601
|
+
if (isObject(arg0) && !isArray(arg0)) {
|
|
602
|
+
return _get(arg0, arg1, arg2)
|
|
603
|
+
}
|
|
604
|
+
return curry3(_get, __, arg0, arg1)
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
const pluck = function (...args) {
|
|
608
|
+
const path = args.pop()
|
|
609
|
+
const getter = get(path)
|
|
610
|
+
if (args.length == 0) {
|
|
611
|
+
return map(getter)
|
|
612
|
+
}
|
|
613
|
+
return map(args[0], getter)
|
|
614
|
+
}
|
|
686
615
|
|
|
687
616
|
return pluck
|
|
688
617
|
}())))
|
package/dist/x/pluck.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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.pluck=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=(t,
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.pluck=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},e=Symbol.iterator,r=(n,t)=>({toString:()=>"[object MappingIterator]",[e](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),o=n=>({value:n,done:!1}),u=Symbol.asyncIterator,c=(t,e)=>({[u](){return this},async next(){const r=await t.next();if(r.done)return r;const u=e(r.value);return n(u)?u.then(o):{value:u,done:!1}}}),i=Symbol.for("placeholder"),s=function(n,t,e){return t==i?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=Array.isArray,l=Promise.all.bind(Promise),h=function(t,e){const r=t.length,o=Array(r);let u=-1,c=!1;for(;++u<r;){const r=e(t[u],u,t);n(r)&&(c=!0),o[u]=r}return c?l(o):o},a=function(n,t,e,r){return t==i?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==i?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},p=(n,t,e)=>n[t](e),y=n=>function(){return n},g=function(n,t,e,r,o){return t==i?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==i?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==i?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,o):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},d=(n,t,e,r)=>n[t](e,r),w=t=>new Promise((t=>function(e){const r={};let o=0;for(const u in t){const c=t[u];n(c)?(o+=1,c.then((n=>function(t){r[n]=t,o-=1,0==o&&e(r)})(u))):r[u]=c}0==o&&e(r)})(t)),b=function(n,t,e){return n[t]=e,n},m=async function(t,e,r,o){const u=t.length;for(;++o<u;){const u=e(t[o]);r[o]=n(u)?await u:u}return r},j=n=>function(...t){return n(...t),t[0]},v=Promise.race.bind(Promise),M=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await v(c);const i=e(t[u]);if(n(i)){const n=i.then(j((()=>c.delete(n))));c.add(n),o[u]=n}else o[u]=i}return l(o)},S=(n,t,e)=>function(...r){const o=e.length,u=r.length,c=[];let s=-1,f=-1,l=0;for(;++s<o;){const o=e[s];if(o==i&&(f+=1)<u){const n=r[f];n==i&&(l+=1),c.push(n)}else c.push(o);if(c.length==n)return 0==l?t(...c):A(n,t,c)}for(;++f<u;){const e=r[f];if(e==i&&(l+=1),c.push(e),c.length==n)return 0==l?t(...c):A(n,t,c)}return A(n,t,c)},A=function(n,t,e){const r=e.length;if(r<n)return S(n,t,e);let o=-1;for(;++o<r;){if(e[o]==i)return S(n,t,e)}return t(...e)},T=n=>function([t,e]){return n(t,e)},x=function(n,t,e){return n.set(t,e)},E=function(t,e){const r=new Map,o=[];return t.forEach(((t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(T(A(3,x,[e])))):e.set(c[0],c[1])})(e,r,o)),0==o.length?r:l(o).then(y(r))},P=function(t,o){return f(t)?h(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const r=h(t,e);return n(r)?r.then(a(p,i,"join","")):r.join("")}(t,o):t.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const c=e(u,u,t);n(c)?o.push(c.then(a(p,r,"add",i))):r.add(c)}return 0==o.length?r:l(o).then(y(r))}(t,o):t.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,c]of t){const s=e(c,u,t);n(s)?o.push(s.then(g(d,r,"set",u,i))):r.set(u,s)}return 0==o.length?r:l(o).then(y(r))}(t,o):"function"==typeof t[e]?r(t[e](),o):"function"==typeof t[u]?c(t[u](),o):t.constructor==Object?function(t,e){const r={};let o=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(o=!0),r[u]=c}return o?w(r):r}(t,o):o(t)},O=(...t)=>{const e=t.pop();if(0==t.length)return s(P,i,e);const r=t[0];return n(r)?r.then(s(P,i,e)):P(r,e)};O.entries=function(t){return function(e){if(null==e)throw new TypeError("value is not an Object or Map");if(e.constructor==Object)return function(t,e){const r={},o=[];for(const u in t){const c=e([u,t[u]]);n(c)?o.push(c.then(T(A(3,b,[r])))):r[c[0]]=c[1]}return 0==o.length?r:l(o).then(y(r))}(e,t);if(e.constructor==Map)return E(e,t);throw new TypeError("value is not an Object or Map")}},O.series=e=>function(r){if(f(r))return function(e,r){const o=e.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(e[c]);if(n(o))return o.then(t(a(b,u,c,i),g(m,e,r,i,c)));u[c]=o}return u}(r,e);throw new TypeError(`${r} is not an Array`)},O.pool=(t,e)=>function(r){if(f(r))return function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=e(t[c]);if(n(o)){const n=new Set,i=o.then(j((()=>n.delete(i))));return n.add(i),u[c]=i,M(t,e,r,u,c,n)}u[c]=o}return u}(r,e,t);throw new TypeError(`${r} is not an Array`)};const z=/[.|[|\]]+/,I=function(n,t){const e=new Map,r=function(r){if(e.has(r))return e.get(r);const o=n(r);return e.set(r,o),e.size>t&&e.clear(),o};return r.cache=e,r}((function(n){const t=n.length-1,e="["==n[0],r="]"==n[t];return e&&r?n.slice(1,t).split(z):e?n.slice(1).split(z):r?n.slice(0,t).split(z):n.split(z)}),500),$=function(n,t){const e=(n=>f(n)?n:"string"==typeof n?I(n):[n])(t),r=e.length;let o=-1,u=n;for(;++o<r;)if(u=u[e[o]],null==u)return;return u},k=function(n,t,e){const r=null==n?void 0:$(n,t);return void 0===r?"function"==typeof e?e(n):e:r};return function(...t){const e=t.pop(),r=n(o=e)?o.then(a(k,i,u,c)):(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(o)&&!f(o)?k(o,u,c):a(k,i,o,u);var o,u,c;return 0==t.length?O(r):O(t[0],r)}}());
|
package/dist/x/pluck.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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
|
|
|
@@ -85,20 +85,6 @@ const isObject = value => {
|
|
|
85
85
|
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
const objectProto = Object.prototype
|
|
89
|
-
|
|
90
|
-
const nativeObjectToString = objectProto.toString
|
|
91
|
-
|
|
92
|
-
const objectToString = value => nativeObjectToString.call(value)
|
|
93
|
-
|
|
94
|
-
const generatorFunctionTag = '[object GeneratorFunction]'
|
|
95
|
-
|
|
96
|
-
const isGeneratorFunction = value => objectToString(value) == generatorFunctionTag
|
|
97
|
-
|
|
98
|
-
const asyncGeneratorFunctionTag = '[object AsyncGeneratorFunction]'
|
|
99
|
-
|
|
100
|
-
const isAsyncGeneratorFunction = value => objectToString(value) == asyncGeneratorFunctionTag
|
|
101
|
-
|
|
102
88
|
const promiseAll = Promise.all.bind(Promise)
|
|
103
89
|
|
|
104
90
|
const arrayMap = function (array, mapper) {
|
|
@@ -117,31 +103,6 @@ const arrayMap = function (array, mapper) {
|
|
|
117
103
|
return isAsync ? promiseAll(result) : result
|
|
118
104
|
}
|
|
119
105
|
|
|
120
|
-
const generatorFunctionMap = (
|
|
121
|
-
generatorFunc, mapper,
|
|
122
|
-
) => function* mappingGeneratorFunc(...args) {
|
|
123
|
-
for (const item of generatorFunc(...args)) {
|
|
124
|
-
yield mapper(item)
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const asyncGeneratorFunctionMap = function (asyncGeneratorFunc, mapper) {
|
|
129
|
-
return async function* mappingAsyncGeneratorFunc(...args) {
|
|
130
|
-
for await (const item of asyncGeneratorFunc(...args)) {
|
|
131
|
-
yield mapper(item)
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
const reducerMap = (
|
|
137
|
-
reducer, mapper,
|
|
138
|
-
) => function mappingReducer(result, reducerItem) {
|
|
139
|
-
const mappingReducerItem = mapper(reducerItem)
|
|
140
|
-
return isPromise(mappingReducerItem)
|
|
141
|
-
? mappingReducerItem.then(curry2(reducer, result, __))
|
|
142
|
-
: reducer(result, mappingReducerItem)
|
|
143
|
-
}
|
|
144
|
-
|
|
145
106
|
// argument resolver for curry3
|
|
146
107
|
const curry3ResolveArg0 = (
|
|
147
108
|
baseFunc, arg1, arg2,
|
|
@@ -381,38 +342,6 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
|
|
|
381
342
|
return result
|
|
382
343
|
}
|
|
383
344
|
|
|
384
|
-
const arrayMapWithIndex = function (array, mapper) {
|
|
385
|
-
const arrayLength = array.length,
|
|
386
|
-
result = Array(arrayLength)
|
|
387
|
-
let index = -1, isAsync = false
|
|
388
|
-
while (++index < arrayLength) {
|
|
389
|
-
const resultItem = mapper(array[index], index, array)
|
|
390
|
-
if (isPromise(resultItem)) {
|
|
391
|
-
isAsync = true
|
|
392
|
-
}
|
|
393
|
-
result[index] = resultItem
|
|
394
|
-
}
|
|
395
|
-
return isAsync ? promiseAll(result) : result
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
const hasOwnProperty = Object.prototype.hasOwnProperty
|
|
399
|
-
const hasOwn = (obj, key) => hasOwnProperty.call(obj, key)
|
|
400
|
-
|
|
401
|
-
const objectMapOwn = function (object, mapper) {
|
|
402
|
-
const result = {}
|
|
403
|
-
let isAsync = false
|
|
404
|
-
for (const key in object) {
|
|
405
|
-
if (hasOwn(object, key)) {
|
|
406
|
-
const resultItem = mapper(object[key])
|
|
407
|
-
if (isPromise(resultItem)) {
|
|
408
|
-
isAsync = true
|
|
409
|
-
}
|
|
410
|
-
result[key] = resultItem
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
return isAsync ? promiseObjectAll(result) : result
|
|
414
|
-
}
|
|
415
|
-
|
|
416
345
|
const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
417
346
|
const argsLength = args.length,
|
|
418
347
|
curriedArgsLength = curriedArgs.length,
|
|
@@ -520,15 +449,6 @@ const _map = function (value, mapper) {
|
|
|
520
449
|
if (isArray(value)) {
|
|
521
450
|
return arrayMap(value, mapper)
|
|
522
451
|
}
|
|
523
|
-
if (typeof value == 'function') {
|
|
524
|
-
if (isGeneratorFunction(value)) {
|
|
525
|
-
return generatorFunctionMap(value, mapper)
|
|
526
|
-
}
|
|
527
|
-
if (isAsyncGeneratorFunction(value)) {
|
|
528
|
-
return asyncGeneratorFunctionMap(value, mapper)
|
|
529
|
-
}
|
|
530
|
-
return reducerMap(value, mapper)
|
|
531
|
-
}
|
|
532
452
|
if (value == null) {
|
|
533
453
|
return value
|
|
534
454
|
}
|
|
@@ -562,10 +482,15 @@ const _map = function (value, mapper) {
|
|
|
562
482
|
|
|
563
483
|
const map = (...args) => {
|
|
564
484
|
const mapper = args.pop()
|
|
565
|
-
if (args.length
|
|
566
|
-
return _map
|
|
485
|
+
if (args.length == 0) {
|
|
486
|
+
return curry2(_map, __, mapper)
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
const collection = args[0]
|
|
490
|
+
if (isPromise(collection)) {
|
|
491
|
+
return collection.then(curry2(_map, __, mapper))
|
|
567
492
|
}
|
|
568
|
-
return
|
|
493
|
+
return _map(collection, mapper)
|
|
569
494
|
}
|
|
570
495
|
|
|
571
496
|
map.entries = function mapEntries(mapper) {
|
|
@@ -597,20 +522,6 @@ map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
|
|
|
597
522
|
throw new TypeError(`${value} is not an Array`)
|
|
598
523
|
}
|
|
599
524
|
|
|
600
|
-
map.withIndex = mapper => function mappingWithIndex(value) {
|
|
601
|
-
if (isArray(value)) {
|
|
602
|
-
return arrayMapWithIndex(value, mapper)
|
|
603
|
-
}
|
|
604
|
-
throw new TypeError(`${value} is not an Array`)
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
map.own = mapper => function mappingOwnProperties(value) {
|
|
608
|
-
if (isObject(value) && !isArray(value)) {
|
|
609
|
-
return objectMapOwn(value, mapper)
|
|
610
|
-
}
|
|
611
|
-
throw new TypeError(`${value} is not an Object`)
|
|
612
|
-
}
|
|
613
|
-
|
|
614
525
|
const memoizeCappedUnary = function (func, cap) {
|
|
615
526
|
const cache = new Map(),
|
|
616
527
|
memoized = function memoized(arg0) {
|
|
@@ -669,13 +580,31 @@ const getByPath = function (value, path) {
|
|
|
669
580
|
return result
|
|
670
581
|
}
|
|
671
582
|
|
|
672
|
-
|
|
673
|
-
|
|
583
|
+
// _get(object Object, path string, defaultValue function|any)
|
|
584
|
+
const _get = function (object, path, defaultValue) {
|
|
585
|
+
const result = object == null ? undefined : getByPath(object, path)
|
|
674
586
|
return result === undefined
|
|
675
|
-
? typeof defaultValue == 'function' ? defaultValue(
|
|
587
|
+
? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
|
|
676
588
|
: result
|
|
677
589
|
}
|
|
678
590
|
|
|
679
|
-
const
|
|
591
|
+
const get = function (arg0, arg1, arg2) {
|
|
592
|
+
if (isPromise(arg0)) {
|
|
593
|
+
return arg0.then(curry3(_get, __, arg1, arg2))
|
|
594
|
+
}
|
|
595
|
+
if (isObject(arg0) && !isArray(arg0)) {
|
|
596
|
+
return _get(arg0, arg1, arg2)
|
|
597
|
+
}
|
|
598
|
+
return curry3(_get, __, arg0, arg1)
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
const pluck = function (...args) {
|
|
602
|
+
const path = args.pop()
|
|
603
|
+
const getter = get(path)
|
|
604
|
+
if (args.length == 0) {
|
|
605
|
+
return map(getter)
|
|
606
|
+
}
|
|
607
|
+
return map(args[0], getter)
|
|
608
|
+
}
|
|
680
609
|
|
|
681
610
|
export default pluck
|
package/dist/x/prepend.es.js
CHANGED
package/dist/x/prepend.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
const isString=function(r){return"string"==typeof r||null!=r&&r.constructor==String},isArray=Array.isArray,prepend=r=>function(n){if(isArray(n))return isArray(r)?[...r,...n]:[r,...n];if(isString(n)){if(!isString(r))throw new TypeError(`${r} is not a string`);return`${r}${n}`}throw new TypeError(`${n} is not an Array or string`)};export default prepend;
|
package/dist/x/prepend.js
CHANGED
package/dist/x/prepend.min.js
CHANGED
package/dist/x/prepend.mjs
CHANGED
package/dist/x/size.es.js
CHANGED
package/dist/x/size.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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 objectKeysLength=e=>{let t=0;for(const n in e)t+=1;return t},size=e=>"string"==typeof e?e.length:null==e?0:"number"==typeof e.length?e.length:"number"==typeof e.size?e.size:e.constructor==Object?objectKeysLength(e):1;export default size;
|
package/dist/x/size.js
CHANGED
package/dist/x/size.min.js
CHANGED
package/dist/x/size.mjs
CHANGED
package/dist/x/trace.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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
|
|
|
@@ -18,11 +18,6 @@ const funcConcat = (
|
|
|
18
18
|
|
|
19
19
|
const always = value => function getter() { return value }
|
|
20
20
|
|
|
21
|
-
const tapSync = func => function tapping(...args) {
|
|
22
|
-
func(...args)
|
|
23
|
-
return args[0]
|
|
24
|
-
}
|
|
25
|
-
|
|
26
21
|
const thunkifyArgs = (func, args) => function thunk() {
|
|
27
22
|
return func(...args)
|
|
28
23
|
}
|
|
@@ -70,8 +65,6 @@ const tap = func => function tapping(...args) {
|
|
|
70
65
|
return isPromise(call) ? call.then(always(result)) : result
|
|
71
66
|
}
|
|
72
67
|
|
|
73
|
-
tap.sync = tapSync
|
|
74
|
-
|
|
75
68
|
tap.if = (predicate, func) => function tappingIf(...args) {
|
|
76
69
|
const predication = predicate(...args)
|
|
77
70
|
if (isPromise(predication)) {
|
package/dist/x/trace.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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=
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,n)=>function(...o){const t=r(...o);return isPromise(t)?t.then(n):n(t)},always=r=>function(){return r},thunkifyArgs=(r,n)=>function(){return r(...n)},thunkConditional=(r,n,o)=>r?n():o(),__=Symbol.for("placeholder"),curry3ResolveArg0=(r,n,o)=>function(t){return r(t,n,o)},curry3ResolveArg1=(r,n,o)=>function(t){return r(n,t,o)},curry3ResolveArg2=(r,n,o)=>function(t){return r(n,o,t)},curry3=function(r,n,o,t){return n==__?curry3ResolveArg0(r,o,t):o==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,o)},tap=r=>function(...n){const o=n[0],t=r(...n);return isPromise(t)?t.then(always(o)):o};tap.if=(r,n)=>function(...o){const t=r(...o);if(isPromise(t))return t.then((e=thunkConditional,u=__,c=thunkifyArgs(tap(n),o),s=always(o[0]),u==__?curry3ResolveArg0(e,c,s):c==__?curry3ResolveArg1(e,u,s):curry3ResolveArg2(e,u,c)));var e,u,c,s;if(t){const r=n(...o);if(isPromise(r))return r.then(always(o[0]))}return o[0]};const consoleLog=console.log,trace=function(...r){const n=r[0];return"function"==typeof n?tap((o=n,t=consoleLog,function(...r){const n=o(...r);return isPromise(n)?n.then(t):t(n)})):tap(consoleLog)(...r);var o,t};export default trace;
|
package/dist/x/trace.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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
|
|
|
@@ -24,11 +24,6 @@ const funcConcat = (
|
|
|
24
24
|
|
|
25
25
|
const always = value => function getter() { return value }
|
|
26
26
|
|
|
27
|
-
const tapSync = func => function tapping(...args) {
|
|
28
|
-
func(...args)
|
|
29
|
-
return args[0]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
27
|
const thunkifyArgs = (func, args) => function thunk() {
|
|
33
28
|
return func(...args)
|
|
34
29
|
}
|
|
@@ -76,8 +71,6 @@ const tap = func => function tapping(...args) {
|
|
|
76
71
|
return isPromise(call) ? call.then(always(result)) : result
|
|
77
72
|
}
|
|
78
73
|
|
|
79
|
-
tap.sync = tapSync
|
|
80
|
-
|
|
81
74
|
tap.if = (predicate, func) => function tappingIf(...args) {
|
|
82
75
|
const predication = predicate(...args)
|
|
83
76
|
if (isPromise(predication)) {
|
package/dist/x/trace.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
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.trace=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},o=(n,t,o)=>n?t():o(),e=Symbol.for("placeholder"),r=o=>function(...e){const r=e[0],u=o(...e);return n(u)?u.then(t(r)):r};r.
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.trace=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},o=(n,t,o)=>n?t():o(),e=Symbol.for("placeholder"),r=o=>function(...e){const r=e[0],u=o(...e);return n(u)?u.then(t(r)):r};r.if=(u,c)=>function(...f){const i=u(...f);if(n(i))return i.then((s=o,l=e,h=((n,t)=>function(){return n(...t)})(r(c),f),p=t(f[0]),l==e?((n,t,o)=>function(e){return n(e,t,o)})(s,h,p):h==e?((n,t,o)=>function(e){return n(t,e,o)})(s,l,p):((n,t,o)=>function(e){return n(t,o,e)})(s,l,h)));var s,l,h,p;if(i){const o=c(...f);if(n(o))return o.then(t(f[0]))}return f[0]};const u=console.log;return function(...t){const o=t[0];return"function"==typeof o?r((e=o,c=u,function(...t){const o=e(...t);return n(o)?o.then(c):c(o)})):r(u)(...t);var e,c}}());
|