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.
Files changed (501) hide show
  1. package/README.md +10 -8
  2. package/Transducer.js +28 -0
  3. package/_internal/genericTransform.js +30 -28
  4. package/_internal/reducerTryCatch.js +55 -0
  5. package/dist/Transducer.es.js +28 -1
  6. package/dist/Transducer.es.min.js +2 -2
  7. package/dist/Transducer.js +28 -1
  8. package/dist/Transducer.min.js +2 -2
  9. package/dist/Transducer.mjs +28 -1
  10. package/dist/__.es.js +1 -1
  11. package/dist/__.es.min.js +1 -1
  12. package/dist/__.js +1 -1
  13. package/dist/__.min.js +1 -1
  14. package/dist/__.mjs +1 -1
  15. package/dist/all.es.js +1 -1
  16. package/dist/all.es.min.js +1 -1
  17. package/dist/all.js +1 -1
  18. package/dist/all.min.js +1 -1
  19. package/dist/all.mjs +1 -1
  20. package/dist/always.es.js +1 -1
  21. package/dist/always.es.min.js +1 -1
  22. package/dist/always.js +1 -1
  23. package/dist/always.min.js +1 -1
  24. package/dist/always.mjs +1 -1
  25. package/dist/and.es.js +1 -1
  26. package/dist/and.es.min.js +1 -1
  27. package/dist/and.js +1 -1
  28. package/dist/and.min.js +1 -1
  29. package/dist/and.mjs +1 -1
  30. package/dist/assign.es.js +1 -1
  31. package/dist/assign.es.min.js +1 -1
  32. package/dist/assign.js +1 -1
  33. package/dist/assign.min.js +1 -1
  34. package/dist/assign.mjs +1 -1
  35. package/dist/compose.es.js +1 -1
  36. package/dist/compose.es.min.js +1 -1
  37. package/dist/compose.js +1 -1
  38. package/dist/compose.min.js +1 -1
  39. package/dist/compose.mjs +1 -1
  40. package/dist/curry.es.js +1 -1
  41. package/dist/curry.es.min.js +1 -1
  42. package/dist/curry.js +1 -1
  43. package/dist/curry.min.js +1 -1
  44. package/dist/curry.mjs +1 -1
  45. package/dist/eq.es.js +1 -1
  46. package/dist/eq.es.min.js +1 -1
  47. package/dist/eq.js +1 -1
  48. package/dist/eq.min.js +1 -1
  49. package/dist/eq.mjs +1 -1
  50. package/dist/every.es.js +1 -1
  51. package/dist/every.es.min.js +1 -1
  52. package/dist/every.js +1 -1
  53. package/dist/every.min.js +1 -1
  54. package/dist/every.mjs +1 -1
  55. package/dist/filter.es.js +1 -1
  56. package/dist/filter.es.min.js +1 -1
  57. package/dist/filter.js +1 -1
  58. package/dist/filter.min.js +1 -1
  59. package/dist/filter.mjs +1 -1
  60. package/dist/flatMap.es.js +1 -1
  61. package/dist/flatMap.es.min.js +1 -1
  62. package/dist/flatMap.js +1 -1
  63. package/dist/flatMap.min.js +1 -1
  64. package/dist/flatMap.mjs +1 -1
  65. package/dist/forEach.es.js +1 -1
  66. package/dist/forEach.es.min.js +1 -1
  67. package/dist/forEach.js +1 -1
  68. package/dist/forEach.min.js +1 -1
  69. package/dist/forEach.mjs +1 -1
  70. package/dist/get.es.js +1 -1
  71. package/dist/get.es.min.js +1 -1
  72. package/dist/get.js +1 -1
  73. package/dist/get.min.js +1 -1
  74. package/dist/get.mjs +1 -1
  75. package/dist/gt.es.js +1 -1
  76. package/dist/gt.es.min.js +1 -1
  77. package/dist/gt.js +1 -1
  78. package/dist/gt.min.js +1 -1
  79. package/dist/gt.mjs +1 -1
  80. package/dist/gte.es.js +1 -1
  81. package/dist/gte.es.min.js +1 -1
  82. package/dist/gte.js +1 -1
  83. package/dist/gte.min.js +1 -1
  84. package/dist/gte.mjs +1 -1
  85. package/dist/lt.es.js +1 -1
  86. package/dist/lt.es.min.js +1 -1
  87. package/dist/lt.js +1 -1
  88. package/dist/lt.min.js +1 -1
  89. package/dist/lt.mjs +1 -1
  90. package/dist/lte.es.js +1 -1
  91. package/dist/lte.es.min.js +1 -1
  92. package/dist/lte.js +1 -1
  93. package/dist/lte.min.js +1 -1
  94. package/dist/lte.mjs +1 -1
  95. package/dist/map.es.js +1 -1
  96. package/dist/map.es.min.js +1 -1
  97. package/dist/map.js +1 -1
  98. package/dist/map.min.js +1 -1
  99. package/dist/map.mjs +1 -1
  100. package/dist/not.es.js +1 -1
  101. package/dist/not.es.min.js +1 -1
  102. package/dist/not.js +1 -1
  103. package/dist/not.min.js +1 -1
  104. package/dist/not.mjs +1 -1
  105. package/dist/omit.es.js +1 -1
  106. package/dist/omit.es.min.js +1 -1
  107. package/dist/omit.js +1 -1
  108. package/dist/omit.min.js +1 -1
  109. package/dist/omit.mjs +1 -1
  110. package/dist/or.es.js +1 -1
  111. package/dist/or.es.min.js +1 -1
  112. package/dist/or.js +1 -1
  113. package/dist/or.min.js +1 -1
  114. package/dist/or.mjs +1 -1
  115. package/dist/pick.es.js +1 -1
  116. package/dist/pick.es.min.js +1 -1
  117. package/dist/pick.js +1 -1
  118. package/dist/pick.min.js +1 -1
  119. package/dist/pick.mjs +1 -1
  120. package/dist/pipe.es.js +1 -1
  121. package/dist/pipe.es.min.js +1 -1
  122. package/dist/pipe.js +1 -1
  123. package/dist/pipe.min.js +1 -1
  124. package/dist/pipe.mjs +1 -1
  125. package/dist/reduce.es.js +1 -1
  126. package/dist/reduce.es.min.js +1 -1
  127. package/dist/reduce.js +1 -1
  128. package/dist/reduce.min.js +1 -1
  129. package/dist/reduce.mjs +1 -1
  130. package/dist/rubico.es.js +57 -46
  131. package/dist/rubico.es.min.js +2 -2
  132. package/dist/rubico.global.js +57 -46
  133. package/dist/rubico.global.min.js +2 -2
  134. package/dist/rubico.js +57 -46
  135. package/dist/rubico.min.js +2 -2
  136. package/dist/rubico.mjs +57 -46
  137. package/dist/set.es.js +1 -1
  138. package/dist/set.es.min.js +1 -1
  139. package/dist/set.js +1 -1
  140. package/dist/set.min.js +1 -1
  141. package/dist/set.mjs +1 -1
  142. package/dist/some.es.js +1 -1
  143. package/dist/some.es.min.js +1 -1
  144. package/dist/some.js +1 -1
  145. package/dist/some.min.js +1 -1
  146. package/dist/some.mjs +1 -1
  147. package/dist/switchCase.es.js +1 -1
  148. package/dist/switchCase.es.min.js +1 -1
  149. package/dist/switchCase.js +1 -1
  150. package/dist/switchCase.min.js +1 -1
  151. package/dist/switchCase.mjs +1 -1
  152. package/dist/tap.es.js +32 -2
  153. package/dist/tap.es.min.js +2 -2
  154. package/dist/tap.js +32 -2
  155. package/dist/tap.min.js +2 -2
  156. package/dist/tap.mjs +32 -2
  157. package/dist/thunkify.es.js +1 -1
  158. package/dist/thunkify.es.min.js +1 -1
  159. package/dist/thunkify.js +1 -1
  160. package/dist/thunkify.min.js +1 -1
  161. package/dist/thunkify.mjs +1 -1
  162. package/dist/transform.es.js +26 -24
  163. package/dist/transform.es.min.js +2 -2
  164. package/dist/transform.js +26 -24
  165. package/dist/transform.min.js +2 -2
  166. package/dist/transform.mjs +26 -24
  167. package/dist/tryCatch.es.js +1 -1
  168. package/dist/tryCatch.es.min.js +1 -1
  169. package/dist/tryCatch.js +1 -1
  170. package/dist/tryCatch.min.js +1 -1
  171. package/dist/tryCatch.mjs +1 -1
  172. package/dist/x/append.es.js +1 -1
  173. package/dist/x/append.es.min.js +1 -1
  174. package/dist/x/append.js +1 -1
  175. package/dist/x/append.min.js +1 -1
  176. package/dist/x/append.mjs +1 -1
  177. package/dist/x/callProp.es.js +1 -1
  178. package/dist/x/callProp.es.min.js +1 -1
  179. package/dist/x/callProp.js +1 -1
  180. package/dist/x/callProp.min.js +1 -1
  181. package/dist/x/callProp.mjs +1 -1
  182. package/dist/x/defaultsDeep.es.js +1 -1
  183. package/dist/x/defaultsDeep.es.min.js +1 -1
  184. package/dist/x/defaultsDeep.js +1 -1
  185. package/dist/x/defaultsDeep.min.js +1 -1
  186. package/dist/x/defaultsDeep.mjs +1 -1
  187. package/dist/x/differenceWith.es.js +1 -1
  188. package/dist/x/differenceWith.es.min.js +1 -1
  189. package/dist/x/differenceWith.js +1 -1
  190. package/dist/x/differenceWith.min.js +1 -1
  191. package/dist/x/differenceWith.mjs +1 -1
  192. package/dist/x/filterOut.es.js +1 -1
  193. package/dist/x/filterOut.es.min.js +1 -1
  194. package/dist/x/filterOut.js +1 -1
  195. package/dist/x/filterOut.min.js +1 -1
  196. package/dist/x/filterOut.mjs +1 -1
  197. package/dist/x/find.es.js +1 -1
  198. package/dist/x/find.es.min.js +1 -1
  199. package/dist/x/find.js +1 -1
  200. package/dist/x/find.min.js +1 -1
  201. package/dist/x/find.mjs +1 -1
  202. package/dist/x/findIndex.es.js +1 -1
  203. package/dist/x/findIndex.es.min.js +1 -1
  204. package/dist/x/findIndex.js +1 -1
  205. package/dist/x/findIndex.min.js +1 -1
  206. package/dist/x/findIndex.mjs +1 -1
  207. package/dist/x/first.es.js +1 -1
  208. package/dist/x/first.es.min.js +1 -1
  209. package/dist/x/first.js +1 -1
  210. package/dist/x/first.min.js +1 -1
  211. package/dist/x/first.mjs +1 -1
  212. package/dist/x/flatten.es.js +1 -1
  213. package/dist/x/flatten.es.min.js +1 -1
  214. package/dist/x/flatten.js +1 -1
  215. package/dist/x/flatten.min.js +1 -1
  216. package/dist/x/flatten.mjs +1 -1
  217. package/dist/x/groupBy.es.js +1 -1
  218. package/dist/x/groupBy.es.min.js +1 -1
  219. package/dist/x/groupBy.js +1 -1
  220. package/dist/x/groupBy.min.js +1 -1
  221. package/dist/x/groupBy.mjs +1 -1
  222. package/dist/x/has.es.js +1 -1
  223. package/dist/x/has.es.min.js +1 -1
  224. package/dist/x/has.js +1 -1
  225. package/dist/x/has.min.js +1 -1
  226. package/dist/x/has.mjs +1 -1
  227. package/dist/x/identity.es.js +1 -1
  228. package/dist/x/identity.es.min.js +1 -1
  229. package/dist/x/identity.js +1 -1
  230. package/dist/x/identity.min.js +1 -1
  231. package/dist/x/identity.mjs +1 -1
  232. package/dist/x/includes.es.js +1 -1
  233. package/dist/x/includes.es.min.js +1 -1
  234. package/dist/x/includes.js +1 -1
  235. package/dist/x/includes.min.js +1 -1
  236. package/dist/x/includes.mjs +1 -1
  237. package/dist/x/isDeepEqual.es.js +1 -1
  238. package/dist/x/isDeepEqual.es.min.js +1 -1
  239. package/dist/x/isDeepEqual.js +1 -1
  240. package/dist/x/isDeepEqual.min.js +1 -1
  241. package/dist/x/isDeepEqual.mjs +1 -1
  242. package/dist/x/isEmpty.es.js +1 -1
  243. package/dist/x/isEmpty.es.min.js +1 -1
  244. package/dist/x/isEmpty.js +1 -1
  245. package/dist/x/isEmpty.min.js +1 -1
  246. package/dist/x/isEmpty.mjs +1 -1
  247. package/dist/x/isEqual.es.js +1 -1
  248. package/dist/x/isEqual.es.min.js +1 -1
  249. package/dist/x/isEqual.js +1 -1
  250. package/dist/x/isEqual.min.js +1 -1
  251. package/dist/x/isEqual.mjs +1 -1
  252. package/dist/x/isFunction.es.js +1 -1
  253. package/dist/x/isFunction.es.min.js +1 -1
  254. package/dist/x/isFunction.js +1 -1
  255. package/dist/x/isFunction.min.js +1 -1
  256. package/dist/x/isFunction.mjs +1 -1
  257. package/dist/x/isIn.es.js +1 -1
  258. package/dist/x/isIn.es.min.js +1 -1
  259. package/dist/x/isIn.js +1 -1
  260. package/dist/x/isIn.min.js +1 -1
  261. package/dist/x/isIn.mjs +1 -1
  262. package/dist/x/isObject.es.js +1 -1
  263. package/dist/x/isObject.es.min.js +1 -1
  264. package/dist/x/isObject.js +1 -1
  265. package/dist/x/isObject.min.js +1 -1
  266. package/dist/x/isObject.mjs +1 -1
  267. package/dist/x/isString.es.js +1 -1
  268. package/dist/x/isString.es.min.js +1 -1
  269. package/dist/x/isString.js +1 -1
  270. package/dist/x/isString.min.js +1 -1
  271. package/dist/x/isString.mjs +1 -1
  272. package/dist/x/keys.es.js +1 -1
  273. package/dist/x/keys.es.min.js +1 -1
  274. package/dist/x/keys.js +1 -1
  275. package/dist/x/keys.min.js +1 -1
  276. package/dist/x/keys.mjs +1 -1
  277. package/dist/x/last.es.js +1 -1
  278. package/dist/x/last.es.min.js +1 -1
  279. package/dist/x/last.js +1 -1
  280. package/dist/x/last.min.js +1 -1
  281. package/dist/x/last.mjs +1 -1
  282. package/dist/x/maxBy.es.js +1 -1
  283. package/dist/x/maxBy.es.min.js +1 -1
  284. package/dist/x/maxBy.js +1 -1
  285. package/dist/x/maxBy.min.js +1 -1
  286. package/dist/x/maxBy.mjs +1 -1
  287. package/dist/x/noop.es.js +1 -1
  288. package/dist/x/noop.es.min.js +1 -1
  289. package/dist/x/noop.js +1 -1
  290. package/dist/x/noop.min.js +1 -1
  291. package/dist/x/noop.mjs +1 -1
  292. package/dist/x/pluck.es.js +1 -1
  293. package/dist/x/pluck.es.min.js +1 -1
  294. package/dist/x/pluck.js +1 -1
  295. package/dist/x/pluck.min.js +1 -1
  296. package/dist/x/pluck.mjs +1 -1
  297. package/dist/x/prepend.es.js +1 -1
  298. package/dist/x/prepend.es.min.js +1 -1
  299. package/dist/x/prepend.js +1 -1
  300. package/dist/x/prepend.min.js +1 -1
  301. package/dist/x/prepend.mjs +1 -1
  302. package/dist/x/size.es.js +1 -1
  303. package/dist/x/size.es.min.js +1 -1
  304. package/dist/x/size.js +1 -1
  305. package/dist/x/size.min.js +1 -1
  306. package/dist/x/size.mjs +1 -1
  307. package/dist/x/trace.es.js +32 -2
  308. package/dist/x/trace.es.min.js +2 -2
  309. package/dist/x/trace.js +32 -2
  310. package/dist/x/trace.min.js +2 -2
  311. package/dist/x/trace.mjs +32 -2
  312. package/dist/x/unionWith.es.js +1 -1
  313. package/dist/x/unionWith.es.min.js +1 -1
  314. package/dist/x/unionWith.js +1 -1
  315. package/dist/x/unionWith.min.js +1 -1
  316. package/dist/x/unionWith.mjs +1 -1
  317. package/dist/x/uniq.es.js +1 -1
  318. package/dist/x/uniq.es.min.js +1 -1
  319. package/dist/x/uniq.js +1 -1
  320. package/dist/x/uniq.min.js +1 -1
  321. package/dist/x/uniq.mjs +1 -1
  322. package/dist/x/unless.es.js +1 -1
  323. package/dist/x/unless.es.min.js +1 -1
  324. package/dist/x/unless.js +1 -1
  325. package/dist/x/unless.min.js +1 -1
  326. package/dist/x/unless.mjs +1 -1
  327. package/dist/x/values.es.js +1 -1
  328. package/dist/x/values.es.min.js +1 -1
  329. package/dist/x/values.js +1 -1
  330. package/dist/x/values.min.js +1 -1
  331. package/dist/x/values.mjs +1 -1
  332. package/dist/x/when.es.js +1 -1
  333. package/dist/x/when.es.min.js +1 -1
  334. package/dist/x/when.js +1 -1
  335. package/dist/x/when.min.js +1 -1
  336. package/dist/x/when.mjs +1 -1
  337. package/es.js +57 -46
  338. package/index.js +57 -46
  339. package/package.json +43 -2
  340. package/tap.js +15 -4
  341. package/.eslintignore +0 -5
  342. package/.eslintrc.js +0 -330
  343. package/.github/workflows/nodejs.yml +0 -27
  344. package/.vscode/launch.json +0 -25
  345. package/AggregateReducer.test.js +0 -82
  346. package/CHANGELOG.md +0 -310
  347. package/CNAME +0 -1
  348. package/CODE_OF_CONDUCT.md +0 -128
  349. package/CONTRIBUTING.md +0 -4
  350. package/Transducer.test.js +0 -117
  351. package/_config.yml +0 -1
  352. package/_internal/improvedGenericTransform.js +0 -93
  353. package/archive/FlatMappingIterator-2020-09-28.js +0 -68
  354. package/archive/_Promise-2023-05-29.js +0 -93
  355. package/archive/arrayMap2-2023-05-29.js +0 -73
  356. package/archive/benchmarks-v1.9.7/all.js +0 -34
  357. package/archive/benchmarks-v1.9.7/and.js +0 -24
  358. package/archive/benchmarks-v1.9.7/any.js +0 -32
  359. package/archive/benchmarks-v1.9.7/assign.js +0 -174
  360. package/archive/benchmarks-v1.9.7/curry.js +0 -55
  361. package/archive/benchmarks-v1.9.7/eq.js +0 -25
  362. package/archive/benchmarks-v1.9.7/filter.js +0 -1322
  363. package/archive/benchmarks-v1.9.7/flatMap.js +0 -48
  364. package/archive/benchmarks-v1.9.7/forEach.js +0 -33
  365. package/archive/benchmarks-v1.9.7/fork.js +0 -123
  366. package/archive/benchmarks-v1.9.7/get.js +0 -44
  367. package/archive/benchmarks-v1.9.7/gt.js +0 -25
  368. package/archive/benchmarks-v1.9.7/gte.js +0 -25
  369. package/archive/benchmarks-v1.9.7/integration.js +0 -88
  370. package/archive/benchmarks-v1.9.7/lt.js +0 -25
  371. package/archive/benchmarks-v1.9.7/lte.js +0 -25
  372. package/archive/benchmarks-v1.9.7/map.js +0 -892
  373. package/archive/benchmarks-v1.9.7/misc.js +0 -470
  374. package/archive/benchmarks-v1.9.7/omit.js +0 -28
  375. package/archive/benchmarks-v1.9.7/or.js +0 -51
  376. package/archive/benchmarks-v1.9.7/pick.js +0 -24
  377. package/archive/benchmarks-v1.9.7/pipe.js +0 -152
  378. package/archive/benchmarks-v1.9.7/reduce.js +0 -739
  379. package/archive/benchmarks-v1.9.7/switchCase.js +0 -256
  380. package/archive/benchmarks-v1.9.7/tap.js +0 -90
  381. package/archive/benchmarks-v1.9.7/transform.js +0 -218
  382. package/archive/benchmarks-v1.9.7/tryCatch.js +0 -108
  383. package/archive/curry.js +0 -13
  384. package/archive/examples-v1.6.11/browserModule.html +0 -31
  385. package/archive/examples-v1.6.11/browserScript.html +0 -32
  386. package/archive/examples-v1.6.11/coolTransformToConsole.js +0 -1
  387. package/archive/examples-v1.6.11/denoLargeGasMap.js +0 -85
  388. package/archive/examples-v1.6.11/denoServer.js +0 -9
  389. package/archive/examples-v1.6.11/denoServerWithMiddleware.js +0 -55
  390. package/archive/examples-v1.6.11/logTodosRange.js +0 -21
  391. package/archive/examples-v1.6.11/makeARequest.html +0 -46
  392. package/archive/examples-v1.6.11/nodeComplexTransformation.js +0 -106
  393. package/archive/examples-v1.6.11/nodeConditionallyExtractIDs.js +0 -50
  394. package/archive/examples-v1.6.11/nodeFloatingPoint.js +0 -55
  395. package/archive/examples-v1.6.11/nodeGetAllJiraBoards.js +0 -45
  396. package/archive/examples-v1.6.11/nodeGetSocketIOClientsTotalCount.js +0 -34
  397. package/archive/examples-v1.6.11/nodeKafkaConsumer.js +0 -63
  398. package/archive/examples-v1.6.11/nodeMakeMultipleRequests.js +0 -55
  399. package/archive/examples-v1.6.11/nodeOnRecordAddTask.js +0 -34
  400. package/archive/examples-v1.6.11/nodePostRequestWithAuth.js +0 -36
  401. package/archive/examples-v1.6.11/nodeSpeedbackMatchmakingAlgorithm.js +0 -96
  402. package/archive/examples-v1.6.11/nodeTireData.js +0 -36
  403. package/archive/examples-v1.6.11/nodeTripleMap.js +0 -85
  404. package/archive/examples-v1.6.11/squaredOdds.ts +0 -16
  405. package/archive/examples-v1.6.11/transducerMaxBuyer.js +0 -67
  406. package/archive/examples-v1.6.11/transformLogTodosRange.js +0 -31
  407. package/archive/examples-v1.6.11/transformStreamRandomInts.js +0 -19
  408. package/archive/genericReduceConcurrent.js +0 -277
  409. package/archive/index.v0.2.9.js +0 -1685
  410. package/archive/objectValuesGenerator.js +0 -13
  411. package/archive/test.v0.2.9.js +0 -2334
  412. package/bench +0 -65
  413. package/benchmark-output/v1.9.7 +0 -268
  414. package/benchmarks/all.async.js +0 -43
  415. package/benchmarks/all.js +0 -43
  416. package/benchmarks/always.js +0 -15
  417. package/benchmarks/and.async.js +0 -25
  418. package/benchmarks/and.js +0 -25
  419. package/benchmarks/assign.async.js +0 -27
  420. package/benchmarks/assign.js +0 -27
  421. package/benchmarks/curry.js +0 -35
  422. package/benchmarks/eq.async.js +0 -23
  423. package/benchmarks/eq.js +0 -23
  424. package/benchmarks/every.async.js +0 -19
  425. package/benchmarks/every.js +0 -19
  426. package/benchmarks/filter.async.js +0 -32
  427. package/benchmarks/filter.js +0 -38
  428. package/benchmarks/flatMap.async.js +0 -26
  429. package/benchmarks/flatMap.js +0 -38
  430. package/benchmarks/get.async.js +0 -19
  431. package/benchmarks/get.js +0 -39
  432. package/benchmarks/gt.async.js +0 -23
  433. package/benchmarks/gt.js +0 -23
  434. package/benchmarks/gte.async.js +0 -23
  435. package/benchmarks/gte.js +0 -23
  436. package/benchmarks/lt.async.js +0 -23
  437. package/benchmarks/lt.js +0 -23
  438. package/benchmarks/lte.async.js +0 -23
  439. package/benchmarks/lte.js +0 -23
  440. package/benchmarks/map.async.js +0 -43
  441. package/benchmarks/map.js +0 -40
  442. package/benchmarks/misc/Promise.js +0 -26
  443. package/benchmarks/misc/isPromise.js +0 -30
  444. package/benchmarks/misc/promiseAll.js +0 -36
  445. package/benchmarks/not.js +0 -23
  446. package/benchmarks/omit.js +0 -38
  447. package/benchmarks/or.async.js +0 -25
  448. package/benchmarks/or.js +0 -25
  449. package/benchmarks/pick.js +0 -38
  450. package/benchmarks/pipe.async.js +0 -47
  451. package/benchmarks/pipe.js +0 -47
  452. package/benchmarks/reduce.async.js +0 -32
  453. package/benchmarks/reduce.js +0 -38
  454. package/benchmarks/set.async.js +0 -19
  455. package/benchmarks/set.js +0 -41
  456. package/benchmarks/some.async.js +0 -19
  457. package/benchmarks/some.js +0 -19
  458. package/benchmarks/switchCase.async.js +0 -27
  459. package/benchmarks/switchCase.js +0 -55
  460. package/benchmarks/tap.js +0 -15
  461. package/benchmarks/thunkify.js +0 -15
  462. package/benchmarks/transform.async.js +0 -27
  463. package/benchmarks/transform.js +0 -40
  464. package/benchmarks/tryCatch.async.js +0 -25
  465. package/benchmarks/tryCatch.js +0 -32
  466. package/build +0 -472
  467. package/dist-test.js +0 -37
  468. package/examples/type-to-search-wiki/README.md +0 -19
  469. package/examples/type-to-search-wiki/package.json +0 -13
  470. package/examples/type-to-search-wiki/src/app.js +0 -46
  471. package/examples/type-to-search-wiki/src/index.html +0 -18
  472. package/import-test.html +0 -73
  473. package/memory-usage/reduce.js +0 -40
  474. package/monad/AsyncPool.js +0 -0
  475. package/monad/BrokenPromise.js +0 -63
  476. package/monad/BrokenPromise.test.js +0 -22
  477. package/monad/Cancellable.js +0 -84
  478. package/monad/Cancellable.memoryUsage.js +0 -60
  479. package/monad/Cancellable.test.js +0 -20
  480. package/monad/Function.js +0 -0
  481. package/monad/Instance.benchmark.js +0 -378
  482. package/monad/Instance.js +0 -351
  483. package/monad/Instance.test.js +0 -445
  484. package/monad/Mux.benchmark.js +0 -29
  485. package/monad/Mux.js +0 -589
  486. package/monad/Mux.test.js +0 -512
  487. package/monad/PossiblePromise.benchmark.js +0 -87
  488. package/monad/PossiblePromise.js +0 -144
  489. package/monad/PossiblePromise.test.js +0 -89
  490. package/monad/README.md +0 -75
  491. package/monad/Reducer.js +0 -0
  492. package/monad/Sequence.benchmark.js +0 -42
  493. package/monad/Sequence.js +0 -36
  494. package/monad/SpecScript.js +0 -0
  495. package/monad/Stack.js +0 -0
  496. package/monad/Struct.benchmark.js +0 -154
  497. package/monad/Struct.js +0 -249
  498. package/monad/Struct.test.js +0 -237
  499. package/rubico.js +0 -66
  500. package/test.js +0 -4242
  501. package/tmp.js +0 -1
