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/last.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 last=t=>{if(null==t)return;const e=t.length;return"number"==typeof e?t[e-1]:void 0};export default last;
|
package/dist/x/last.js
CHANGED
package/dist/x/last.min.js
CHANGED
package/dist/x/last.mjs
CHANGED
package/dist/x/maxBy.es.js
CHANGED
|
@@ -1,12 +1,56 @@
|
|
|
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
|
+
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
|
+
|
|
10
|
+
const __ = Symbol.for('placeholder')
|
|
11
|
+
|
|
12
|
+
// argument resolver for curry3
|
|
13
|
+
const curry3ResolveArg0 = (
|
|
14
|
+
baseFunc, arg1, arg2,
|
|
15
|
+
) => function arg0Resolver(arg0) {
|
|
16
|
+
return baseFunc(arg0, arg1, arg2)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// argument resolver for curry3
|
|
20
|
+
const curry3ResolveArg1 = (
|
|
21
|
+
baseFunc, arg0, arg2,
|
|
22
|
+
) => function arg1Resolver(arg1) {
|
|
23
|
+
return baseFunc(arg0, arg1, arg2)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// argument resolver for curry3
|
|
27
|
+
const curry3ResolveArg2 = (
|
|
28
|
+
baseFunc, arg0, arg1,
|
|
29
|
+
) => function arg2Resolver(arg2) {
|
|
30
|
+
return baseFunc(arg0, arg1, arg2)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
34
|
+
if (arg0 == __) {
|
|
35
|
+
return curry3ResolveArg0(baseFunc, arg1, arg2)
|
|
36
|
+
}
|
|
37
|
+
if (arg1 == __) {
|
|
38
|
+
return curry3ResolveArg1(baseFunc, arg0, arg2)
|
|
39
|
+
}
|
|
40
|
+
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
41
|
+
}
|
|
42
|
+
|
|
8
43
|
const isArray = Array.isArray
|
|
9
44
|
|
|
45
|
+
const isObject = value => {
|
|
46
|
+
if (value == null) {
|
|
47
|
+
return false
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const typeofValue = typeof value
|
|
51
|
+
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
52
|
+
}
|
|
53
|
+
|
|
10
54
|
const memoizeCappedUnary = function (func, cap) {
|
|
11
55
|
const cache = new Map(),
|
|
12
56
|
memoized = function memoized(arg0) {
|
|
@@ -65,14 +109,23 @@ const getByPath = function (value, path) {
|
|
|
65
109
|
return result
|
|
66
110
|
}
|
|
67
111
|
|
|
68
|
-
|
|
69
|
-
|
|
112
|
+
// _get(object Object, path string, defaultValue function|any)
|
|
113
|
+
const _get = function (object, path, defaultValue) {
|
|
114
|
+
const result = object == null ? undefined : getByPath(object, path)
|
|
70
115
|
return result === undefined
|
|
71
|
-
? typeof defaultValue == 'function' ? defaultValue(
|
|
116
|
+
? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
|
|
72
117
|
: result
|
|
73
118
|
}
|
|
74
119
|
|
|
75
|
-
const
|
|
120
|
+
const get = function (arg0, arg1, arg2) {
|
|
121
|
+
if (isPromise(arg0)) {
|
|
122
|
+
return arg0.then(curry3(_get, __, arg1, arg2))
|
|
123
|
+
}
|
|
124
|
+
if (isObject(arg0) && !isArray(arg0)) {
|
|
125
|
+
return _get(arg0, arg1, arg2)
|
|
126
|
+
}
|
|
127
|
+
return curry3(_get, __, arg0, arg1)
|
|
128
|
+
}
|
|
76
129
|
|
|
77
130
|
// argument resolver for curry2
|
|
78
131
|
const curry2ResolveArg0 = (
|
package/dist/x/maxBy.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 isArray=Array.isArray,memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,u=r;for(;++o<n;)if(u=u[t[o]],null==u)return;return u},_get=function(r,e,t){const n=null==r?void 0:getByPath(r,e);return void 0===n?"function"==typeof t?t(r):t:n},get=function(r,e,t){return null!=(n=r)&&"function"==typeof n.then?r.then(curry3(_get,__,e,t)):isObject(r)&&!isArray(r)?_get(r,e,t):curry3(_get,__,r,e);var i},curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},_maxBy=function(r,e){const t=r.length,n=null!=(i=o=e)&&"function"==typeof i.then?o.then(curry3(_get,__,u,c)):isObject(o)&&!isArray(o)?_get(o,u,c):curry3(_get,__,o,u);var o,u,c,i;let s=0,y=r[s];for(;++s<t;){const e=r[s];n(e)>n(y)&&(y=e)}return y},maxBy=function(...r){return r.length>1?_maxBy(...r):(e=_maxBy,t=__,n=r[0],t==__?curry2ResolveArg0(e,n):curry2ResolveArg1(e,t));var e,t,n};export default maxBy;
|
package/dist/x/maxBy.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
|
|
|
@@ -11,8 +11,52 @@
|
|
|
11
11
|
else (root.maxBy = maxBy) // Browser
|
|
12
12
|
}(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
|
|
13
13
|
|
|
14
|
+
const isPromise = value => value != null && typeof value.then == 'function'
|
|
15
|
+
|
|
16
|
+
const __ = Symbol.for('placeholder')
|
|
17
|
+
|
|
18
|
+
// argument resolver for curry3
|
|
19
|
+
const curry3ResolveArg0 = (
|
|
20
|
+
baseFunc, arg1, arg2,
|
|
21
|
+
) => function arg0Resolver(arg0) {
|
|
22
|
+
return baseFunc(arg0, arg1, arg2)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// argument resolver for curry3
|
|
26
|
+
const curry3ResolveArg1 = (
|
|
27
|
+
baseFunc, arg0, arg2,
|
|
28
|
+
) => function arg1Resolver(arg1) {
|
|
29
|
+
return baseFunc(arg0, arg1, arg2)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// argument resolver for curry3
|
|
33
|
+
const curry3ResolveArg2 = (
|
|
34
|
+
baseFunc, arg0, arg1,
|
|
35
|
+
) => function arg2Resolver(arg2) {
|
|
36
|
+
return baseFunc(arg0, arg1, arg2)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
40
|
+
if (arg0 == __) {
|
|
41
|
+
return curry3ResolveArg0(baseFunc, arg1, arg2)
|
|
42
|
+
}
|
|
43
|
+
if (arg1 == __) {
|
|
44
|
+
return curry3ResolveArg1(baseFunc, arg0, arg2)
|
|
45
|
+
}
|
|
46
|
+
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
47
|
+
}
|
|
48
|
+
|
|
14
49
|
const isArray = Array.isArray
|
|
15
50
|
|
|
51
|
+
const isObject = value => {
|
|
52
|
+
if (value == null) {
|
|
53
|
+
return false
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const typeofValue = typeof value
|
|
57
|
+
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
58
|
+
}
|
|
59
|
+
|
|
16
60
|
const memoizeCappedUnary = function (func, cap) {
|
|
17
61
|
const cache = new Map(),
|
|
18
62
|
memoized = function memoized(arg0) {
|
|
@@ -71,14 +115,23 @@ const getByPath = function (value, path) {
|
|
|
71
115
|
return result
|
|
72
116
|
}
|
|
73
117
|
|
|
74
|
-
|
|
75
|
-
|
|
118
|
+
// _get(object Object, path string, defaultValue function|any)
|
|
119
|
+
const _get = function (object, path, defaultValue) {
|
|
120
|
+
const result = object == null ? undefined : getByPath(object, path)
|
|
76
121
|
return result === undefined
|
|
77
|
-
? typeof defaultValue == 'function' ? defaultValue(
|
|
122
|
+
? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
|
|
78
123
|
: result
|
|
79
124
|
}
|
|
80
125
|
|
|
81
|
-
const
|
|
126
|
+
const get = function (arg0, arg1, arg2) {
|
|
127
|
+
if (isPromise(arg0)) {
|
|
128
|
+
return arg0.then(curry3(_get, __, arg1, arg2))
|
|
129
|
+
}
|
|
130
|
+
if (isObject(arg0) && !isArray(arg0)) {
|
|
131
|
+
return _get(arg0, arg1, arg2)
|
|
132
|
+
}
|
|
133
|
+
return curry3(_get, __, arg0, arg1)
|
|
134
|
+
}
|
|
82
135
|
|
|
83
136
|
// argument resolver for curry2
|
|
84
137
|
const curry2ResolveArg0 = (
|
package/dist/x/maxBy.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(t
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.maxBy=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Symbol.for("placeholder"),t=function(t,e,o,r){return e==n?((n,t,e)=>function(o){return n(o,t,e)})(t,o,r):o==n?((n,t,e)=>function(o){return n(t,o,e)})(t,e,r):((n,t,e)=>function(o){return n(t,e,o)})(t,e,o)},e=Array.isArray,o=/[.|[|\]]+/,r=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],r="]"==n[t];return e&&r?n.slice(1,t).split(o):e?n.slice(1).split(o):r?n.slice(0,t).split(o):n.split(o)}),500),u=function(n,t){const o=(n=>e(n)?n:"string"==typeof n?r(n):[n])(t),u=o.length;let i=-1,c=n;for(;++i<u;)if(c=c[o[i]],null==c)return;return c},i=function(n,t,e){const o=null==n?void 0:u(n,t);return void 0===o?"function"==typeof e?e(n):e:o},c=function(o,r){const u=o.length,c=null!=(p=f=r)&&"function"==typeof p.then?f.then(t(i,n,l,s)):(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(f)&&!e(f)?i(f,l,s):t(i,n,f,l);var f,l,s,p;let a=0,h=o[a];for(;++a<u;){const n=o[a];c(n)>c(h)&&(h=n)}return h};return function(...t){return t.length>1?c(...t):(e=c,o=n,r=t[0],o==n?((n,t)=>function(e){return n(e,t)})(e,r):((n,t)=>function(e){return n(t,e)})(e,o));var e,o,r}}());
|
package/dist/x/maxBy.mjs
CHANGED
|
@@ -1,12 +1,56 @@
|
|
|
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
|
+
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
|
+
|
|
10
|
+
const __ = Symbol.for('placeholder')
|
|
11
|
+
|
|
12
|
+
// argument resolver for curry3
|
|
13
|
+
const curry3ResolveArg0 = (
|
|
14
|
+
baseFunc, arg1, arg2,
|
|
15
|
+
) => function arg0Resolver(arg0) {
|
|
16
|
+
return baseFunc(arg0, arg1, arg2)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// argument resolver for curry3
|
|
20
|
+
const curry3ResolveArg1 = (
|
|
21
|
+
baseFunc, arg0, arg2,
|
|
22
|
+
) => function arg1Resolver(arg1) {
|
|
23
|
+
return baseFunc(arg0, arg1, arg2)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// argument resolver for curry3
|
|
27
|
+
const curry3ResolveArg2 = (
|
|
28
|
+
baseFunc, arg0, arg1,
|
|
29
|
+
) => function arg2Resolver(arg2) {
|
|
30
|
+
return baseFunc(arg0, arg1, arg2)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
34
|
+
if (arg0 == __) {
|
|
35
|
+
return curry3ResolveArg0(baseFunc, arg1, arg2)
|
|
36
|
+
}
|
|
37
|
+
if (arg1 == __) {
|
|
38
|
+
return curry3ResolveArg1(baseFunc, arg0, arg2)
|
|
39
|
+
}
|
|
40
|
+
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
41
|
+
}
|
|
42
|
+
|
|
8
43
|
const isArray = Array.isArray
|
|
9
44
|
|
|
45
|
+
const isObject = value => {
|
|
46
|
+
if (value == null) {
|
|
47
|
+
return false
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const typeofValue = typeof value
|
|
51
|
+
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
52
|
+
}
|
|
53
|
+
|
|
10
54
|
const memoizeCappedUnary = function (func, cap) {
|
|
11
55
|
const cache = new Map(),
|
|
12
56
|
memoized = function memoized(arg0) {
|
|
@@ -65,14 +109,23 @@ const getByPath = function (value, path) {
|
|
|
65
109
|
return result
|
|
66
110
|
}
|
|
67
111
|
|
|
68
|
-
|
|
69
|
-
|
|
112
|
+
// _get(object Object, path string, defaultValue function|any)
|
|
113
|
+
const _get = function (object, path, defaultValue) {
|
|
114
|
+
const result = object == null ? undefined : getByPath(object, path)
|
|
70
115
|
return result === undefined
|
|
71
|
-
? typeof defaultValue == 'function' ? defaultValue(
|
|
116
|
+
? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
|
|
72
117
|
: result
|
|
73
118
|
}
|
|
74
119
|
|
|
75
|
-
const
|
|
120
|
+
const get = function (arg0, arg1, arg2) {
|
|
121
|
+
if (isPromise(arg0)) {
|
|
122
|
+
return arg0.then(curry3(_get, __, arg1, arg2))
|
|
123
|
+
}
|
|
124
|
+
if (isObject(arg0) && !isArray(arg0)) {
|
|
125
|
+
return _get(arg0, arg1, arg2)
|
|
126
|
+
}
|
|
127
|
+
return curry3(_get, __, arg0, arg1)
|
|
128
|
+
}
|
|
76
129
|
|
|
77
130
|
// argument resolver for curry2
|
|
78
131
|
const curry2ResolveArg0 = (
|
package/dist/x/noop.es.js
CHANGED
package/dist/x/noop.es.min.js
CHANGED
package/dist/x/noop.js
CHANGED
package/dist/x/noop.min.js
CHANGED
package/dist/x/noop.mjs
CHANGED
package/dist/x/pluck.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
|
|
|
@@ -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/pluck.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=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...e){const n=r(...e);return isPromise(n)?n.then(t):t(n)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const e=r.next();return e.done?e:{value:t(e.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const e=await r.next();if(e.done)return e;const n=t(e.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const e=r.length,n=Array(e);let o=-1,s=!1;for(;++o<e;){const e=t(r[o],o,r);isPromise(e)&&(s=!0),n[o]=e}return s?promiseAll(n):n},curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},callPropUnary=(r,t,e)=>r[t](e),stringMap=function(r,t){const e=arrayMap(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},always=r=>function(){return r},setMap=function(r,t){const e=new Set,n=[];for(const o of r){const s=t(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,e,"add",__))):e.add(s)}return 0==n.length?e:promiseAll(n).then(always(e))},curry4ResolveArg0=(r,t,e,n)=>function(o){return r(o,t,e,n)},curry4ResolveArg1=(r,t,e,n)=>function(o){return r(t,o,e,n)},curry4ResolveArg2=(r,t,e,n)=>function(o){return r(t,e,o,n)},curry4ResolveArg3=(r,t,e,n)=>function(o){return r(t,e,n,o)},curry4=function(r,t,e,n,o){return t==__?curry4ResolveArg0(r,e,n,o):e==__?curry4ResolveArg1(r,t,n,o):n==__?curry4ResolveArg2(r,t,e,o):curry4ResolveArg3(r,t,e,n)},callPropBinary=(r,t,e,n)=>r[t](e,n),mapMap=function(r,t){const e=new Map,n=[];for(const[o,s]of r){const c=t(s,o,r);isPromise(c)?n.push(c.then(curry4(callPropBinary,e,"set",o,__))):e.set(o,c)}return 0==n.length?e:promiseAll(n).then(always(e))},promiseObjectAllExecutor=r=>function(t){const e={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){e[r]=o,n-=1,0==n&&t(e)})(o))):e[o]=s}0==n&&t(e)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const e={};let n=!1;for(const o in r){const s=t(r[o],o,r);isPromise(s)&&(n=!0),e[o]=s}return n?promiseObjectAll(e):e},objectSet=function(r,t,e){return r[t]=e,r},arrayMapSeriesAsync=async function(r,t,e,n){const o=r.length;for(;++n<o;){const o=t(r[n]);e[n]=isPromise(o)?await o:o}return e},arrayMapSeries=function(r,t){const e=r.length,n=Array(e);let o=-1;for(;++o<e;){const e=t(r[o]);if(isPromise(e))return e.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));n[o]=e}return n},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,e,n,o,s){const c=r.length;for(;++o<c;){s.size>=e&&await promiseRace(s);const c=t(r[o]);if(isPromise(c)){const r=c.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=c}return promiseAll(n)},arrayMapPool=function(r,t,e){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const c=new Set,i=n.then(tapSync((()=>c.delete(i))));return c.add(i),o[s]=i,arrayMapPoolAsync(r,t,e,o,s,c)}o[s]=n}return o},_curryArity=(r,t,e)=>function(...n){const o=e.length,s=n.length,c=[];let i=-1,a=-1,u=0;for(;++i<o;){const o=e[i];if(o==__&&(a+=1)<s){const r=n[a];r==__&&(u+=1),c.push(r)}else c.push(o);if(c.length==r)return 0==u?t(...c):curryArity(r,t,c)}for(;++a<s;){const e=n[a];if(e==__&&(u+=1),c.push(e),c.length==r)return 0==u?t(...c):curryArity(r,t,c)}return curryArity(r,t,c)},curryArity=function(r,t,e){const n=e.length;if(n<r)return _curryArity(r,t,e);let o=-1;for(;++o<n;){if(e[o]==__)return _curryArity(r,t,e)}return t(...e)},spread2=r=>function([t,e]){return r(t,e)},objectMapEntries=function(r,t){const e={},n=[];for(const o in r){const s=t([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[e])))):e[s[0]]=s[1]}return 0==n.length?e:promiseAll(n).then(always(e))},mapSet=function(r,t,e){return r.set(t,e)},mapMapEntriesForEachCallback=(r,t,e)=>function(n,o){const s=r([o,n]);isPromise(s)?e.push(s.then(spread2(curryArity(3,mapSet,[t])))):t.set(s[0],s[1])},mapMapEntries=function(r,t){const e=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(t,e,n)),0==n.length?e:promiseAll(n).then(always(e))},_map=function(r,t){return isArray(r)?arrayMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=(...r)=>{const t=r.pop();if(0==r.length)return curry2(_map,__,t);const e=r[0];return isPromise(e)?e.then(curry2(_map,__,t)):_map(e,t)};map.entries=function(r){return function(t){if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return objectMapEntries(t,r);if(t.constructor==Map)return mapMapEntries(t,r);throw new TypeError("value is not an Object or Map")}},map.series=r=>function(t){if(isArray(t))return arrayMapSeries(t,r);throw new TypeError(`${t} is not an Array`)},map.pool=(r,t)=>function(e){if(isArray(e))return arrayMapPool(e,t,r);throw new TypeError(`${e} is not an Array`)};const memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const o=r(n);return e.set(n,o),e.size>t&&e.clear(),o};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let o=-1,s=r;for(;++o<n;)if(s=s[e[o]],null==s)return;return s},_get=function(r,t,e){const n=null==r?void 0:getByPath(r,t);return void 0===n?"function"==typeof e?e(r):e:n},get=function(r,t,e){return isPromise(r)?r.then(curry3(_get,__,t,e)):isObject(r)&&!isArray(r)?_get(r,t,e):curry3(_get,__,r,t)},pluck=function(...r){const t=r.pop(),e=isPromise(n=t)?n.then(curry3(_get,__,o,s)):isObject(n)&&!isArray(n)?_get(n,o,s):curry3(_get,__,n,o);var n,o,s;return 0==r.length?map(e):map(r[0],e)};export default pluck;
|