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
@@ -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 pick = require('../pick')
6
-
7
- const lodashPick = _.pick
8
- const lodashFpPick = _fp.pick
9
- const ramdaPick = R.pick
10
-
11
- const suite = new TimeInLoopSuite()
12
-
13
- suite.add('rubico pick', () => {
14
- pick({ a: 1, b: 2, c: 3 }, ['a'])
15
- })
16
-
17
- suite.add('rubico pick tacit', () => {
18
- pick(['a'])({ a: 1, b: 2, c: 3 })
19
- })
20
-
21
- suite.add('lodash pick', () => {
22
- lodashPick({ a: 1, b: 2, c: 3 }, ['a'])
23
- })
24
-
25
- suite.add('lodash fp pick', () => {
26
- lodashFpPick(['a'])({ a: 1, b: 2, c: 3 })
27
- })
28
-
29
- suite.add('ramda pick', () => {
30
- ramdaPick(['a'])({ 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
@@ -1,47 +0,0 @@
1
- const async = require('async')
2
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
3
- const pipe = require('../pipe')
4
-
5
- const asyncWaterfall = async.waterfall
6
-
7
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
8
-
9
- suite.add('rubico pipe', async () => {
10
- await pipe(3, [
11
- async n => n + 1,
12
- async n => n * 2,
13
- async n => n - 3,
14
- ])
15
- })
16
-
17
- suite.add('rubico pipe tacit', async () => {
18
- await pipe([
19
- async n => n + 1,
20
- async n => n * 2,
21
- async n => n - 3,
22
- ])(3)
23
- })
24
-
25
- suite.add('async waterfall', async () => {
26
- await asyncWaterfall([
27
- cb => {
28
- cb(null, 3)
29
- },
30
- (n, cb) => {
31
- cb(null, n + 1)
32
- },
33
- (n, cb) => {
34
- cb(null, n * 2)
35
- },
36
- (n, cb) => {
37
- cb(null, n - 3)
38
- },
39
- ])
40
- })
41
-
42
- if (process.argv[1] == __filename) {
43
- suite.on('caseBestRun', run => console.log(run.output))
44
- suite.run()
45
- }
46
-
47
- module.exports = suite
@@ -1,47 +0,0 @@
1
- const _fp = require('lodash/fp')
2
- const R = require('ramda')
3
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
4
- const pipe = require('../pipe')
5
-
6
- const lodashFpPipe = _fp.pipe
7
- const ramdaPipe = R.pipe
8
- const suite = new TimeInLoopSuite()
9
-
10
- suite.add('rubico pipe', () => {
11
- pipe(1, [
12
- number => number + 1,
13
- number => number + 2,
14
- number => number + 3,
15
- ])
16
- })
17
-
18
- suite.add('rubico pipe tacit', () => {
19
- pipe([
20
- number => number + 1,
21
- number => number + 2,
22
- number => number + 3,
23
- ])(1)
24
- })
25
-
26
- suite.add('ramda pipe', () => {
27
- ramdaPipe(
28
- number => number + 1,
29
- number => number + 2,
30
- number => number + 3,
31
- )(1)
32
- })
33
-
34
- suite.add('lodash/fp pipe', () => {
35
- lodashFpPipe([
36
- number => number + 1,
37
- number => number + 2,
38
- number => number + 3,
39
- ])(1)
40
- })
41
-
42
- if (process.argv[1] == __filename) {
43
- suite.on('caseBestRun', run => console.log(run.output))
44
- suite.run()
45
- }
46
-
47
- 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 reduce = require('../reduce')
5
-
6
- const bluebirdReduce = Bluebird.reduce
7
- const asyncReduce = async.reduce
8
-
9
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
10
-
11
- suite.add('rubico reduce', async () => {
12
- await reduce([1, 2, 3, 4, 5], async (a, b) => a + b, 0)
13
- })
14
-
15
- suite.add('rubico reduce tacit', async () => {
16
- await reduce(async (a, b) => a + b, 0)([1, 2, 3, 4, 5])
17
- })
18
-
19
- suite.add('async reduce', async () => {
20
- await asyncReduce([1, 2, 3, 4, 5], 0, async (a, b) => a + b)
21
- })
22
-
23
- suite.add('Bluebird reduce', async () => {
24
- await bluebirdReduce([1, 2, 3, 4, 5], async (a, b) => a + b, 0)
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
@@ -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 reduce = require('../reduce')
6
-
7
- const lodashReduce = _.reduce
8
- const lodashFpReduce = _fp.reduce
9
- const ramdaReduce = R.reduce
10
-
11
- const suite = new TimeInLoopSuite()
12
-
13
- suite.add('rubico reduce', () => {
14
- reduce([1, 2, 3, 4, 5], (a, b) => a + b, 0)
15
- })
16
-
17
- suite.add('rubico reduce tacit', () => {
18
- reduce((a, b) => a + b, 0)([1, 2, 3, 4, 5])
19
- })
20
-
21
- suite.add('lodash reduce', () => {
22
- lodashReduce([1, 2, 3, 4 ,5], (a, b) => a + b, 0)
23
- })
24
-
25
- suite.add('lodash/fp reduce', () => {
26
- lodashFpReduce((a, b) => a + b, 0)([1, 2, 3, 4, 5])
27
- })
28
-
29
- suite.add('ramda reduce', () => {
30
- ramdaReduce((a, b) => a + b, 0)([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,19 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const set = require('../set')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico set', async () => {
7
- await set({}, 'a', async () => 1)
8
- })
9
-
10
- suite.add('rubico set tacit', async () => {
11
- await set('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/set.js DELETED
@@ -1,41 +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 set = require('../set')
7
-
8
- const lodashSet = _.set
9
- const lodashFpSet = _fp.set
10
- const ramdaSet = R.set
11
-
12
- const suite = new TimeInLoopSuite()
13
-
14
- suite.add('rubico set', () => {
15
- set({}, 'a', 1)
16
- })
17
-
18
- suite.add('rubico set tacit', () => {
19
- set('a', 1)({})
20
- })
21
-
22
- suite.add('lodash set', () => {
23
- lodashSet({}, 'a', 1)
24
- })
25
-
26
- suite.add('lodash/fp set', () => {
27
- lodashFpSet('a', 1)({})
28
- })
29
-
30
- const ramdaALens = R.lensProp('a')
31
-
32
- suite.add('ramda get', () => {
33
- ramdaSet(ramdaALens, 1, {})
34
- })
35
-
36
- if (process.argv[1] == __filename) {
37
- suite.on('caseBestRun', run => console.log(run.output))
38
- suite.run()
39
- }
40
-
41
- module.exports = suite
@@ -1,19 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const some = require('../some')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico some', async () => {
7
- await some([1, 3, 5], async number => number % 2 == 1)
8
- })
9
-
10
- suite.add('rubico some tacit', async () => {
11
- await some(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 some = require('../some')
3
-
4
- const suite = new TimeInLoopSuite()
5
-
6
- suite.add('rubico some', () => {
7
- some([1, 2, 3, 4, 5], number => number % 2 == 1)
8
- })
9
-
10
- suite.add('rubico some tacit', () => {
11
- some(number => number % 2 == 1)([1, 2, 3, 4, 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,27 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const switchCase = require('../switchCase')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
5
-
6
- suite.add('rubico switchCase', async () => {
7
- await switchCase('hello', [
8
- async s => s == 'hello',
9
- async () => 'world',
10
- async () => 'goodbye',
11
- ])
12
- })
13
-
14
- suite.add('rubico switchCase tacit', async () => {
15
- await switchCase([
16
- async s => s == 'hello',
17
- async () => 'world',
18
- async () => 'goodbye',
19
- ])('hello')
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,55 +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 switchCase = require('../switchCase')
6
-
7
- const ramdaCond = R.cond
8
- const lodashCond = _.cond
9
- const lodashFpCond = _fp.cond
10
-
11
- const suite = new TimeInLoopSuite()
12
-
13
- suite.add('switchCase', () => {
14
- switchCase(1, [
15
- number => number % 2 == 1,
16
- 'number is odd',
17
- 'number is even',
18
- ])
19
- })
20
-
21
- suite.add('switchCase tacit', () => {
22
- switchCase([
23
- number => number % 2 == 1,
24
- 'number is odd',
25
- 'number is even',
26
- ])(1)
27
- })
28
-
29
- suite.add('lodash cond', () => {
30
- lodashCond([
31
- [number => number % 2 == 1, R.always('number is odd')],
32
- [R.T, R.always('number is even')],
33
- ])(1)
34
- })
35
-
36
- suite.add('lodash/fp cond', () => {
37
- lodashFpCond([
38
- [number => number % 2 == 1, R.always('number is odd')],
39
- [R.T, R.always('number is even')],
40
- ])(1)
41
- })
42
-
43
- suite.add('ramda cond', () => {
44
- ramdaCond([
45
- [number => number % 2 == 1, R.always('number is odd')],
46
- [R.T, R.always('number is even')],
47
- ])(1)
48
- })
49
-
50
- if (process.argv[1] == __filename) {
51
- suite.on('caseBestRun', run => console.log(run.output))
52
- suite.run()
53
- }
54
-
55
- module.exports = suite
package/benchmarks/tap.js DELETED
@@ -1,15 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const tap = require('../tap')
3
-
4
- const suite = new TimeInLoopSuite({ loopCount: 1e7 })
5
-
6
- suite.add('tap', () => {
7
- tap(() => {})()
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,15 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const thunkify = require('../thunkify')
3
-
4
- const suite = new TimeInLoopSuite({ loopCount: 1e7 })
5
-
6
- suite.add('rubico thunkify', () => {
7
- thunkify((a, b) => a + b, 1, 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,27 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const Transducer = require('../Transducer')
3
- const transform = require('../transform')
4
-
5
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e5 })
6
-
7
- suite.add('rubico transform', async () => {
8
- await transform(
9
- [1, 2, 3, 4, 5],
10
- Transducer.map(async number => number ** 2),
11
- [],
12
- )
13
- })
14
-
15
- suite.add('rubico transform tacit', async () => {
16
- await transform(
17
- Transducer.map(async number => number ** 2),
18
- [],
19
- )([1, 2, 3, 4, 5])
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,40 +0,0 @@
1
- const R = require('ramda')
2
- const Transducer = require('../Transducer')
3
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
4
- const transform = require('../transform')
5
-
6
- const ramdaInto = R.into
7
- const ramdaMap = R.map
8
-
9
- const suite = new TimeInLoopSuite()
10
-
11
- suite.add('rubico transform array -> array', () => {
12
- transform([1, 2, 3, 4, 5], Transducer.map(number => number ** 2), [])
13
- })
14
-
15
- suite.add('rubico transform array -> array tacit', () => {
16
- transform(Transducer.map(number => number ** 2), [])([1, 2, 3, 4, 5])
17
- })
18
-
19
- suite.add('rubico transform array -> string', () => {
20
- transform([1, 2, 3, 4, 5], Transducer.map(number => number ** 2), '')
21
- })
22
-
23
- suite.add('rubico transform array -> string tacit', () => {
24
- transform(Transducer.map(number => number ** 2), '')([1, 2, 3, 4, 5])
25
- })
26
-
27
- suite.add('ramda into array -> array', () => {
28
- ramdaInto([], ramdaMap(number => number ** 2), [1, 2, 3, 4, 5])
29
- })
30
-
31
- suite.add('ramda into array -> string', () => {
32
- ramdaInto('', ramdaMap(number => number ** 2), [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,25 +0,0 @@
1
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
2
- const tryCatch = require('../tryCatch')
3
-
4
- const suite = new TimeInLoopSuite({ async: true, loopCount: 1e4 })
5
-
6
- suite.add('rubico tryCatch', async () => {
7
- await tryCatch('hello', async message => {
8
- throw new Error(message)
9
- console.log(message)
10
- }, async error => error)
11
- })
12
-
13
- suite.add('rubico tryCatch tacit', async () => {
14
- await tryCatch(async message => {
15
- throw new Error(message)
16
- }, async error => error)('hello')
17
- })
18
-
19
- if (require.main == module) {
20
- suite.on('caseBestRun', run => console.log(run.output))
21
- suite.on('suiteBestRun', () => process.exit(0))
22
- suite.run()
23
- }
24
-
25
- module.exports = suite
@@ -1,32 +0,0 @@
1
- const _fp = require('lodash/fp')
2
- const R = require('ramda')
3
- const TimeInLoopSuite = require('../_internal/TimeInLoopSuite')
4
- const tryCatch = require('../tryCatch')
5
-
6
- const ramdaTryCatch = R.tryCatch
7
- const suite = new TimeInLoopSuite({ loopCount: 1e5 })
8
-
9
- suite.add('rubico tryCatch', () => {
10
- tryCatch('hello', message => {
11
- throw new Error(message)
12
- }, error => error)
13
- })
14
-
15
- suite.add('rubico tryCatch tacit', () => {
16
- tryCatch(message => {
17
- throw new Error(message)
18
- }, error => error)('hello')
19
- })
20
-
21
- suite.add('ramda tryCatch', () => {
22
- ramdaTryCatch(message => {
23
- throw new Error(message)
24
- }, error => error)('hello')
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