package/bench DELETED
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs')
4
- const os = require('os')
5
- const { fork, spawn } = require('child_process')
6
- const File = require('./_internal/File')
7
- const findAllFilePaths = require('./_internal/findAllFilePaths')
8
- const package = require('./package.json')
9
-
10
- // sortBenchmarkFilePaths(paths Array<string>) -> sorted Array<string>
11
- const sortBenchmarkFilePaths = function (paths) {
12
- const miscPaths = paths.filter(p => p.includes('/misc/'))
13
- const corePaths = paths.filter(p => !p.includes('/misc/'))
14
- corePaths.sort()
15
- miscPaths.sort()
16
- return corePaths.concat(miscPaths)
17
- }
18
-
19
- const outputFile = new File(`${__dirname}/benchmark-output/v${package.version}`)
20
-
21
- const write = function (str) {
22
- process.stdout.write(str)
23
- outputFile.write(str)
24
- }
25
-
26
- // bench(options?: { bestOf?: number }) -> Promise<>
27
- const bench = async function (options = {}) {
28
- const systemInfo = `
29
- rubico v${package.version} / NodeJS ${process.version} / OS ${os.release()}
30
- `.trim()
31
- write(systemInfo + '\n\n')
32
-
33
- const { bestOf = 5 } = options
34
- const paths = await
35
- findAllFilePaths(`${__dirname}/benchmarks`)
36
- .then(sortBenchmarkFilePaths)
37
-
38
- const outputMap = new Map()
39
-
40
- for (const path of paths) {
41
- const fileName = path.replace(`${__dirname}/`, '')
42
- write(fileName + '\n')
43
-
44
- const lines = []
45
- const proc = spawn('node', [path])
46
- proc.stdout.on('data', data => {
47
- lines.push(data.toString())
48
- })
49
- await new Promise(resolve => {
50
- proc.on('close', () => {
51
- for (const line of lines) {
52
- write(line)
53
- }
54
- write('\n')
55
- resolve()
56
- })
57
- })
58
- }
59
- }
60
-
61
- if (process.argv[1] == __filename) {
62
- bench()
63
- }
64
-
65
- module.exports = bench
@@ -1,268 +0,0 @@
1
- rubico v1.9.7 / NodeJS v18.12.1 / OS 6.3.6-arch1-1
2
-
3
- benchmarks/all.async.js
4
- rubico async array all: 1e+5: 113.398ms
5
- rubico async array all tacit: 1e+5: 246.972ms
6
- rubico async object all: 1e+5: 222.268ms
7
- rubico async object all tacit: 1e+5: 236.216ms
8
-
9
- benchmarks/all.js
10
- rubico array all: 1e+6: 173.662ms
11
- rubico array all tacit: 1e+6: 1.292s
12
- rubico object all: 1e+6: 287.025ms
13
- rubico object all tacit: 1e+6: 479.790ms
14
-
15
- benchmarks/always.js
16
- rubico always: 1e+7: 9.761ms
17
-
18
- benchmarks/and.async.js
19
- rubico and: 1e+5: 86.501ms
20
- rubico and tacit: 1e+5: 85.752ms
21
-
22
- benchmarks/and.js
23
- rubico and: 1e+6: 134.150ms
24
- rubico and tacit: 1e+6: 167.594ms
25
-
26
- benchmarks/assign.async.js
27
- rubico assign: 1e+5: 267.046ms
28
- rubico assign tacit: 1e+5: 270.214ms
29
-
30
- benchmarks/assign.js
31
- rubico assign: 1e+6: 392.597ms
32
- rubico assign tacit: 1e+6: 431.178ms
33
-
34
- benchmarks/curry.js
35
- rubico curry: 1e+6: 147.679ms
36
- rubico curry tacit: 1e+6: 248.036ms
37
- lodash/fp curry: 1e+6: 4.630s
38
- ramda curry: 1e+6: 509.689ms
39
-
40
- benchmarks/eq.async.js
41
- rubico eq Promises: 1e+5: 103.777ms
42
- rubico eq left value right resolver: 1e+5: 111.884ms
43
- rubico eq left resolver right resolver: 1e+5: 110.390ms
44
-
45
- benchmarks/eq.js
46
- rubico eq primitive: 1e+6: 31.732ms
47
- rubico eq left value right resolver: 1e+6: 87.040ms
48
- rubico eq left resolver right resolver: 1e+6: 151.196ms
49
-
50
- benchmarks/every.async.js
51
- rubico every: 1e+5: 116.195ms
52
- rubico every tacit: 1e+5: 119.193ms
53
-
54
- benchmarks/every.js
55
- rubico every: 1e+6: 31.209ms
56
- rubico every tacit: 1e+6: 83.103ms
57
-
58
- benchmarks/filter.async.js
59
- rubico filter: 1e+5: 216.516ms
60
- rubico filter tacit: 1e+5: 227.178ms
61
- async filter: 1e+5: 195.048ms
62
- Bluebird filter: 1e+5: 1.110s
63
-
64
- benchmarks/filter.js
65
- rubico filter: 1e+6: 66.900ms
66
- rubico filter tacit: 1e+6: 166.110ms
67
- lodash filter: 1e+6: 121.042ms
68
- lodash/fp filter: 1e+6: 3.749s
69
- ramda filter: 1e+6: 314.716ms
70
-
71
- benchmarks/flatMap.async.js
72
- rubico flatMap: 1e+5: 145.027ms
73
- rubico flatMap tacit: 1e+5: 150.894ms
74
- async flatMap: 1e+5: 355.875ms
75
-
76
- benchmarks/flatMap.js
77
- rubico flatMap: 1e+6: 194.979ms
78
- rubico flatMap tacit: 1e+6: 268.297ms
79
- lodash flatMap: 1e+6: 205.762ms
80
- lodash/fp flatMap: 1e+6: 4.011s
81
- ramda flatMap: 1e+6: 1.403s
82
-
83
- benchmarks/get.async.js
84
- rubico get: 1e+5: 31.593ms
85
- rubico get tacit: 1e+5: 37.317ms
86
-
87
- benchmarks/get.js
88
- rubico get: 1e+6: 23.717ms
89
- rubico get tacit: 1e+6: 46.783ms
90
- lodash get: 1e+6: 48.303ms
91
- lodash/fp get: 1e+6: 3.326s
92
- ramda get: 1e+6: 228.383ms
93
-
94
- benchmarks/gt.async.js
95
- rubico gt Promises: 1e+5: 105.508ms
96
- rubico gt left value right resolver: 1e+5: 111.884ms
97
- rubico gt left resolver right resolver: 1e+5: 111.922ms
98
-
99
- benchmarks/gt.js
100
- rubico gt primitive: 1e+6: 30.712ms
101
- rubico gt left value right resolver: 1e+6: 90.201ms
102
- rubico gt left resolver right resolver: 1e+6: 148.505ms
103
-
104
- benchmarks/gte.async.js
105
- rubico gte Promises: 1e+5: 105.664ms
106
- rubico gte left value right resolver: 1e+5: 112.728ms
107
- rubico gte left resolver right resolver: 1e+5: 111.509ms
108
-
109
- benchmarks/gte.js
110
- rubico gte primitive: 1e+6: 32.341ms
111
- rubico gte left value right resolver: 1e+6: 90.721ms
112
- rubico gte left resolver right resolver: 1e+6: 136.099ms
113
-
114
- benchmarks/lt.async.js
115
- rubico lt Promises: 1e+5: 105.682ms
116
- rubico lt left value right resolver: 1e+5: 110.897ms
117
- rubico lt left resolver right resolver: 1e+5: 111.133ms
118
-
119
- benchmarks/lt.js
120
- rubico lt primitive: 1e+6: 30.448ms
121
- rubico lt left value right resolver: 1e+6: 104.770ms
122
- rubico lt left resolver right resolver: 1e+6: 135.844ms
123
-
124
- benchmarks/lte.async.js
125
- rubico lte Promises: 1e+5: 105.420ms
126
- rubico lte left value right resolver: 1e+5: 112.446ms
127
- rubico lte left resolver right resolver: 1e+5: 111.491ms
128
-
129
- benchmarks/lte.js
130
- rubico lte primitive: 1e+6: 32.181ms
131
- rubico lte left value right resolver: 1e+6: 89.221ms
132
- rubico lte left resolver right resolver: 1e+6: 149.565ms
133
-
134
- benchmarks/map.async.js
135
- rubico map: 1e+5: 107.143ms
136
- rubico map tacit: 1e+5: 114.379ms
137
- async map: 1e+5: 173.965ms
138
- bluebird map: 1e+5: 985.614ms
139
- vanilla map and Promise.all: 1e+5: 101.073ms
140
-
141
- benchmarks/map.js
142
- rubico map: 1e+6: 39.198ms
143
- rubico map tacit: 1e+6: 110.067ms
144
- lodash map: 1e+6: 30.109ms
145
- lodash/fp map: 1e+6: 3.552s
146
- ramda map: 1e+6: 294.459ms
147
-
148
- benchmarks/not.js
149
- rubico not primitive: 1e+6: 6.092ms
150
- rubico not predicate: 1e+6: 59.403ms
151
- rubico not predicate tacit: 1e+6: 92.298ms
152
-
153
- benchmarks/omit.js
154
- rubico omit: 1e+6: 679.009ms
155
- rubico omit tacit: 1e+6: 706.551ms
156
- lodash omit: 1e+6: 1.427s
157
- lodash/fp omit: 1e+6: 5.613s
158
- ramda omit: 1e+6: 399.519ms
159
-
160
- benchmarks/or.async.js
161
- rubico or: 1e+5: 91.735ms
162
- rubico or tacit: 1e+5: 88.578ms
163
-
164
- benchmarks/or.js
165
- rubico or: 1e+6: 128.814ms
166
- rubico or tacit: 1e+6: 171.069ms
167
-
168
- benchmarks/pick.js
169
- rubico pick: 1e+6: 88.926ms
170
- rubico pick tacit: 1e+6: 118.456ms
171
- lodash pick: 1e+6: 374.595ms
172
- lodash fp pick: 1e+6: 3.635s
173
- ramda pick: 1e+6: 254.004ms
174
-
175
- benchmarks/pipe.async.js
176
- rubico pipe: 1e+5: 87.330ms
177
- rubico pipe tacit: 1e+5: 83.130ms
178
- async waterfall: 1e+5: 131.535ms
179
-
180
- benchmarks/pipe.js
181
- rubico pipe: 1e+6: 215.993ms
182
- rubico pipe tacit: 1e+6: 186.419ms
183
- ramda pipe: 1e+6: 1.055s
184
- lodash/fp pipe: 1e+6: 497.454ms
185
-
186
- benchmarks/reduce.async.js
187
- rubico reduce: 1e+5: 200.542ms
188
- rubico reduce tacit: 1e+5: 211.528ms
189
- async reduce: 1e+5: 202.368ms
190
- Bluebird reduce: 1e+5: 2.431s
191
-
192
- benchmarks/reduce.js
193
- rubico reduce: 1e+6: 26.706ms
194
- rubico reduce tacit: 1e+6: 104.285ms
195
- lodash reduce: 1e+6: 29.708ms
196
- lodash/fp reduce: 1e+6: 3.500s
197
- ramda reduce: 1e+6: 458.479ms
198
-
199
- benchmarks/set.async.js
200
- rubico set: 1e+5: 66.993ms
201
- rubico set tacit: 1e+5: 73.471ms
202
-
203
- benchmarks/set.js
204
- rubico set: 1e+6: 53.981ms
205
- rubico set tacit: 1e+6: 80.393ms
206
- lodash set: 1e+6: 62.218ms
207
- lodash/fp set: 1e+6: 5.292s
208
- ramda get: 1e+6: 1.049s
209
-
210
- benchmarks/some.async.js
211
- rubico some: 1e+5: 508.451ms
212
- rubico some tacit: 1e+5: 531.387ms
213
-
214
- benchmarks/some.js
215
- rubico some: 1e+6: 25.770ms
216
- rubico some tacit: 1e+6: 56.635ms
217
-
218
- benchmarks/switchCase.async.js
219
- rubico switchCase: 1e+5: 75.426ms
220
- rubico switchCase tacit: 1e+5: 196.970ms
221
-
222
- benchmarks/switchCase.js
223
- switchCase: 1e+6: 60.119ms
224
- switchCase tacit: 1e+6: 724.607ms
225
- lodash cond: 1e+6: 1.128s
226
- lodash/fp cond: 1e+6: 1.232s
227
- ramda cond: 1e+6: 1.194s
228
-
229
- benchmarks/tap.js
230
- tap: 1e+7: 336.995ms
231
-
232
- benchmarks/thunkify.js
233
- rubico thunkify: 1e+7: 9.754ms
234
-
235
- benchmarks/transform.async.js
236
- rubico transform: 1e+5: 522.428ms
237
- rubico transform tacit: 1e+5: 536.997ms
238
-
239
- benchmarks/transform.js
240
- rubico transform array -> array: 1e+6: 137.846ms
241
- rubico transform array -> array tacit: 1e+6: 293.453ms
242
- rubico transform array -> string: 1e+6: 1.664s
243
- rubico transform array -> string tacit: 1e+6: 1.669s
244
- ramda into array -> array: 1e+6: 1.077s
245
- ramda into array -> string: 1e+6: 1.259s
246
-
247
- benchmarks/tryCatch.async.js
248
- rubico tryCatch: 1e+4: 173.183ms
249
- rubico tryCatch tacit: 1e+4: 163.937ms
250
-
251
- benchmarks/tryCatch.js
252
- rubico tryCatch: 1e+5: 944.721ms
253
- rubico tryCatch tacit: 1e+5: 934.322ms
254
- ramda tryCatch: 1e+5: 1.054s
255
-
256
- benchmarks/misc/Promise.js
257
- vanilla Promise: 1e+6: 826.502ms
258
- Bluebird Promise: 1e+6: 1.398s
259
-
260
- benchmarks/misc/isPromise.js
261
- isPromise .then: 1e+5: 1.183ms
262
- isPromise instanceof: 1e+5: 1.760ms
263
-
264
- benchmarks/misc/promiseAll.js
265
- rubico promiseAll: 1e+5: 290.210ms
266
- vanilla Promise.all: 1e+5: 294.923ms
267
- Bluebird Promise.all: 1e+5: 393.508ms
268
-
@@ -1,43 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const all = require('../all')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico async array all', async () => {
7
- await all(5, [
8
- async value => value + 1,
9
- async value => value + 2,
10
- async value => value + 3,
11
- ])
12
- })
13
-
14
- suite.add('rubico async array all tacit', async () => {
15
- await all([
16
- async value => value + 1,
17
- async value => value + 2,
18
- async value => value + 3,
19
- ])(5)
20
- })
21
-
22
- suite.add('rubico async object all', async () => {
23
- await all(5, {
24
- a: async value => value + 1,
25
- b: async value => value + 2,
26
- c: async value => value + 3,
27
- })
28
- })
29
-
30
- suite.add('rubico async object all tacit', async () => {
31
- await all({
32
- a: async value => value + 1,
33
- b: async value => value + 2,
34
- c: async value => value + 3,
35
- })(5)
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/all.js DELETED
@@ -1,43 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const all = require('../all')
3
-
4
- const suite = new TimeInLoopSuite()
5
-
6
- suite.add('rubico array all', () => {
7
- all(5, [
8
- value => value + 1,
9
- value => value + 2,
10
- value => value + 3,
11
- ])
12
- })
13
-
14
- suite.add('rubico array all tacit', () => {
15
- all([
16
- value => value + 1,
17
- value => value + 2,
18
- value => value + 3,
19
- ])(5)
20
- })
21
-
22
- suite.add('rubico object all', () => {
23
- all(5, {
24
- a: value => value + 1,
25
- b: value => value + 2,
26
- c: value => value + 3,
27
- })
28
- })
29
-
30
- suite.add('rubico object all tacit', () => {
31
- all({
32
- a: value => value + 1,
33
- b: value => value + 2,
34
- c: value => value + 3,
35
- })(5)
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
@@ -1,15 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const always = require('../always')
3
-
4
- const suite = new TimeInLoopSuite({ loopCount: 1e7 })
5
-
6
- suite.add('rubico always', () => {
7
- always(1)()
8
- })
9
-
10
- if (process.argv[1] == __filename) {
11
- suite.on('caseBestRun', run => console.log(run.output))
12
- suite.run()
13
- }
14
-
15
- module.exports = suite
@@ -1,25 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const and = require('../and')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico and', async () => {
7
- await and({ a: 1 }, [
8
- async value => value.a == 1,
9
- async value => typeof value == 'object',
10
- ])
11
- })
12
-
13
- suite.add('rubico and tacit', async () => {
14
- await and([
15
- async value => value.a == 1,
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/and.js DELETED
@@ -1,25 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const and = require('../and')
3
-
4
- const suite = new TimeInLoopSuite()
5
-
6
- suite.add('rubico and', () => {
7
- and({ a: 1 }, [
8
- value => value.a == 1,
9
- value => typeof value == 'object',
10
- ])
11
- })
12
-
13
- suite.add('rubico and tacit', () => {
14
- and([
15
- value => value.a == 1,
16
- 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
@@ -1,27 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const assign = require('../assign')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico assign', async () => {
7
- await assign({}, {
8
- a: async () => 1,
9
- b: async () => 2,
10
- c: async () => 3,
11
- })
12
- })
13
-
14
- suite.add('rubico assign tacit', async () => {
15
- await assign({
16
- a: async () => 1,
17
- b: async () => 2,
18
- c: async () => 3,
19
- })({})
20
- })
21
-
22
- if (process.argv[1] == __filename) {
23
- suite.on('caseBestRun', run => console.log(run.output))
24
- suite.run()
25
- }
26
-
27
- module.exports = suite
@@ -1,27 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const assign = require('../assign')
3
-
4
- const suite = new TimeInLoopSuite()
5
-
6
- suite.add('rubico assign', () => {
7
- assign({}, {
8
- a: () => 1,
9
- b: () => 2,
10
- c: () => 3,
11
- })
12
- })
13
-
14
- suite.add('rubico assign tacit', () => {
15
- assign({
16
- a: () => 1,
17
- b: () => 2,
18
- c: () => 3,
19
- })({})
20
- })
21
-
22
- if (process.argv[1] == __filename) {
23
- suite.on('caseBestRun', run => console.log(run.output))
24
- suite.run()
25
- }
26
-
27
- module.exports = suite
@@ -1,35 +0,0 @@
1
- const _fp = require('lodash/fp')
2
- const R = require('ramda')
3
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
4
- const __ = require('../__')
5
- const curry = require('../curry')
6
-
7
- const lodashFpCurry = _fp.curry
8
- const lodashFp__ = _fp.__
9
- const ramdaCurry = R.curry
10
- const ramda__ = R.__
11
-
12
- const suite = new TimeInLoopSuite()
13
-
14
- suite.add('rubico curry', () => {
15
- curry((a, b) => a + b, __, 1)(2)
16
- })
17
-
18
- suite.add('rubico curry tacit', () => {
19
- curry((a, b) => a + b)(__, 1)(2)
20
- })
21
-
22
- suite.add('lodash/fp curry', () => {
23
- lodashFpCurry((a, b) => a + b)(lodashFp__, 1)(2)
24
- })
25
-
26
- suite.add('ramda curry', () => {
27
- ramdaCurry((a, b) => a + b)(ramda__, 1)(2)
28
- })
29
-
30
- if (process.argv[1] == __filename) {
31
- suite.on('caseBestRun', run => console.log(run.output))
32
- suite.run()
33
- }
34
-
35
- module.exports = suite
@@ -1,23 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const eq = require('../eq')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico eq Promises', async () => {
7
- await eq(1, Promise.resolve(1))
8
- })
9
-
10
- suite.add('rubico eq left value right resolver', async () => {
11
- await eq({ a: 1 }, 1, async value => value.a)
12
- })
13
-
14
- suite.add('rubico eq left resolver right resolver', async () => {
15
- await eq({ 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/eq.js DELETED
@@ -1,23 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const eq = require('../eq')
3
-
4
- const suite = new TimeInLoopSuite()
5
-
6
- suite.add('rubico eq primitive', () => {
7
- eq(1, 1)
8
- })
9
-
10
- suite.add('rubico eq left value right resolver', () => {
11
- eq({ a: 1 }, 1, value => value.a)
12
- })
13
-
14
- suite.add('rubico eq left resolver right resolver', () => {
15
- eq({ 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
@@ -1,19 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const every = require('../every')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico every', async () => {
7
- await every([1, 3, 5], async number => number % 2 == 1)
8
- })
9
-
10
- suite.add('rubico every tacit', async () => {
11
- await every(async number => number % 2 == 1)([1, 3, 5])
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
@@ -1,19 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const every = require('../every')
3
-
4
- const suite = new TimeInLoopSuite()
5
-
6
- suite.add('rubico every', () => {
7
- every([1, 3, 5], number => number % 2 == 1)
8
- })
9
-
10
- suite.add('rubico every tacit', () => {
11
- every(number => number % 2 == 1)([1, 3, 5])
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
@@ -1,32 +0,0 @@
1
- const Bluebird = require('bluebird')
2
- const async = require('async')
3
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
4
- const filter = require('../filter')
5
-
6
- const asyncFilter = async.filter
7
- const bluebirdFilter = Bluebird.filter
8
-
9
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
10
-
11
- suite.add('rubico filter', async () => {
12
- await filter([1, 2, 3, 4, 5], async value => value % 2 == 1)
13
- })
14
-
15
- suite.add('rubico filter tacit', async () => {
16
- await filter(async value => value % 2 == 1)([1, 2, 3, 4, 5])
17
- })
18
-
19
- suite.add('async filter', async () => {
20
- await asyncFilter([1, 2, 3, 4, 5], async value => value % 2 == 1)
21
- })
22
-
23
- suite.add('Bluebird filter', async () => {
24
- await bluebirdFilter([1, 2, 3, 4, 5], async value => value % 2 == 1)
25
- })
26
-
27
- if (process.argv[1] == __filename) {
28
- suite.on('caseBestRun', run => console.log(run.output))
29
- suite.run()
30
- }
31
-
32
- module.exports = suite