rubico 2.0.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/Transducer.js +28 -0
- package/_internal/genericTransform.js +30 -28
- package/_internal/reducerTryCatch.js +55 -0
- package/dist/Transducer.es.js +28 -1
- package/dist/Transducer.es.min.js +2 -2
- package/dist/Transducer.js +28 -1
- package/dist/Transducer.min.js +2 -2
- package/dist/Transducer.mjs +28 -1
- package/dist/__.es.js +1 -1
- package/dist/__.es.min.js +1 -1
- package/dist/__.js +1 -1
- package/dist/__.min.js +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +1 -1
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +1 -1
- package/dist/all.min.js +1 -1
- package/dist/all.mjs +1 -1
- package/dist/always.es.js +1 -1
- package/dist/always.es.min.js +1 -1
- package/dist/always.js +1 -1
- package/dist/always.min.js +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +1 -1
- package/dist/and.es.min.js +1 -1
- package/dist/and.js +1 -1
- package/dist/and.min.js +1 -1
- package/dist/and.mjs +1 -1
- package/dist/assign.es.js +1 -1
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +1 -1
- package/dist/assign.min.js +1 -1
- package/dist/assign.mjs +1 -1
- package/dist/compose.es.js +1 -1
- package/dist/compose.es.min.js +1 -1
- package/dist/compose.js +1 -1
- package/dist/compose.min.js +1 -1
- package/dist/compose.mjs +1 -1
- package/dist/curry.es.js +1 -1
- package/dist/curry.es.min.js +1 -1
- package/dist/curry.js +1 -1
- package/dist/curry.min.js +1 -1
- package/dist/curry.mjs +1 -1
- package/dist/eq.es.js +1 -1
- package/dist/eq.es.min.js +1 -1
- package/dist/eq.js +1 -1
- package/dist/eq.min.js +1 -1
- package/dist/eq.mjs +1 -1
- package/dist/every.es.js +1 -1
- package/dist/every.es.min.js +1 -1
- package/dist/every.js +1 -1
- package/dist/every.min.js +1 -1
- package/dist/every.mjs +1 -1
- package/dist/filter.es.js +1 -1
- package/dist/filter.es.min.js +1 -1
- package/dist/filter.js +1 -1
- package/dist/filter.min.js +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/flatMap.es.js +1 -1
- package/dist/flatMap.es.min.js +1 -1
- package/dist/flatMap.js +1 -1
- package/dist/flatMap.min.js +1 -1
- package/dist/flatMap.mjs +1 -1
- package/dist/forEach.es.js +1 -1
- package/dist/forEach.es.min.js +1 -1
- package/dist/forEach.js +1 -1
- package/dist/forEach.min.js +1 -1
- package/dist/forEach.mjs +1 -1
- package/dist/get.es.js +1 -1
- package/dist/get.es.min.js +1 -1
- package/dist/get.js +1 -1
- package/dist/get.min.js +1 -1
- package/dist/get.mjs +1 -1
- package/dist/gt.es.js +1 -1
- package/dist/gt.es.min.js +1 -1
- package/dist/gt.js +1 -1
- package/dist/gt.min.js +1 -1
- package/dist/gt.mjs +1 -1
- package/dist/gte.es.js +1 -1
- package/dist/gte.es.min.js +1 -1
- package/dist/gte.js +1 -1
- package/dist/gte.min.js +1 -1
- package/dist/gte.mjs +1 -1
- package/dist/lt.es.js +1 -1
- package/dist/lt.es.min.js +1 -1
- package/dist/lt.js +1 -1
- package/dist/lt.min.js +1 -1
- package/dist/lt.mjs +1 -1
- package/dist/lte.es.js +1 -1
- package/dist/lte.es.min.js +1 -1
- package/dist/lte.js +1 -1
- package/dist/lte.min.js +1 -1
- package/dist/lte.mjs +1 -1
- package/dist/map.es.js +1 -1
- package/dist/map.es.min.js +1 -1
- package/dist/map.js +1 -1
- package/dist/map.min.js +1 -1
- package/dist/map.mjs +1 -1
- package/dist/not.es.js +1 -1
- package/dist/not.es.min.js +1 -1
- package/dist/not.js +1 -1
- package/dist/not.min.js +1 -1
- package/dist/not.mjs +1 -1
- package/dist/omit.es.js +1 -1
- package/dist/omit.es.min.js +1 -1
- package/dist/omit.js +1 -1
- package/dist/omit.min.js +1 -1
- package/dist/omit.mjs +1 -1
- package/dist/or.es.js +1 -1
- package/dist/or.es.min.js +1 -1
- package/dist/or.js +1 -1
- package/dist/or.min.js +1 -1
- package/dist/or.mjs +1 -1
- package/dist/pick.es.js +1 -1
- package/dist/pick.es.min.js +1 -1
- package/dist/pick.js +1 -1
- package/dist/pick.min.js +1 -1
- package/dist/pick.mjs +1 -1
- package/dist/pipe.es.js +1 -1
- package/dist/pipe.es.min.js +1 -1
- package/dist/pipe.js +1 -1
- package/dist/pipe.min.js +1 -1
- package/dist/pipe.mjs +1 -1
- package/dist/reduce.es.js +1 -1
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +1 -1
- package/dist/rubico.es.js +57 -46
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +57 -46
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +57 -46
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +57 -46
- package/dist/set.es.js +1 -1
- package/dist/set.es.min.js +1 -1
- package/dist/set.js +1 -1
- package/dist/set.min.js +1 -1
- package/dist/set.mjs +1 -1
- package/dist/some.es.js +1 -1
- package/dist/some.es.min.js +1 -1
- package/dist/some.js +1 -1
- package/dist/some.min.js +1 -1
- package/dist/some.mjs +1 -1
- package/dist/switchCase.es.js +1 -1
- package/dist/switchCase.es.min.js +1 -1
- package/dist/switchCase.js +1 -1
- package/dist/switchCase.min.js +1 -1
- package/dist/switchCase.mjs +1 -1
- package/dist/tap.es.js +32 -2
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +32 -2
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +32 -2
- package/dist/thunkify.es.js +1 -1
- package/dist/thunkify.es.min.js +1 -1
- package/dist/thunkify.js +1 -1
- package/dist/thunkify.min.js +1 -1
- package/dist/thunkify.mjs +1 -1
- package/dist/transform.es.js +26 -24
- package/dist/transform.es.min.js +2 -2
- package/dist/transform.js +26 -24
- package/dist/transform.min.js +2 -2
- package/dist/transform.mjs +26 -24
- package/dist/tryCatch.es.js +1 -1
- package/dist/tryCatch.es.min.js +1 -1
- package/dist/tryCatch.js +1 -1
- package/dist/tryCatch.min.js +1 -1
- package/dist/tryCatch.mjs +1 -1
- package/dist/x/append.es.js +1 -1
- package/dist/x/append.es.min.js +1 -1
- package/dist/x/append.js +1 -1
- package/dist/x/append.min.js +1 -1
- package/dist/x/append.mjs +1 -1
- package/dist/x/callProp.es.js +1 -1
- package/dist/x/callProp.es.min.js +1 -1
- package/dist/x/callProp.js +1 -1
- package/dist/x/callProp.min.js +1 -1
- package/dist/x/callProp.mjs +1 -1
- package/dist/x/defaultsDeep.es.js +1 -1
- package/dist/x/defaultsDeep.es.min.js +1 -1
- package/dist/x/defaultsDeep.js +1 -1
- package/dist/x/defaultsDeep.min.js +1 -1
- package/dist/x/defaultsDeep.mjs +1 -1
- package/dist/x/differenceWith.es.js +1 -1
- package/dist/x/differenceWith.es.min.js +1 -1
- package/dist/x/differenceWith.js +1 -1
- package/dist/x/differenceWith.min.js +1 -1
- package/dist/x/differenceWith.mjs +1 -1
- package/dist/x/filterOut.es.js +1 -1
- package/dist/x/filterOut.es.min.js +1 -1
- package/dist/x/filterOut.js +1 -1
- package/dist/x/filterOut.min.js +1 -1
- package/dist/x/filterOut.mjs +1 -1
- package/dist/x/find.es.js +1 -1
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +1 -1
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +1 -1
- package/dist/x/findIndex.es.js +1 -1
- package/dist/x/findIndex.es.min.js +1 -1
- package/dist/x/findIndex.js +1 -1
- package/dist/x/findIndex.min.js +1 -1
- package/dist/x/findIndex.mjs +1 -1
- package/dist/x/first.es.js +1 -1
- package/dist/x/first.es.min.js +1 -1
- package/dist/x/first.js +1 -1
- package/dist/x/first.min.js +1 -1
- package/dist/x/first.mjs +1 -1
- package/dist/x/flatten.es.js +1 -1
- package/dist/x/flatten.es.min.js +1 -1
- package/dist/x/flatten.js +1 -1
- package/dist/x/flatten.min.js +1 -1
- package/dist/x/flatten.mjs +1 -1
- package/dist/x/groupBy.es.js +1 -1
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +1 -1
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +1 -1
- package/dist/x/has.es.js +1 -1
- package/dist/x/has.es.min.js +1 -1
- package/dist/x/has.js +1 -1
- package/dist/x/has.min.js +1 -1
- package/dist/x/has.mjs +1 -1
- package/dist/x/identity.es.js +1 -1
- package/dist/x/identity.es.min.js +1 -1
- package/dist/x/identity.js +1 -1
- package/dist/x/identity.min.js +1 -1
- package/dist/x/identity.mjs +1 -1
- package/dist/x/includes.es.js +1 -1
- package/dist/x/includes.es.min.js +1 -1
- package/dist/x/includes.js +1 -1
- package/dist/x/includes.min.js +1 -1
- package/dist/x/includes.mjs +1 -1
- package/dist/x/isDeepEqual.es.js +1 -1
- package/dist/x/isDeepEqual.es.min.js +1 -1
- package/dist/x/isDeepEqual.js +1 -1
- package/dist/x/isDeepEqual.min.js +1 -1
- package/dist/x/isDeepEqual.mjs +1 -1
- package/dist/x/isEmpty.es.js +1 -1
- package/dist/x/isEmpty.es.min.js +1 -1
- package/dist/x/isEmpty.js +1 -1
- package/dist/x/isEmpty.min.js +1 -1
- package/dist/x/isEmpty.mjs +1 -1
- package/dist/x/isEqual.es.js +1 -1
- package/dist/x/isEqual.es.min.js +1 -1
- package/dist/x/isEqual.js +1 -1
- package/dist/x/isEqual.min.js +1 -1
- package/dist/x/isEqual.mjs +1 -1
- package/dist/x/isFunction.es.js +1 -1
- package/dist/x/isFunction.es.min.js +1 -1
- package/dist/x/isFunction.js +1 -1
- package/dist/x/isFunction.min.js +1 -1
- package/dist/x/isFunction.mjs +1 -1
- package/dist/x/isIn.es.js +1 -1
- package/dist/x/isIn.es.min.js +1 -1
- package/dist/x/isIn.js +1 -1
- package/dist/x/isIn.min.js +1 -1
- package/dist/x/isIn.mjs +1 -1
- package/dist/x/isObject.es.js +1 -1
- package/dist/x/isObject.es.min.js +1 -1
- package/dist/x/isObject.js +1 -1
- package/dist/x/isObject.min.js +1 -1
- package/dist/x/isObject.mjs +1 -1
- package/dist/x/isString.es.js +1 -1
- package/dist/x/isString.es.min.js +1 -1
- package/dist/x/isString.js +1 -1
- package/dist/x/isString.min.js +1 -1
- package/dist/x/isString.mjs +1 -1
- package/dist/x/keys.es.js +1 -1
- package/dist/x/keys.es.min.js +1 -1
- package/dist/x/keys.js +1 -1
- package/dist/x/keys.min.js +1 -1
- package/dist/x/keys.mjs +1 -1
- package/dist/x/last.es.js +1 -1
- package/dist/x/last.es.min.js +1 -1
- package/dist/x/last.js +1 -1
- package/dist/x/last.min.js +1 -1
- package/dist/x/last.mjs +1 -1
- package/dist/x/maxBy.es.js +1 -1
- package/dist/x/maxBy.es.min.js +1 -1
- package/dist/x/maxBy.js +1 -1
- package/dist/x/maxBy.min.js +1 -1
- package/dist/x/maxBy.mjs +1 -1
- package/dist/x/noop.es.js +1 -1
- package/dist/x/noop.es.min.js +1 -1
- package/dist/x/noop.js +1 -1
- package/dist/x/noop.min.js +1 -1
- package/dist/x/noop.mjs +1 -1
- package/dist/x/pluck.es.js +1 -1
- package/dist/x/pluck.es.min.js +1 -1
- package/dist/x/pluck.js +1 -1
- package/dist/x/pluck.min.js +1 -1
- package/dist/x/pluck.mjs +1 -1
- package/dist/x/prepend.es.js +1 -1
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +1 -1
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +1 -1
- package/dist/x/size.es.js +1 -1
- package/dist/x/size.es.min.js +1 -1
- package/dist/x/size.js +1 -1
- package/dist/x/size.min.js +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +32 -2
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +32 -2
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +32 -2
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/es.js +57 -46
- package/index.js +57 -46
- package/package.json +43 -2
- package/tap.js +15 -4
- package/.eslintignore +0 -5
- package/.eslintrc.js +0 -330
- package/.github/workflows/nodejs.yml +0 -27
- package/.vscode/launch.json +0 -25
- package/AggregateReducer.test.js +0 -82
- package/CHANGELOG.md +0 -310
- package/CNAME +0 -1
- package/CODE_OF_CONDUCT.md +0 -128
- package/CONTRIBUTING.md +0 -4
- package/Transducer.test.js +0 -117
- package/_config.yml +0 -1
- package/_internal/improvedGenericTransform.js +0 -93
- package/archive/FlatMappingIterator-2020-09-28.js +0 -68
- package/archive/_Promise-2023-05-29.js +0 -93
- package/archive/arrayMap2-2023-05-29.js +0 -73
- package/archive/benchmarks-v1.9.7/all.js +0 -34
- package/archive/benchmarks-v1.9.7/and.js +0 -24
- package/archive/benchmarks-v1.9.7/any.js +0 -32
- package/archive/benchmarks-v1.9.7/assign.js +0 -174
- package/archive/benchmarks-v1.9.7/curry.js +0 -55
- package/archive/benchmarks-v1.9.7/eq.js +0 -25
- package/archive/benchmarks-v1.9.7/filter.js +0 -1322
- package/archive/benchmarks-v1.9.7/flatMap.js +0 -48
- package/archive/benchmarks-v1.9.7/forEach.js +0 -33
- package/archive/benchmarks-v1.9.7/fork.js +0 -123
- package/archive/benchmarks-v1.9.7/get.js +0 -44
- package/archive/benchmarks-v1.9.7/gt.js +0 -25
- package/archive/benchmarks-v1.9.7/gte.js +0 -25
- package/archive/benchmarks-v1.9.7/integration.js +0 -88
- package/archive/benchmarks-v1.9.7/lt.js +0 -25
- package/archive/benchmarks-v1.9.7/lte.js +0 -25
- package/archive/benchmarks-v1.9.7/map.js +0 -892
- package/archive/benchmarks-v1.9.7/misc.js +0 -470
- package/archive/benchmarks-v1.9.7/omit.js +0 -28
- package/archive/benchmarks-v1.9.7/or.js +0 -51
- package/archive/benchmarks-v1.9.7/pick.js +0 -24
- package/archive/benchmarks-v1.9.7/pipe.js +0 -152
- package/archive/benchmarks-v1.9.7/reduce.js +0 -739
- package/archive/benchmarks-v1.9.7/switchCase.js +0 -256
- package/archive/benchmarks-v1.9.7/tap.js +0 -90
- package/archive/benchmarks-v1.9.7/transform.js +0 -218
- package/archive/benchmarks-v1.9.7/tryCatch.js +0 -108
- package/archive/curry.js +0 -13
- package/archive/examples-v1.6.11/browserModule.html +0 -31
- package/archive/examples-v1.6.11/browserScript.html +0 -32
- package/archive/examples-v1.6.11/coolTransformToConsole.js +0 -1
- package/archive/examples-v1.6.11/denoLargeGasMap.js +0 -85
- package/archive/examples-v1.6.11/denoServer.js +0 -9
- package/archive/examples-v1.6.11/denoServerWithMiddleware.js +0 -55
- package/archive/examples-v1.6.11/logTodosRange.js +0 -21
- package/archive/examples-v1.6.11/makeARequest.html +0 -46
- package/archive/examples-v1.6.11/nodeComplexTransformation.js +0 -106
- package/archive/examples-v1.6.11/nodeConditionallyExtractIDs.js +0 -50
- package/archive/examples-v1.6.11/nodeFloatingPoint.js +0 -55
- package/archive/examples-v1.6.11/nodeGetAllJiraBoards.js +0 -45
- package/archive/examples-v1.6.11/nodeGetSocketIOClientsTotalCount.js +0 -34
- package/archive/examples-v1.6.11/nodeKafkaConsumer.js +0 -63
- package/archive/examples-v1.6.11/nodeMakeMultipleRequests.js +0 -55
- package/archive/examples-v1.6.11/nodeOnRecordAddTask.js +0 -34
- package/archive/examples-v1.6.11/nodePostRequestWithAuth.js +0 -36
- package/archive/examples-v1.6.11/nodeSpeedbackMatchmakingAlgorithm.js +0 -96
- package/archive/examples-v1.6.11/nodeTireData.js +0 -36
- package/archive/examples-v1.6.11/nodeTripleMap.js +0 -85
- package/archive/examples-v1.6.11/squaredOdds.ts +0 -16
- package/archive/examples-v1.6.11/transducerMaxBuyer.js +0 -67
- package/archive/examples-v1.6.11/transformLogTodosRange.js +0 -31
- package/archive/examples-v1.6.11/transformStreamRandomInts.js +0 -19
- package/archive/genericReduceConcurrent.js +0 -277
- package/archive/index.v0.2.9.js +0 -1685
- package/archive/objectValuesGenerator.js +0 -13
- package/archive/test.v0.2.9.js +0 -2334
- package/bench +0 -65
- package/benchmark-output/v1.9.7 +0 -268
- package/benchmarks/all.async.js +0 -43
- package/benchmarks/all.js +0 -43
- package/benchmarks/always.js +0 -15
- package/benchmarks/and.async.js +0 -25
- package/benchmarks/and.js +0 -25
- package/benchmarks/assign.async.js +0 -27
- package/benchmarks/assign.js +0 -27
- package/benchmarks/curry.js +0 -35
- package/benchmarks/eq.async.js +0 -23
- package/benchmarks/eq.js +0 -23
- package/benchmarks/every.async.js +0 -19
- package/benchmarks/every.js +0 -19
- package/benchmarks/filter.async.js +0 -32
- package/benchmarks/filter.js +0 -38
- package/benchmarks/flatMap.async.js +0 -26
- package/benchmarks/flatMap.js +0 -38
- package/benchmarks/get.async.js +0 -19
- package/benchmarks/get.js +0 -39
- package/benchmarks/gt.async.js +0 -23
- package/benchmarks/gt.js +0 -23
- package/benchmarks/gte.async.js +0 -23
- package/benchmarks/gte.js +0 -23
- package/benchmarks/lt.async.js +0 -23
- package/benchmarks/lt.js +0 -23
- package/benchmarks/lte.async.js +0 -23
- package/benchmarks/lte.js +0 -23
- package/benchmarks/map.async.js +0 -43
- package/benchmarks/map.js +0 -40
- package/benchmarks/misc/Promise.js +0 -26
- package/benchmarks/misc/isPromise.js +0 -30
- package/benchmarks/misc/promiseAll.js +0 -36
- package/benchmarks/not.js +0 -23
- package/benchmarks/omit.js +0 -38
- package/benchmarks/or.async.js +0 -25
- package/benchmarks/or.js +0 -25
- package/benchmarks/pick.js +0 -38
- package/benchmarks/pipe.async.js +0 -47
- package/benchmarks/pipe.js +0 -47
- package/benchmarks/reduce.async.js +0 -32
- package/benchmarks/reduce.js +0 -38
- package/benchmarks/set.async.js +0 -19
- package/benchmarks/set.js +0 -41
- package/benchmarks/some.async.js +0 -19
- package/benchmarks/some.js +0 -19
- package/benchmarks/switchCase.async.js +0 -27
- package/benchmarks/switchCase.js +0 -55
- package/benchmarks/tap.js +0 -15
- package/benchmarks/thunkify.js +0 -15
- package/benchmarks/transform.async.js +0 -27
- package/benchmarks/transform.js +0 -40
- package/benchmarks/tryCatch.async.js +0 -25
- package/benchmarks/tryCatch.js +0 -32
- package/build +0 -472
- package/dist-test.js +0 -37
- package/examples/type-to-search-wiki/README.md +0 -19
- package/examples/type-to-search-wiki/package.json +0 -13
- package/examples/type-to-search-wiki/src/app.js +0 -46
- package/examples/type-to-search-wiki/src/index.html +0 -18
- package/import-test.html +0 -73
- package/memory-usage/reduce.js +0 -40
- package/monad/AsyncPool.js +0 -0
- package/monad/BrokenPromise.js +0 -63
- package/monad/BrokenPromise.test.js +0 -22
- package/monad/Cancellable.js +0 -84
- package/monad/Cancellable.memoryUsage.js +0 -60
- package/monad/Cancellable.test.js +0 -20
- package/monad/Function.js +0 -0
- package/monad/Instance.benchmark.js +0 -378
- package/monad/Instance.js +0 -351
- package/monad/Instance.test.js +0 -445
- package/monad/Mux.benchmark.js +0 -29
- package/monad/Mux.js +0 -589
- package/monad/Mux.test.js +0 -512
- package/monad/PossiblePromise.benchmark.js +0 -87
- package/monad/PossiblePromise.js +0 -144
- package/monad/PossiblePromise.test.js +0 -89
- package/monad/README.md +0 -75
- package/monad/Reducer.js +0 -0
- package/monad/Sequence.benchmark.js +0 -42
- package/monad/Sequence.js +0 -36
- package/monad/SpecScript.js +0 -0
- package/monad/Stack.js +0 -0
- package/monad/Struct.benchmark.js +0 -154
- package/monad/Struct.js +0 -249
- package/monad/Struct.test.js +0 -237
- package/rubico.js +0 -66
- package/test.js +0 -4242
- package/tmp.js +0 -1
package/benchmarks/filter.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const _fp = require('lodash/fp')
|
|
2
|
-
const _ = require('lodash')
|
|
3
|
-
const R = require('ramda')
|
|
4
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
5
|
-
const filter = require('../filter')
|
|
6
|
-
|
|
7
|
-
const lodashFilter = _.filter
|
|
8
|
-
const lodashFpFilter = _fp.filter
|
|
9
|
-
const ramdaFilter = R.filter
|
|
10
|
-
|
|
11
|
-
const suite = new TimeInLoopSuite()
|
|
12
|
-
|
|
13
|
-
suite.add('rubico filter', () => {
|
|
14
|
-
filter([1, 2, 3, 4, 5], value => value % 2 == 1)
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
suite.add('rubico filter tacit', () => {
|
|
18
|
-
filter(value => value % 2 == 1)([1, 2, 3, 4, 5])
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
suite.add('lodash filter', () => {
|
|
22
|
-
lodashFilter([1, 2, 3, 4, 5], value => value % 2 == 1)
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
suite.add('lodash/fp filter', () => {
|
|
26
|
-
lodashFpFilter(value => value % 2 == 1)([1, 2, 3, 4, 5])
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
suite.add('ramda filter', () => {
|
|
30
|
-
ramdaFilter(value => value % 2 == 1)([1, 2, 3, 4, 5])
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
if (process.argv[1] == __filename) {
|
|
34
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
35
|
-
suite.run()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
module.exports = suite
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
const async = require('async')
|
|
2
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
3
|
-
const flatMap = require('../flatMap')
|
|
4
|
-
|
|
5
|
-
const asyncFlatMap = async.flatMap
|
|
6
|
-
|
|
7
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
8
|
-
|
|
9
|
-
suite.add('rubico flatMap', async () => {
|
|
10
|
-
await flatMap([1, 2, 3, 4, 5], async n => [n, n])
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
suite.add('rubico flatMap tacit', async () => {
|
|
14
|
-
await flatMap(async n => [n, n])([1, 2, 3, 4, 5])
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
suite.add('async flatMap', async () => {
|
|
18
|
-
await asyncFlatMap([1, 2, 3, 4, 5], async n => [n, n])
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
if (process.argv[1] == __filename) {
|
|
22
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
23
|
-
suite.run()
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
module.exports = suite
|
package/benchmarks/flatMap.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const _ = require('lodash')
|
|
2
|
-
const _fp = require('lodash/fp')
|
|
3
|
-
const R = require('ramda')
|
|
4
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
5
|
-
const flatMap = require('../flatMap')
|
|
6
|
-
|
|
7
|
-
const lodashFlatMap = _.flatMap
|
|
8
|
-
const lodashFpFlatMap = _fp.flatMap
|
|
9
|
-
const ramdaFlatmap = R.chain
|
|
10
|
-
|
|
11
|
-
const suite = new TimeInLoopSuite()
|
|
12
|
-
|
|
13
|
-
suite.add('rubico flatMap', () => {
|
|
14
|
-
flatMap([1, 2, 3, 4, 5], n => [n, n])
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
suite.add('rubico flatMap tacit', () => {
|
|
18
|
-
flatMap(n => [n, n])([1, 2, 3, 4, 5])
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
suite.add('lodash flatMap', () => {
|
|
22
|
-
lodashFlatMap([1, 2, 3, 4, 5], n => [n, n])
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
suite.add('lodash/fp flatMap', () => {
|
|
26
|
-
lodashFpFlatMap(n => [n, n])([1, 2, 3, 4, 5])
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
suite.add('ramda flatMap', () => {
|
|
30
|
-
ramdaFlatmap(n => [n, n])([1, 2, 3, 4, 5])
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
if (process.argv[1] == __filename) {
|
|
34
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
35
|
-
suite.run()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
module.exports = suite
|
package/benchmarks/get.async.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const get = require('../get')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
5
|
-
|
|
6
|
-
suite.add('rubico get', async () => {
|
|
7
|
-
await get({}, 'a', async () => 1)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico get tacit', async () => {
|
|
11
|
-
await get('a', async () => 1)({})
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
if (process.argv[1] == __filename) {
|
|
15
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
16
|
-
suite.run()
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
module.exports = suite
|
package/benchmarks/get.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
const Bluebird = require('bluebird')
|
|
2
|
-
const _ = require('lodash')
|
|
3
|
-
const _fp = require('lodash/fp')
|
|
4
|
-
const R = require('ramda')
|
|
5
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
6
|
-
const get = require('../get')
|
|
7
|
-
|
|
8
|
-
const lodashGet = _.get
|
|
9
|
-
const lodashFpGet = _fp.get
|
|
10
|
-
const ramdaProp = R.prop
|
|
11
|
-
|
|
12
|
-
const suite = new TimeInLoopSuite()
|
|
13
|
-
|
|
14
|
-
suite.add('rubico get', () => {
|
|
15
|
-
get({ a: 1 }, 'a')
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
suite.add('rubico get tacit', () => {
|
|
19
|
-
get('a')({ a: 1 })
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
suite.add('lodash get', () => {
|
|
23
|
-
lodashGet({ a: 1 }, 'a')
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
suite.add('lodash/fp get', () => {
|
|
27
|
-
lodashFpGet('a')({ a: 1 })
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
suite.add('ramda get', () => {
|
|
31
|
-
ramdaProp('a')({ a: 1 })
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
if (process.argv[1] == __filename) {
|
|
35
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
36
|
-
suite.run()
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
module.exports = suite
|
package/benchmarks/gt.async.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const gt = require('../gt')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
5
|
-
|
|
6
|
-
suite.add('rubico gt Promises', async () => {
|
|
7
|
-
await gt(1, Promise.resolve(1))
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico gt left value right resolver', async () => {
|
|
11
|
-
await gt({ a: 1 }, 1, async value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico gt left resolver right resolver', async () => {
|
|
15
|
-
await gt({ a: 1 }, async value => value.a, async value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/gt.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const gt = require('../gt')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite()
|
|
5
|
-
|
|
6
|
-
suite.add('rubico gt primitive', () => {
|
|
7
|
-
gt(1, 1)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico gt left value right resolver', () => {
|
|
11
|
-
gt({ a: 1 }, 1, value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico gt left resolver right resolver', () => {
|
|
15
|
-
gt({ a: 1 }, value => value.a, value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/gte.async.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const gte = require('../gte')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
5
|
-
|
|
6
|
-
suite.add('rubico gte Promises', async () => {
|
|
7
|
-
await gte(1, Promise.resolve(1))
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico gte left value right resolver', async () => {
|
|
11
|
-
await gte({ a: 1 }, 1, async value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico gte left resolver right resolver', async () => {
|
|
15
|
-
await gte({ a: 1 }, async value => value.a, async value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/gte.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const gte = require('../gte')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite()
|
|
5
|
-
|
|
6
|
-
suite.add('rubico gte primitive', () => {
|
|
7
|
-
gte(1, 1)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico gte left value right resolver', () => {
|
|
11
|
-
gte({ a: 1 }, 1, value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico gte left resolver right resolver', () => {
|
|
15
|
-
gte({ a: 1 }, value => value.a, value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/lt.async.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const lt = require('../lt')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
5
|
-
|
|
6
|
-
suite.add('rubico lt Promises', async () => {
|
|
7
|
-
await lt(1, Promise.resolve(1))
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico lt left value right resolver', async () => {
|
|
11
|
-
await lt({ a: 1 }, 1, async value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico lt left resolver right resolver', async () => {
|
|
15
|
-
await lt({ a: 1 }, async value => value.a, async value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/lt.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const lt = require('../lt')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite()
|
|
5
|
-
|
|
6
|
-
suite.add('rubico lt primitive', () => {
|
|
7
|
-
lt(1, 1)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico lt left value right resolver', () => {
|
|
11
|
-
lt({ a: 1 }, 1, value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico lt left resolver right resolver', () => {
|
|
15
|
-
lt({ a: 1 }, value => value.a, value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/lte.async.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const lte = require('../lte')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
5
|
-
|
|
6
|
-
suite.add('rubico lte Promises', async () => {
|
|
7
|
-
await lte(1, Promise.resolve(1))
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico lte left value right resolver', async () => {
|
|
11
|
-
await lte({ a: 1 }, 1, async value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico lte left resolver right resolver', async () => {
|
|
15
|
-
await lte({ a: 1 }, async value => value.a, async value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/lte.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const lte = require('../lte')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite()
|
|
5
|
-
|
|
6
|
-
suite.add('rubico lte primitive', () => {
|
|
7
|
-
lte(1, 1)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico lte left value right resolver', () => {
|
|
11
|
-
lte({ a: 1 }, 1, value => value.a)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico lte left resolver right resolver', () => {
|
|
15
|
-
lte({ a: 1 }, value => value.a, value => value.a)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/map.async.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
const Bluebird = require('bluebird')
|
|
2
|
-
const async = require('async')
|
|
3
|
-
const _ = require('lodash')
|
|
4
|
-
const _fp = require('lodash/fp')
|
|
5
|
-
const R = require('ramda')
|
|
6
|
-
const map = require('../map')
|
|
7
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
8
|
-
const arrayMap = require('../_internal/arrayMap')
|
|
9
|
-
|
|
10
|
-
const asyncMap = async.map
|
|
11
|
-
const lodashMap = _.map
|
|
12
|
-
const lodashFpMap = _fp.map
|
|
13
|
-
const ramdaMap = R.map
|
|
14
|
-
const bluebirdMap = Bluebird.map
|
|
15
|
-
|
|
16
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
17
|
-
|
|
18
|
-
suite.add('rubico map', async () => {
|
|
19
|
-
await map([1, 2, 3, 4, 5], async value => value + 1)
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
suite.add('rubico map tacit', async () => {
|
|
23
|
-
await map(async value => value + 1)([1, 2, 3, 4, 5])
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
suite.add('async map', async () => {
|
|
27
|
-
await asyncMap([1, 2, 3, 4, 5], async value => value + 1)
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
suite.add('bluebird map', async () => {
|
|
31
|
-
await bluebirdMap([1, 2, 3, 4, 5], async value => value + 1)
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
suite.add('vanilla map and Promise.all', async () => {
|
|
35
|
-
await Promise.all([1, 2, 3, 4, 5].map(async value => value + 1))
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
if (process.argv[1] == __filename) {
|
|
39
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
40
|
-
suite.run()
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
module.exports = suite
|
package/benchmarks/map.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
const Bluebird = require('bluebird')
|
|
2
|
-
const _ = require('lodash')
|
|
3
|
-
const _fp = require('lodash/fp')
|
|
4
|
-
const R = require('ramda')
|
|
5
|
-
const map = require('../map')
|
|
6
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
7
|
-
const arrayMap = require('../_internal/arrayMap')
|
|
8
|
-
|
|
9
|
-
const lodashMap = _.map
|
|
10
|
-
const lodashFpMap = _fp.map
|
|
11
|
-
const ramdaMap = R.map
|
|
12
|
-
|
|
13
|
-
const suite = new TimeInLoopSuite()
|
|
14
|
-
|
|
15
|
-
suite.add('rubico map', () => {
|
|
16
|
-
map([1, 2, 3, 4, 5], value => value + 1)
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
suite.add('rubico map tacit', () => {
|
|
20
|
-
map(value => value + 1)([1, 2, 3, 4, 5])
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
suite.add('lodash map', () => {
|
|
24
|
-
lodashMap([1, 2, 3, 4, 5], value => value + 1)
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
suite.add('lodash/fp map', () => {
|
|
28
|
-
lodashFpMap(value => value + 1)([1, 2, 3, 4, 5])
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
suite.add('ramda map', () => {
|
|
32
|
-
ramdaMap(value => value + 1)([1, 2, 3, 4, 5])
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
if (process.argv[1] == __filename) {
|
|
36
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
37
|
-
suite.run()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
module.exports = suite
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
const Bluebird = require('bluebird')
|
|
2
|
-
const _ = require('lodash')
|
|
3
|
-
const _fp = require('lodash/fp')
|
|
4
|
-
const R = require('ramda')
|
|
5
|
-
const TimeInLoopSuite = require('../../_internal/TimeInLoopSuite')
|
|
6
|
-
|
|
7
|
-
const suite = new TimeInLoopSuite()
|
|
8
|
-
|
|
9
|
-
const isPromise = value => value != null && typeof value.then == 'function'
|
|
10
|
-
|
|
11
|
-
suite.add('vanilla Promise', async () => {
|
|
12
|
-
const p = Promise.resolve('hello')
|
|
13
|
-
await p
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
suite.add('Bluebird Promise', async () => {
|
|
17
|
-
const p = Bluebird.resolve('hello')
|
|
18
|
-
await p
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
if (process.argv[1] == __filename) {
|
|
22
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
23
|
-
suite.run()
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
module.exports = suite
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const Bluebird = require('bluebird')
|
|
2
|
-
const _ = require('lodash')
|
|
3
|
-
const _fp = require('lodash/fp')
|
|
4
|
-
const R = require('ramda')
|
|
5
|
-
const TimeInLoopSuite = require('../../_internal/TimeInLoopSuite')
|
|
6
|
-
const isPromise = require('../../_internal/isPromise')
|
|
7
|
-
const map = require('../map')
|
|
8
|
-
|
|
9
|
-
const lodashMap = _.map
|
|
10
|
-
const lodashFpMap = _fp.map
|
|
11
|
-
const ramdaMap = R.map
|
|
12
|
-
|
|
13
|
-
const suite = new TimeInLoopSuite({ loopCount: 1e5 })
|
|
14
|
-
|
|
15
|
-
suite.add('isPromise .then', () => {
|
|
16
|
-
const p = Promise.resolve()
|
|
17
|
-
isPromise(p)
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
suite.add('isPromise instanceof', () => {
|
|
21
|
-
const p = Promise.resolve()
|
|
22
|
-
p instanceof Promise
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
if (process.argv[1] == __filename) {
|
|
26
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
27
|
-
suite.run()
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports = suite
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
const Bluebird = require('bluebird')
|
|
2
|
-
const TimeInLoopSuite = require('../../_internal/TimeInLoopSuite')
|
|
3
|
-
const promiseAll = require('../../_internal/promiseAll')
|
|
4
|
-
|
|
5
|
-
const suite = new TimeInLoopSuite({ loopCount: 1e5 })
|
|
6
|
-
|
|
7
|
-
suite.add('rubico promiseAll', async () => {
|
|
8
|
-
await promiseAll([
|
|
9
|
-
Promise.resolve(1),
|
|
10
|
-
Promise.resolve(1),
|
|
11
|
-
Promise.resolve(1),
|
|
12
|
-
])
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
suite.add('vanilla Promise.all', async () => {
|
|
16
|
-
await Promise.all([
|
|
17
|
-
Promise.resolve(1),
|
|
18
|
-
Promise.resolve(1),
|
|
19
|
-
Promise.resolve(1),
|
|
20
|
-
])
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
suite.add('Bluebird Promise.all', async () => {
|
|
24
|
-
await Bluebird.all([
|
|
25
|
-
Promise.resolve(1),
|
|
26
|
-
Promise.resolve(1),
|
|
27
|
-
Promise.resolve(1),
|
|
28
|
-
])
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
if (process.argv[1] == __filename) {
|
|
32
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
33
|
-
suite.run()
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
module.exports = suite
|
package/benchmarks/not.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const not = require('../not')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite()
|
|
5
|
-
|
|
6
|
-
suite.add('rubico not primitive', () => {
|
|
7
|
-
not(true)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
suite.add('rubico not predicate', () => {
|
|
11
|
-
not({ a: 1 }, value => value.a == 1)
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
suite.add('rubico not predicate tacit', () => {
|
|
15
|
-
not(value => value.a == 1)({ a: 1 })
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
if (process.argv[1] == __filename) {
|
|
19
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
20
|
-
suite.run()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
module.exports = suite
|
package/benchmarks/omit.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const _ = require('lodash')
|
|
2
|
-
const _fp = require('lodash/fp')
|
|
3
|
-
const R = require('ramda')
|
|
4
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
5
|
-
const omit = require('../omit')
|
|
6
|
-
|
|
7
|
-
const suite = new TimeInLoopSuite()
|
|
8
|
-
|
|
9
|
-
const lodashOmit = _.omit
|
|
10
|
-
const lodashFpOmit = _fp.omit
|
|
11
|
-
const ramdaOmit = R.omit
|
|
12
|
-
|
|
13
|
-
suite.add('rubico omit', () => {
|
|
14
|
-
omit({ a: 1, b: 2, c: 3 }, ['b', 'c'])
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
suite.add('rubico omit tacit', () => {
|
|
18
|
-
omit(['b', 'c'])({ a: 1, b: 2, c: 3 })
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
suite.add('lodash omit', () => {
|
|
22
|
-
lodashOmit({ a: 1, b: 2, c: 3 }, ['b', 'c'])
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
suite.add('lodash/fp omit', () => {
|
|
26
|
-
lodashFpOmit(['b', 'c'])({ a: 1, b: 2, c: 3 })
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
suite.add('ramda omit', () => {
|
|
30
|
-
ramdaOmit(['b', 'c'])({ a: 1, b: 2, c: 3 })
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
if (process.argv[1] == __filename) {
|
|
34
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
35
|
-
suite.run()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
module.exports = suite
|
package/benchmarks/or.async.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const or = require('../or')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
|
|
5
|
-
|
|
6
|
-
suite.add('rubico or', async () => {
|
|
7
|
-
await or({ a: 1 }, [
|
|
8
|
-
async value => value.a == 2,
|
|
9
|
-
async value => typeof value == 'object',
|
|
10
|
-
])
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
suite.add('rubico or tacit', async () => {
|
|
14
|
-
await or([
|
|
15
|
-
async value => value.a == 2,
|
|
16
|
-
async value => typeof value == 'object',
|
|
17
|
-
])({ a: 1 })
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
if (process.argv[1] == __filename) {
|
|
21
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
22
|
-
suite.run()
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
module.exports = suite
|
package/benchmarks/or.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
|
|
2
|
-
const or = require('../or')
|
|
3
|
-
|
|
4
|
-
const suite = new TimeInLoopSuite()
|
|
5
|
-
|
|
6
|
-
suite.add('rubico or', () => {
|
|
7
|
-
or({}, [
|
|
8
|
-
value => value.a == 1,
|
|
9
|
-
value => typeof value == 'object',
|
|
10
|
-
])
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
suite.add('rubico or tacit', () => {
|
|
14
|
-
or([
|
|
15
|
-
value => value.a == 1,
|
|
16
|
-
value => typeof value == 'object',
|
|
17
|
-
])({})
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
if (process.argv[1] == __filename) {
|
|
21
|
-
suite.on('caseBestRun', run => console.log(run.output))
|
|
22
|
-
suite.run()
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
module.exports = suite
|