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/or.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,10 +11,44 @@
|
|
|
11
11
|
else (root.or = or) // Browser
|
|
12
12
|
}(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
|
|
13
13
|
|
|
14
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
15
|
+
|
|
14
16
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
15
17
|
|
|
18
|
+
const areAnyValuesPromises = function (values) {
|
|
19
|
+
const length = values.length
|
|
20
|
+
let index = -1
|
|
21
|
+
while (++index < length) {
|
|
22
|
+
const value = values[index]
|
|
23
|
+
if (isPromise(value)) {
|
|
24
|
+
return true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return false
|
|
28
|
+
}
|
|
29
|
+
|
|
16
30
|
const __ = Symbol.for('placeholder')
|
|
17
31
|
|
|
32
|
+
// argument resolver for curry2
|
|
33
|
+
const curry2ResolveArg0 = (
|
|
34
|
+
baseFunc, arg1,
|
|
35
|
+
) => function arg0Resolver(arg0) {
|
|
36
|
+
return baseFunc(arg0, arg1)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// argument resolver for curry2
|
|
40
|
+
const curry2ResolveArg1 = (
|
|
41
|
+
baseFunc, arg0,
|
|
42
|
+
) => function arg1Resolver(arg1) {
|
|
43
|
+
return baseFunc(arg0, arg1)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
47
|
+
return arg0 == __
|
|
48
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
49
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
50
|
+
}
|
|
51
|
+
|
|
18
52
|
// argument resolver for curry3
|
|
19
53
|
const curry3ResolveArg0 = (
|
|
20
54
|
baseFunc, arg1, arg2,
|
|
@@ -46,6 +80,27 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
|
46
80
|
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
47
81
|
}
|
|
48
82
|
|
|
83
|
+
// argument resolver for curryArgs2
|
|
84
|
+
const curryArgs2ResolveArgs0 = (
|
|
85
|
+
baseFunc, arg1, arg2,
|
|
86
|
+
) => function args0Resolver(...args) {
|
|
87
|
+
return baseFunc(args, arg1)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// argument resolver for curryArgs2
|
|
91
|
+
const curryArgs2ResolveArgs1 = (
|
|
92
|
+
baseFunc, arg0, arg2,
|
|
93
|
+
) => function arg1Resolver(...args) {
|
|
94
|
+
return baseFunc(arg0, args)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
98
|
+
if (arg0 == __) {
|
|
99
|
+
return curryArgs2ResolveArgs0(baseFunc, arg1)
|
|
100
|
+
}
|
|
101
|
+
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
102
|
+
}
|
|
103
|
+
|
|
49
104
|
const thunkConditional = (
|
|
50
105
|
conditionalExpression, thunkOnTruthy, thunkOnFalsy,
|
|
51
106
|
) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
|
|
@@ -74,7 +129,7 @@ const always = value => function getter() { return value }
|
|
|
74
129
|
const areAnyNonfunctionsTruthy = function (predicates, index) {
|
|
75
130
|
const length = predicates.length
|
|
76
131
|
while (++index < length) {
|
|
77
|
-
|
|
132
|
+
const predicate = predicates[index]
|
|
78
133
|
if (isPromise(predicate)) {
|
|
79
134
|
return predicate.then(curry3(
|
|
80
135
|
thunkConditional,
|
|
@@ -90,14 +145,13 @@ const areAnyNonfunctionsTruthy = function (predicates, index) {
|
|
|
90
145
|
return false
|
|
91
146
|
}
|
|
92
147
|
|
|
93
|
-
const asyncAreAnyPredicatesTruthy = async function (
|
|
148
|
+
const asyncAreAnyPredicatesTruthy = async function (args, predicates, index) {
|
|
94
149
|
const length = predicates.length
|
|
95
150
|
while (++index < length) {
|
|
96
151
|
let predicate = predicates[index]
|
|
97
152
|
if (typeof predicate == 'function') {
|
|
98
|
-
predicate = predicate(
|
|
153
|
+
predicate = predicate(...args)
|
|
99
154
|
}
|
|
100
|
-
console.log('hey - or', predicate)
|
|
101
155
|
if (isPromise(predicate)) {
|
|
102
156
|
predicate = await predicate
|
|
103
157
|
}
|
|
@@ -108,33 +162,47 @@ const asyncAreAnyPredicatesTruthy = async function (predicates, point, index) {
|
|
|
108
162
|
return false
|
|
109
163
|
}
|
|
110
164
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
let
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
if (predicate) {
|
|
133
|
-
return true
|
|
134
|
-
}
|
|
165
|
+
// areAnyPredicatesTruthy(args Array, predicates Array<function>) -> Promise|boolean
|
|
166
|
+
const areAnyPredicatesTruthy = function (args, predicates) {
|
|
167
|
+
const length = predicates.length
|
|
168
|
+
let index = -1
|
|
169
|
+
|
|
170
|
+
while (++index < length) {
|
|
171
|
+
let predicate = predicates[index]
|
|
172
|
+
if (typeof predicate == 'function') {
|
|
173
|
+
predicate = predicate(...args)
|
|
174
|
+
}
|
|
175
|
+
if (isPromise(predicate)) {
|
|
176
|
+
return predicate.then(curry3(
|
|
177
|
+
thunkConditional,
|
|
178
|
+
__,
|
|
179
|
+
always(true),
|
|
180
|
+
thunkify3(asyncAreAnyPredicatesTruthy, args, predicates, index),
|
|
181
|
+
))
|
|
182
|
+
}
|
|
183
|
+
if (predicate) {
|
|
184
|
+
return true
|
|
135
185
|
}
|
|
136
|
-
return false
|
|
137
186
|
}
|
|
187
|
+
return false
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const or = function (...args) {
|
|
191
|
+
const predicatesOrValues = args.pop()
|
|
192
|
+
if (areAllValuesNonfunctions(predicatesOrValues)) {
|
|
193
|
+
return areAnyNonfunctionsTruthy(predicatesOrValues, -1)
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (args.length == 0) {
|
|
197
|
+
return curryArgs2(areAnyPredicatesTruthy, __, predicatesOrValues)
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (areAnyValuesPromises(args)) {
|
|
201
|
+
return promiseAll(args)
|
|
202
|
+
.then(curry2(areAnyPredicatesTruthy, __, predicatesOrValues))
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return areAnyPredicatesTruthy(args, predicatesOrValues)
|
|
138
206
|
}
|
|
139
207
|
|
|
140
208
|
return or
|
package/dist/or.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.or=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.or=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Promise.all.bind(Promise),t=n=>null!=n&&"function"==typeof n.then,r=Symbol.for("placeholder"),e=function(n,t,e,o){return t==r?((n,t,r)=>function(e){return n(e,t,r)})(n,e,o):e==r?((n,t,r)=>function(e){return n(t,e,r)})(n,t,o):((n,t,r)=>function(e){return n(t,r,e)})(n,t,e)},o=(n,t,r)=>n?t():r(),u=(n,t,r)=>function(){return n(t,r)},f=(n,t,r,e)=>function(){return n(t,r,e)},i=n=>function(){return n},c=function(n,f){const l=n.length;for(;++f<l;){const l=n[f];if(t(l))return l.then(e(o,r,i(!0),u(c,n,f)));if(l)return!0}return!1},l=async function(n,r,e){const o=r.length;for(;++e<o;){let o=r[e];if("function"==typeof o&&(o=o(...n)),t(o)&&(o=await o),o)return!0}return!1},s=function(n,u){const c=u.length;let s=-1;for(;++s<c;){let c=u[s];if("function"==typeof c&&(c=c(...n)),t(c))return c.then(e(o,r,i(!0),f(l,n,u,s)));if(c)return!0}return!1};return function(...e){const o=e.pop();return function(n){const t=n.length;let r=-1;for(;++r<t;)if("function"==typeof n[r])return!1;return!0}(o)?c(o,-1):0==e.length?(u=s,i=o,(f=r)==r?((n,t,r)=>function(...r){return n(r,t)})(u,i):((n,t,r)=>function(...r){return n(t,r)})(u,f)):function(n){const r=n.length;let e=-1;for(;++e<r;){const r=n[e];if(t(r))return!0}return!1}(e)?n(e).then(function(n,t,e){return t==r?((n,t)=>function(r){return n(r,t)})(n,e):((n,t)=>function(r){return n(t,r)})(n,t)}(s,r,o)):s(e,o);var u,f,i}}());
|
package/dist/or.mjs
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
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 promiseAll = Promise.all.bind(Promise)
|
|
9
|
+
|
|
8
10
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
11
|
|
|
12
|
+
const areAnyValuesPromises = function (values) {
|
|
13
|
+
const length = values.length
|
|
14
|
+
let index = -1
|
|
15
|
+
while (++index < length) {
|
|
16
|
+
const value = values[index]
|
|
17
|
+
if (isPromise(value)) {
|
|
18
|
+
return true
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
23
|
+
|
|
10
24
|
const __ = Symbol.for('placeholder')
|
|
11
25
|
|
|
26
|
+
// argument resolver for curry2
|
|
27
|
+
const curry2ResolveArg0 = (
|
|
28
|
+
baseFunc, arg1,
|
|
29
|
+
) => function arg0Resolver(arg0) {
|
|
30
|
+
return baseFunc(arg0, arg1)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// argument resolver for curry2
|
|
34
|
+
const curry2ResolveArg1 = (
|
|
35
|
+
baseFunc, arg0,
|
|
36
|
+
) => function arg1Resolver(arg1) {
|
|
37
|
+
return baseFunc(arg0, arg1)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
41
|
+
return arg0 == __
|
|
42
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
43
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
44
|
+
}
|
|
45
|
+
|
|
12
46
|
// argument resolver for curry3
|
|
13
47
|
const curry3ResolveArg0 = (
|
|
14
48
|
baseFunc, arg1, arg2,
|
|
@@ -40,6 +74,27 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
|
40
74
|
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
41
75
|
}
|
|
42
76
|
|
|
77
|
+
// argument resolver for curryArgs2
|
|
78
|
+
const curryArgs2ResolveArgs0 = (
|
|
79
|
+
baseFunc, arg1, arg2,
|
|
80
|
+
) => function args0Resolver(...args) {
|
|
81
|
+
return baseFunc(args, arg1)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// argument resolver for curryArgs2
|
|
85
|
+
const curryArgs2ResolveArgs1 = (
|
|
86
|
+
baseFunc, arg0, arg2,
|
|
87
|
+
) => function arg1Resolver(...args) {
|
|
88
|
+
return baseFunc(arg0, args)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
92
|
+
if (arg0 == __) {
|
|
93
|
+
return curryArgs2ResolveArgs0(baseFunc, arg1)
|
|
94
|
+
}
|
|
95
|
+
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
96
|
+
}
|
|
97
|
+
|
|
43
98
|
const thunkConditional = (
|
|
44
99
|
conditionalExpression, thunkOnTruthy, thunkOnFalsy,
|
|
45
100
|
) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
|
|
@@ -68,7 +123,7 @@ const always = value => function getter() { return value }
|
|
|
68
123
|
const areAnyNonfunctionsTruthy = function (predicates, index) {
|
|
69
124
|
const length = predicates.length
|
|
70
125
|
while (++index < length) {
|
|
71
|
-
|
|
126
|
+
const predicate = predicates[index]
|
|
72
127
|
if (isPromise(predicate)) {
|
|
73
128
|
return predicate.then(curry3(
|
|
74
129
|
thunkConditional,
|
|
@@ -84,14 +139,13 @@ const areAnyNonfunctionsTruthy = function (predicates, index) {
|
|
|
84
139
|
return false
|
|
85
140
|
}
|
|
86
141
|
|
|
87
|
-
const asyncAreAnyPredicatesTruthy = async function (
|
|
142
|
+
const asyncAreAnyPredicatesTruthy = async function (args, predicates, index) {
|
|
88
143
|
const length = predicates.length
|
|
89
144
|
while (++index < length) {
|
|
90
145
|
let predicate = predicates[index]
|
|
91
146
|
if (typeof predicate == 'function') {
|
|
92
|
-
predicate = predicate(
|
|
147
|
+
predicate = predicate(...args)
|
|
93
148
|
}
|
|
94
|
-
console.log('hey - or', predicate)
|
|
95
149
|
if (isPromise(predicate)) {
|
|
96
150
|
predicate = await predicate
|
|
97
151
|
}
|
|
@@ -102,33 +156,47 @@ const asyncAreAnyPredicatesTruthy = async function (predicates, point, index) {
|
|
|
102
156
|
return false
|
|
103
157
|
}
|
|
104
158
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
let
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
if (predicate) {
|
|
127
|
-
return true
|
|
128
|
-
}
|
|
159
|
+
// areAnyPredicatesTruthy(args Array, predicates Array<function>) -> Promise|boolean
|
|
160
|
+
const areAnyPredicatesTruthy = function (args, predicates) {
|
|
161
|
+
const length = predicates.length
|
|
162
|
+
let index = -1
|
|
163
|
+
|
|
164
|
+
while (++index < length) {
|
|
165
|
+
let predicate = predicates[index]
|
|
166
|
+
if (typeof predicate == 'function') {
|
|
167
|
+
predicate = predicate(...args)
|
|
168
|
+
}
|
|
169
|
+
if (isPromise(predicate)) {
|
|
170
|
+
return predicate.then(curry3(
|
|
171
|
+
thunkConditional,
|
|
172
|
+
__,
|
|
173
|
+
always(true),
|
|
174
|
+
thunkify3(asyncAreAnyPredicatesTruthy, args, predicates, index),
|
|
175
|
+
))
|
|
176
|
+
}
|
|
177
|
+
if (predicate) {
|
|
178
|
+
return true
|
|
129
179
|
}
|
|
130
|
-
return false
|
|
131
180
|
}
|
|
181
|
+
return false
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
const or = function (...args) {
|
|
185
|
+
const predicatesOrValues = args.pop()
|
|
186
|
+
if (areAllValuesNonfunctions(predicatesOrValues)) {
|
|
187
|
+
return areAnyNonfunctionsTruthy(predicatesOrValues, -1)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (args.length == 0) {
|
|
191
|
+
return curryArgs2(areAnyPredicatesTruthy, __, predicatesOrValues)
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (areAnyValuesPromises(args)) {
|
|
195
|
+
return promiseAll(args)
|
|
196
|
+
.then(curry2(areAnyPredicatesTruthy, __, predicatesOrValues))
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return areAnyPredicatesTruthy(args, predicatesOrValues)
|
|
132
200
|
}
|
|
133
201
|
|
|
134
202
|
export default or
|
package/dist/pick.es.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
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
|
+
|
|
8
10
|
const isArray = Array.isArray
|
|
9
11
|
|
|
10
12
|
const memoizeCappedUnary = function (func, cap) {
|
|
@@ -139,10 +141,13 @@ const _pick = function (source, keys) {
|
|
|
139
141
|
return result
|
|
140
142
|
}
|
|
141
143
|
|
|
142
|
-
const pick = (arg0, arg1)
|
|
144
|
+
const pick = function (arg0, arg1) {
|
|
143
145
|
if (arg1 == null) {
|
|
144
146
|
return curry2(_pick, __, arg0)
|
|
145
147
|
}
|
|
148
|
+
if (isPromise(arg0)) {
|
|
149
|
+
return arg0.then(curry2(_pick, __, arg1))
|
|
150
|
+
}
|
|
146
151
|
return _pick(arg0, arg1)
|
|
147
152
|
}
|
|
148
153
|
|
package/dist/pick.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,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const i=r(n);return e.set(n,i),e.size>t&&e.clear(),i};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 i=-1,o=r;for(;++i<n;)if(o=o[e[i]],null==o)return;return o},isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},setByPath=function(r,t,e){if(!isObject(r))return r;const n=propertyPathToArray(e),i=n.length,o=i-1,
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const i=r(n);return e.set(n,i),e.size>t&&e.clear(),i};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 i=-1,o=r;for(;++i<n;)if(o=o[e[i]],null==o)return;return o},isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},setByPath=function(r,t,e){if(!isObject(r))return r;const n=propertyPathToArray(e),i=n.length,o=i-1,c={...r};let s=c,l=-1;for(;++l<i;){const r=n[l];if(l==o)s[r]=t;else{const t=s[r],e=isArray(t)?t.slice():{...t};s[r]=e,s=e}}return c},__=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)},_pick=function(r,t){if(null==r)return r;const e=t.length;let n={},i=-1;for(;++i<e;){const e=t[i],o=getByPath(r,e);null!=o&&(n=setByPath(n,o,e))}return n},pick=function(r,t){return null==t?curry2(_pick,__,r):null!=(e=r)&&"function"==typeof e.then?r.then(curry2(_pick,__,t)):_pick(r,t);var e};export default pick;
|
package/dist/pick.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,6 +11,8 @@
|
|
|
11
11
|
else (root.pick = pick) // Browser
|
|
12
12
|
}(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
|
|
13
13
|
|
|
14
|
+
const isPromise = value => value != null && typeof value.then == 'function'
|
|
15
|
+
|
|
14
16
|
const isArray = Array.isArray
|
|
15
17
|
|
|
16
18
|
const memoizeCappedUnary = function (func, cap) {
|
|
@@ -145,10 +147,13 @@ const _pick = function (source, keys) {
|
|
|
145
147
|
return result
|
|
146
148
|
}
|
|
147
149
|
|
|
148
|
-
const pick = (arg0, arg1)
|
|
150
|
+
const pick = function (arg0, arg1) {
|
|
149
151
|
if (arg1 == null) {
|
|
150
152
|
return curry2(_pick, __, arg0)
|
|
151
153
|
}
|
|
154
|
+
if (isPromise(arg0)) {
|
|
155
|
+
return arg0.then(curry2(_pick, __, arg1))
|
|
156
|
+
}
|
|
152
157
|
return _pick(arg0, arg1)
|
|
153
158
|
}
|
|
154
159
|
|
package/dist/pick.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.pick=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=/[.|[|\]]+/,e=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 e=n.length-1,r="["==n[0],o="]"==n[e];return r&&o?n.slice(1,e).split(t):r?n.slice(1).split(t):o?n.slice(0,e).split(t):n.split(t)}),500),r=t=>n(t)?t:"string"==typeof t?e(t):[t],o=function(n,t){const e=r(t),o=e.length;let
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.pick=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=/[.|[|\]]+/,e=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 e=n.length-1,r="["==n[0],o="]"==n[e];return r&&o?n.slice(1,e).split(t):r?n.slice(1).split(t):o?n.slice(0,e).split(t):n.split(t)}),500),r=t=>n(t)?t:"string"==typeof t?e(t):[t],o=function(n,t){const e=r(t),o=e.length;let u=-1,c=n;for(;++u<o;)if(c=c[e[u]],null==c)return;return c},u=function(t,e,o){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(t))return t;const u=r(o),c=u.length,i=c-1,l={...t};let f=l,s=-1;for(;++s<c;){const t=u[s];if(s==i)f[t]=e;else{const e=f[t],r=n(e)?e.slice():{...e};f[t]=r,f=r}}return l},c=Symbol.for("placeholder"),i=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},l=function(n,t){if(null==n)return n;const e=t.length;let r={},c=-1;for(;++c<e;){const e=t[c],i=o(n,e);null!=i&&(r=u(r,i,e))}return r};return function(n,t){return null==t?i(l,c,n):null!=(e=n)&&"function"==typeof e.then?n.then(i(l,c,t)):l(n,t);var e}}());
|
package/dist/pick.mjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
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
|
+
|
|
8
10
|
const isArray = Array.isArray
|
|
9
11
|
|
|
10
12
|
const memoizeCappedUnary = function (func, cap) {
|
|
@@ -139,10 +141,13 @@ const _pick = function (source, keys) {
|
|
|
139
141
|
return result
|
|
140
142
|
}
|
|
141
143
|
|
|
142
|
-
const pick = (arg0, arg1)
|
|
144
|
+
const pick = function (arg0, arg1) {
|
|
143
145
|
if (arg1 == null) {
|
|
144
146
|
return curry2(_pick, __, arg0)
|
|
145
147
|
}
|
|
148
|
+
if (isPromise(arg0)) {
|
|
149
|
+
return arg0.then(curry2(_pick, __, arg1))
|
|
150
|
+
}
|
|
146
151
|
return _pick(arg0, arg1)
|
|
147
152
|
}
|
|
148
153
|
|
package/dist/pipe.es.js
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
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 noop = function () {}
|
|
9
|
-
|
|
10
8
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
11
9
|
|
|
10
|
+
const areAnyValuesPromises = function (values) {
|
|
11
|
+
const length = values.length
|
|
12
|
+
let index = -1
|
|
13
|
+
while (++index < length) {
|
|
14
|
+
const value = values[index]
|
|
15
|
+
if (isPromise(value)) {
|
|
16
|
+
return true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
23
|
+
|
|
12
24
|
const funcConcat = (
|
|
13
25
|
funcA, funcB,
|
|
14
26
|
) => function pipedFunction(...args) {
|
|
@@ -18,59 +30,43 @@ const funcConcat = (
|
|
|
18
30
|
: funcB(intermediate)
|
|
19
31
|
}
|
|
20
32
|
|
|
21
|
-
const
|
|
22
|
-
funcA, funcB,
|
|
23
|
-
) => function pipedFunction(...args) {
|
|
24
|
-
return funcB(funcA(...args))
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const objectProto = Object.prototype
|
|
28
|
-
|
|
29
|
-
const nativeObjectToString = objectProto.toString
|
|
33
|
+
const funcApply = (func, args) => func(...args)
|
|
30
34
|
|
|
31
|
-
const
|
|
35
|
+
const __ = Symbol.for('placeholder')
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
// argument resolver for curry2
|
|
38
|
+
const curry2ResolveArg0 = (
|
|
39
|
+
baseFunc, arg1,
|
|
40
|
+
) => function arg0Resolver(arg0) {
|
|
41
|
+
return baseFunc(arg0, arg1)
|
|
42
|
+
}
|
|
36
43
|
|
|
37
|
-
|
|
44
|
+
// argument resolver for curry2
|
|
45
|
+
const curry2ResolveArg1 = (
|
|
46
|
+
baseFunc, arg0,
|
|
47
|
+
) => function arg1Resolver(arg1) {
|
|
48
|
+
return baseFunc(arg0, arg1)
|
|
49
|
+
}
|
|
38
50
|
|
|
39
|
-
const
|
|
51
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
52
|
+
return arg0 == __
|
|
53
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
54
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
55
|
+
}
|
|
40
56
|
|
|
41
57
|
const pipe = function (...args) {
|
|
42
58
|
const funcs = args.pop()
|
|
59
|
+
const pipeline = funcs.reduce(funcConcat)
|
|
43
60
|
|
|
44
|
-
if (args.length
|
|
45
|
-
return
|
|
61
|
+
if (args.length == 0) {
|
|
62
|
+
return pipeline
|
|
46
63
|
}
|
|
47
64
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return function pipeline(...args) {
|
|
51
|
-
const firstArg = args[0]
|
|
52
|
-
|
|
53
|
-
if (
|
|
54
|
-
typeof firstArg == 'function'
|
|
55
|
-
&& !isGeneratorFunction(firstArg)
|
|
56
|
-
&& !isAsyncGeneratorFunction(firstArg)
|
|
57
|
-
) {
|
|
58
|
-
if (functionComposition == noop) {
|
|
59
|
-
functionComposition = funcs.reduceRight(funcConcat)
|
|
60
|
-
}
|
|
61
|
-
return functionComposition(firstArg)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (functionPipeline == noop) {
|
|
65
|
-
functionPipeline = funcs.reduce(funcConcat)
|
|
66
|
-
}
|
|
67
|
-
return functionPipeline(...args)
|
|
65
|
+
if (areAnyValuesPromises(args)) {
|
|
66
|
+
return promiseAll(args).then(curry2(funcApply, pipeline, __))
|
|
68
67
|
}
|
|
69
|
-
}
|
|
70
68
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
pipe.sync = pipeSync
|
|
69
|
+
return pipeline(...args)
|
|
70
|
+
}
|
|
75
71
|
|
|
76
72
|
export default pipe
|
package/dist/pipe.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
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},funcApply=(r,e)=>r(...e),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},pipe=function(...r){const e=r.pop().reduce(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then((n=funcApply,t=__,(o=e)==__?curry2ResolveArg0(n,t):curry2ResolveArg1(n,o))):e(...r);var n,o,t};export default pipe;
|