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/not.es.js
CHANGED
|
@@ -1,29 +1,90 @@
|
|
|
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
8
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return isPromise(boolean) ? boolean.then(_not) : !boolean
|
|
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
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
|
-
return
|
|
19
|
+
return false
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
23
|
+
|
|
24
|
+
const __ = Symbol.for('placeholder')
|
|
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
|
+
|
|
46
|
+
// argument resolver for curryArgs2
|
|
47
|
+
const curryArgs2ResolveArgs0 = (
|
|
48
|
+
baseFunc, arg1, arg2,
|
|
49
|
+
) => function args0Resolver(...args) {
|
|
50
|
+
return baseFunc(args, arg1)
|
|
21
51
|
}
|
|
22
52
|
|
|
23
|
-
|
|
24
|
-
|
|
53
|
+
// argument resolver for curryArgs2
|
|
54
|
+
const curryArgs2ResolveArgs1 = (
|
|
55
|
+
baseFunc, arg0, arg2,
|
|
56
|
+
) => function arg1Resolver(...args) {
|
|
57
|
+
return baseFunc(arg0, args)
|
|
25
58
|
}
|
|
26
59
|
|
|
27
|
-
|
|
60
|
+
const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
61
|
+
if (arg0 == __) {
|
|
62
|
+
return curryArgs2ResolveArgs0(baseFunc, arg1)
|
|
63
|
+
}
|
|
64
|
+
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// negate(value boolean) -> inverse boolean
|
|
68
|
+
const negate = value => !value
|
|
69
|
+
|
|
70
|
+
// _not(args Array, predicate function)
|
|
71
|
+
const _not = function (args, predicate) {
|
|
72
|
+
const boolean = predicate(...args)
|
|
73
|
+
return isPromise(boolean) ? boolean.then(negate) : !boolean
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const not = function (...args) {
|
|
77
|
+
const predicateOrValue = args.pop()
|
|
78
|
+
if (typeof predicateOrValue == 'function') {
|
|
79
|
+
if (args.length == 0) {
|
|
80
|
+
return curryArgs2(_not, __, predicateOrValue)
|
|
81
|
+
}
|
|
82
|
+
if (areAnyValuesPromises(args)) {
|
|
83
|
+
return promiseAll(args).then(curry2(_not, __, predicateOrValue))
|
|
84
|
+
}
|
|
85
|
+
return _not(args, predicateOrValue)
|
|
86
|
+
}
|
|
87
|
+
return !predicateOrValue
|
|
88
|
+
}
|
|
28
89
|
|
|
29
90
|
export default not
|
package/dist/not.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,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),__=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)},curryArgs2ResolveArgs0=(r,e,n)=>function(...n){return r(n,e)},curryArgs2ResolveArgs1=(r,e,n)=>function(...n){return r(e,n)},curryArgs2=function(r,e,n){return e==__?curryArgs2ResolveArgs0(r,n):curryArgs2ResolveArgs1(r,e)},negate=r=>!r,_not=function(r,e){const n=e(...r);return isPromise(n)?n.then(negate):!n},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?(n=_not,s=e,(o=__)==__?curryArgs2ResolveArgs0(n,s):curryArgs2ResolveArgs1(n,o)):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):!e;var n,o,s};export default not;
|
package/dist/not.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
|
|
|
@@ -13,24 +13,85 @@
|
|
|
13
13
|
|
|
14
14
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return isPromise(boolean) ? boolean.then(_not) : !boolean
|
|
16
|
+
const areAnyValuesPromises = function (values) {
|
|
17
|
+
const length = values.length
|
|
18
|
+
let index = -1
|
|
19
|
+
while (++index < length) {
|
|
20
|
+
const value = values[index]
|
|
21
|
+
if (isPromise(value)) {
|
|
22
|
+
return true
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
|
-
return
|
|
25
|
+
return false
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
29
|
+
|
|
30
|
+
const __ = Symbol.for('placeholder')
|
|
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
|
+
|
|
52
|
+
// argument resolver for curryArgs2
|
|
53
|
+
const curryArgs2ResolveArgs0 = (
|
|
54
|
+
baseFunc, arg1, arg2,
|
|
55
|
+
) => function args0Resolver(...args) {
|
|
56
|
+
return baseFunc(args, arg1)
|
|
27
57
|
}
|
|
28
58
|
|
|
29
|
-
|
|
30
|
-
|
|
59
|
+
// argument resolver for curryArgs2
|
|
60
|
+
const curryArgs2ResolveArgs1 = (
|
|
61
|
+
baseFunc, arg0, arg2,
|
|
62
|
+
) => function arg1Resolver(...args) {
|
|
63
|
+
return baseFunc(arg0, args)
|
|
31
64
|
}
|
|
32
65
|
|
|
33
|
-
|
|
66
|
+
const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
67
|
+
if (arg0 == __) {
|
|
68
|
+
return curryArgs2ResolveArgs0(baseFunc, arg1)
|
|
69
|
+
}
|
|
70
|
+
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// negate(value boolean) -> inverse boolean
|
|
74
|
+
const negate = value => !value
|
|
75
|
+
|
|
76
|
+
// _not(args Array, predicate function)
|
|
77
|
+
const _not = function (args, predicate) {
|
|
78
|
+
const boolean = predicate(...args)
|
|
79
|
+
return isPromise(boolean) ? boolean.then(negate) : !boolean
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const not = function (...args) {
|
|
83
|
+
const predicateOrValue = args.pop()
|
|
84
|
+
if (typeof predicateOrValue == 'function') {
|
|
85
|
+
if (args.length == 0) {
|
|
86
|
+
return curryArgs2(_not, __, predicateOrValue)
|
|
87
|
+
}
|
|
88
|
+
if (areAnyValuesPromises(args)) {
|
|
89
|
+
return promiseAll(args).then(curry2(_not, __, predicateOrValue))
|
|
90
|
+
}
|
|
91
|
+
return _not(args, predicateOrValue)
|
|
92
|
+
}
|
|
93
|
+
return !predicateOrValue
|
|
94
|
+
}
|
|
34
95
|
|
|
35
96
|
return not
|
|
36
97
|
}())))
|
package/dist/not.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.not=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.not=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Promise.all.bind(Promise),o=Symbol.for("placeholder"),e=n=>!n,r=function(t,o){const r=o(...t);return n(r)?r.then(e):!r};return function(...e){const u=e.pop();return"function"==typeof u?0==e.length?(f=r,c=u,(i=o)==o?((n,t,o)=>function(...o){return n(o,t)})(f,c):((n,t,o)=>function(...o){return n(t,o)})(f,i)):function(t){const o=t.length;let e=-1;for(;++e<o;){const o=t[e];if(n(o))return!0}return!1}(e)?t(e).then(function(n,t,e){return t==o?((n,t)=>function(o){return n(o,t)})(n,e):((n,t)=>function(o){return n(t,o)})(n,t)}(r,o,u)):r(e,u):!u;var f,i,c}}());
|
package/dist/not.mjs
CHANGED
|
@@ -1,29 +1,90 @@
|
|
|
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
8
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return isPromise(boolean) ? boolean.then(_not) : !boolean
|
|
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
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
|
-
return
|
|
19
|
+
return false
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
23
|
+
|
|
24
|
+
const __ = Symbol.for('placeholder')
|
|
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
|
+
|
|
46
|
+
// argument resolver for curryArgs2
|
|
47
|
+
const curryArgs2ResolveArgs0 = (
|
|
48
|
+
baseFunc, arg1, arg2,
|
|
49
|
+
) => function args0Resolver(...args) {
|
|
50
|
+
return baseFunc(args, arg1)
|
|
21
51
|
}
|
|
22
52
|
|
|
23
|
-
|
|
24
|
-
|
|
53
|
+
// argument resolver for curryArgs2
|
|
54
|
+
const curryArgs2ResolveArgs1 = (
|
|
55
|
+
baseFunc, arg0, arg2,
|
|
56
|
+
) => function arg1Resolver(...args) {
|
|
57
|
+
return baseFunc(arg0, args)
|
|
25
58
|
}
|
|
26
59
|
|
|
27
|
-
|
|
60
|
+
const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
61
|
+
if (arg0 == __) {
|
|
62
|
+
return curryArgs2ResolveArgs0(baseFunc, arg1)
|
|
63
|
+
}
|
|
64
|
+
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// negate(value boolean) -> inverse boolean
|
|
68
|
+
const negate = value => !value
|
|
69
|
+
|
|
70
|
+
// _not(args Array, predicate function)
|
|
71
|
+
const _not = function (args, predicate) {
|
|
72
|
+
const boolean = predicate(...args)
|
|
73
|
+
return isPromise(boolean) ? boolean.then(negate) : !boolean
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const not = function (...args) {
|
|
77
|
+
const predicateOrValue = args.pop()
|
|
78
|
+
if (typeof predicateOrValue == 'function') {
|
|
79
|
+
if (args.length == 0) {
|
|
80
|
+
return curryArgs2(_not, __, predicateOrValue)
|
|
81
|
+
}
|
|
82
|
+
if (areAnyValuesPromises(args)) {
|
|
83
|
+
return promiseAll(args).then(curry2(_not, __, predicateOrValue))
|
|
84
|
+
}
|
|
85
|
+
return _not(args, predicateOrValue)
|
|
86
|
+
}
|
|
87
|
+
return !predicateOrValue
|
|
88
|
+
}
|
|
28
89
|
|
|
29
90
|
export default not
|
package/dist/omit.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) {
|
|
@@ -170,6 +172,9 @@ const omit = function (arg0, arg1) {
|
|
|
170
172
|
if (arg1 == null) {
|
|
171
173
|
return curry2(_omit, __, arg0)
|
|
172
174
|
}
|
|
175
|
+
if (isPromise(arg0)) {
|
|
176
|
+
return arg0.then(curry2(_omit, __, arg1))
|
|
177
|
+
}
|
|
173
178
|
return _omit(arg0, arg1)
|
|
174
179
|
}
|
|
175
180
|
|
package/dist/omit.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,o=function(o){if(t.has(o))return t.get(o);const n=r(o);return t.set(o,n),t.size>e&&t.clear(),n};return o.cache=t,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],o="]"==r[e];return t&&o?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):o?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),o=t.length;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;return c},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),o=t.length-1;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;const
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,memoizeCappedUnary=function(r,e){const t=new Map,o=function(o){if(t.has(o))return t.get(o);const n=r(o);return t.set(o,n),t.size>e&&t.clear(),n};return o.cache=t,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],o="]"==r[e];return t&&o?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):o?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),o=t.length;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;return c},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),o=t.length-1;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;const i=t[n];null!=c&&i in c&&delete c[i]},objectCopyDeep=function(r){const e={};for(const t in r){const o=r[t];isArray(o)?e[t]=arrayCopyDeep(o):null!=o&&o.constructor==Object?e[t]=objectCopyDeep(o):e[t]=o}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let o=-1;for(;++o<e;){const e=r[o];isArray(e)?t[o]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[o]=objectCopyDeep(e):t[o]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},__=Symbol.for("placeholder"),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)},_omit=function(r,e){const t=e.length,o=isArray(n=r)?arrayCopyDeep(n):null==n?n:n.constructor==Object?objectCopyDeep(n):n;var n;let c=-1;for(;++c<t;)deleteByPath(o,e[c]);return o},omit=function(r,e){return null==e?curry2(_omit,__,r):null!=(t=r)&&"function"==typeof t.then?r.then(curry2(_omit,__,e)):_omit(r,e);var t};export default omit;
|
package/dist/omit.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.omit = omit) // 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) {
|
|
@@ -176,6 +178,9 @@ const omit = function (arg0, arg1) {
|
|
|
176
178
|
if (arg1 == null) {
|
|
177
179
|
return curry2(_omit, __, arg0)
|
|
178
180
|
}
|
|
181
|
+
if (isPromise(arg0)) {
|
|
182
|
+
return arg0.then(curry2(_omit, __, arg1))
|
|
183
|
+
}
|
|
179
184
|
return _omit(arg0, arg1)
|
|
180
185
|
}
|
|
181
186
|
|
package/dist/omit.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.omit=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=/[.|[|\]]+/,e=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 e=n.length-1,o="["==n[0],r="]"==n[e];return o&&r?n.slice(1,e).split(t):o?n.slice(1).split(t):r?n.slice(0,e).split(t):n.split(t)}),500),o=t=>n(t)?t:"string"==typeof t?e(t):[t],r=function(n,t){if(null==n)return;const e=o(t),r=e.length-1;let c=-1,u=n;for(;++c<r;)if(u=u[e[c]],null==u)return;const l=e[c];null!=u&&l in u&&delete u[l]},c=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=u(r):null!=r&&r.constructor==Object?e[o]=c(r):e[o]=r}return e},u=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=u(e):null!=e&&e.constructor==Object?o[r]=c(e):o[r]=e}return o},l=Symbol.for("placeholder"),i=function(n,t,e){return t==l?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},s=function(t,e){const o=e.length,l=n(i=t)?u(i):null==i?i:i.constructor==Object?c(i):i;var i;let s=-1;for(;++s<o;)r(l,e[s]);return l};return function(n,t){return null==t?i(s,l,n):null!=(e=n)&&"function"==typeof e.then?n.then(i(s,l,t)):s(n,t);var e}}());
|
package/dist/omit.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) {
|
|
@@ -170,6 +172,9 @@ const omit = function (arg0, arg1) {
|
|
|
170
172
|
if (arg1 == null) {
|
|
171
173
|
return curry2(_omit, __, arg0)
|
|
172
174
|
}
|
|
175
|
+
if (isPromise(arg0)) {
|
|
176
|
+
return arg0.then(curry2(_omit, __, arg1))
|
|
177
|
+
}
|
|
173
178
|
return _omit(arg0, arg1)
|
|
174
179
|
}
|
|
175
180
|
|
package/dist/or.es.js
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/or.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico
|
|
2
|
+
* rubico v2.0.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
|
-
* (c) 2019-
|
|
4
|
+
* (c) 2019-2023 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=
|
|
7
|
+
const promiseAll=Promise.all.bind(Promise),isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const n=r.length;let e=-1;for(;++e<n;){const n=r[e];if(isPromise(n))return!0}return!1},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},curryArgs2ResolveArgs0=(r,n,e)=>function(...e){return r(e,n)},curryArgs2ResolveArgs1=(r,n,e)=>function(...e){return r(n,e)},curryArgs2=function(r,n,e){return n==__?curryArgs2ResolveArgs0(r,e):curryArgs2ResolveArgs1(r,n)},thunkConditional=(r,n,e)=>r?n():e(),areAllValuesNonfunctions=function(r){const n=r.length;let e=-1;for(;++e<n;)if("function"==typeof r[e])return!1;return!0},thunkify2=(r,n,e)=>function(){return r(n,e)},thunkify3=(r,n,e,t)=>function(){return r(n,e,t)},always=r=>function(){return r},areAnyNonfunctionsTruthy=function(r,n){const e=r.length;for(;++n<e;){const e=r[n];if(isPromise(e))return e.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,r,n)));if(e)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(r,n,e){const t=n.length;for(;++e<t;){let t=n[e];if("function"==typeof t&&(t=t(...r)),isPromise(t)&&(t=await t),t)return!0}return!1},areAnyPredicatesTruthy=function(r,n){const e=n.length;let t=-1;for(;++t<e;){let e=n[t];if("function"==typeof e&&(e=e(...r)),isPromise(e))return e.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,r,n,t)));if(e)return!0}return!1},or=function(...r){const n=r.pop();return areAllValuesNonfunctions(n)?areAnyNonfunctionsTruthy(n,-1):0==r.length?(e=areAnyPredicatesTruthy,u=n,(t=__)==__?curryArgs2ResolveArgs0(e,u):curryArgs2ResolveArgs1(e,t)):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAnyPredicatesTruthy,__,n)):areAnyPredicatesTruthy(r,n);var e,t,u};export default or;
|