rubico 1.9.7 → 2.0.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 (587) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +3 -2
  3. package/.github/workflows/nodejs.yml +1 -1
  4. package/AggregateReducer.js +19 -0
  5. package/AggregateReducer.test.js +82 -0
  6. package/CHANGELOG.md +22 -1
  7. package/Transducer.js +75 -26
  8. package/Transducer.test.js +117 -0
  9. package/_internal/ComparisonOperator.js +68 -0
  10. package/_internal/File.js +41 -0
  11. package/_internal/FlatMappingAsyncIterator.js +4 -4
  12. package/_internal/FlatMappingIterator.js +1 -1
  13. package/_internal/TimeInLoopSuite.js +138 -0
  14. package/_internal/areAnyValuesPromises.js +23 -0
  15. package/_internal/{arrayAll.js → arrayEvery.js} +4 -4
  16. package/_internal/arrayExtend.js +3 -2
  17. package/_internal/arrayFilter.js +3 -4
  18. package/_internal/{arrayAny.js → arraySome.js} +8 -8
  19. package/_internal/{asyncIteratorAll.js → asyncIteratorEvery.js} +4 -4
  20. package/_internal/{asyncIteratorAny.js → asyncIteratorSome.js} +4 -4
  21. package/_internal/curry4.test.js +25 -0
  22. package/_internal/curry5.test.js +29 -0
  23. package/_internal/curryArgs2.js +43 -0
  24. package/_internal/curryArgs3.test.js +21 -0
  25. package/_internal/curryArgs4.js +65 -0
  26. package/_internal/curryArgs4.test.js +25 -0
  27. package/_internal/equals.js +13 -0
  28. package/_internal/findAllFilePaths.js +22 -0
  29. package/_internal/funcApply.js +2 -0
  30. package/_internal/funcCall.js +14 -0
  31. package/_internal/functionArrayAll.js +26 -0
  32. package/_internal/functionArrayAllSeries.js +55 -0
  33. package/_internal/functionObjectAll.js +32 -0
  34. package/_internal/genericReduce.js +4 -22
  35. package/_internal/genericTransform.js +15 -15
  36. package/_internal/improvedGenericTransform.js +93 -0
  37. package/_internal/{iteratorAll.js → iteratorEvery.js} +4 -4
  38. package/_internal/{iteratorAny.js → iteratorSome.js} +6 -6
  39. package/_internal/leftResolverRightResolverCompare.js +19 -0
  40. package/_internal/leftResolverRightValueCompare.js +16 -0
  41. package/_internal/leftValueRightResolverCompare.js +16 -0
  42. package/_internal/objectReduce.js +0 -1
  43. package/_internal/pathResolve.js +6 -0
  44. package/_internal/{reducerAll.js → reducerEvery.js} +4 -4
  45. package/_internal/reducerFlatMap.js +4 -4
  46. package/_internal/reducerFlatten.js +1 -1
  47. package/_internal/{reducerAny.js → reducerSome.js} +4 -4
  48. package/_internal/timeInLoop.js +37 -0
  49. package/_internal/timeInLoop.test.js +18 -0
  50. package/_internal/timeInLoopAsync.js +35 -0
  51. package/_internal/timeInLoopAsync.test.js +22 -0
  52. package/all.js +106 -40
  53. package/and.js +54 -36
  54. package/archive/{FlatMappingIteratorCool.js → FlatMappingIterator-2020-09-28.js} +1 -1
  55. package/archive/_Promise-2023-05-29.js +93 -0
  56. package/archive/arrayMap2-2023-05-29.js +73 -0
  57. package/archive/benchmarks-v1.9.7/all.js +34 -0
  58. package/archive/benchmarks-v1.9.7/and.js +24 -0
  59. package/archive/benchmarks-v1.9.7/assign.js +174 -0
  60. package/archive/benchmarks-v1.9.7/curry.js +55 -0
  61. package/archive/benchmarks-v1.9.7/eq.js +25 -0
  62. package/archive/benchmarks-v1.9.7/filter.js +1322 -0
  63. package/archive/benchmarks-v1.9.7/flatMap.js +48 -0
  64. package/archive/benchmarks-v1.9.7/get.js +44 -0
  65. package/archive/benchmarks-v1.9.7/gt.js +25 -0
  66. package/archive/benchmarks-v1.9.7/gte.js +25 -0
  67. package/archive/benchmarks-v1.9.7/lt.js +25 -0
  68. package/archive/benchmarks-v1.9.7/lte.js +25 -0
  69. package/archive/benchmarks-v1.9.7/map.js +892 -0
  70. package/archive/benchmarks-v1.9.7/omit.js +28 -0
  71. package/archive/benchmarks-v1.9.7/or.js +51 -0
  72. package/archive/benchmarks-v1.9.7/pick.js +24 -0
  73. package/archive/benchmarks-v1.9.7/pipe.js +152 -0
  74. package/archive/benchmarks-v1.9.7/reduce.js +739 -0
  75. package/archive/benchmarks-v1.9.7/switchCase.js +256 -0
  76. package/archive/benchmarks-v1.9.7/tap.js +90 -0
  77. package/archive/benchmarks-v1.9.7/transform.js +218 -0
  78. package/archive/benchmarks-v1.9.7/tryCatch.js +108 -0
  79. package/assign.js +18 -8
  80. package/bench +65 -0
  81. package/benchmark-output/v1.9.7 +268 -0
  82. package/benchmarks/all.async.js +43 -0
  83. package/benchmarks/all.js +42 -33
  84. package/benchmarks/always.js +15 -0
  85. package/benchmarks/and.async.js +25 -0
  86. package/benchmarks/and.js +20 -19
  87. package/benchmarks/assign.async.js +27 -0
  88. package/benchmarks/assign.js +20 -167
  89. package/benchmarks/curry.js +34 -54
  90. package/benchmarks/eq.async.js +23 -0
  91. package/benchmarks/eq.js +17 -19
  92. package/benchmarks/every.async.js +19 -0
  93. package/benchmarks/every.js +19 -0
  94. package/benchmarks/filter.async.js +32 -0
  95. package/benchmarks/filter.js +27 -1311
  96. package/benchmarks/flatMap.async.js +26 -0
  97. package/benchmarks/flatMap.js +26 -36
  98. package/benchmarks/get.async.js +19 -0
  99. package/benchmarks/get.js +27 -32
  100. package/benchmarks/gt.async.js +23 -0
  101. package/benchmarks/gt.js +17 -19
  102. package/benchmarks/gte.async.js +23 -0
  103. package/benchmarks/gte.js +17 -19
  104. package/benchmarks/lt.async.js +23 -0
  105. package/benchmarks/lt.js +17 -19
  106. package/benchmarks/lte.async.js +23 -0
  107. package/benchmarks/lte.js +17 -19
  108. package/benchmarks/map.async.js +43 -0
  109. package/benchmarks/map.js +24 -876
  110. package/benchmarks/misc/Promise.js +26 -0
  111. package/benchmarks/misc/isPromise.js +30 -0
  112. package/benchmarks/misc/promiseAll.js +36 -0
  113. package/benchmarks/not.js +23 -0
  114. package/benchmarks/omit.js +30 -20
  115. package/benchmarks/or.async.js +25 -0
  116. package/benchmarks/or.js +23 -49
  117. package/benchmarks/pick.js +30 -16
  118. package/benchmarks/pipe.async.js +47 -0
  119. package/benchmarks/pipe.js +46 -151
  120. package/benchmarks/reduce.async.js +32 -0
  121. package/benchmarks/reduce.js +27 -728
  122. package/benchmarks/set.async.js +19 -0
  123. package/benchmarks/set.js +41 -0
  124. package/benchmarks/some.async.js +19 -0
  125. package/benchmarks/some.js +19 -0
  126. package/benchmarks/switchCase.async.js +27 -0
  127. package/benchmarks/switchCase.js +55 -256
  128. package/benchmarks/tap.js +10 -85
  129. package/benchmarks/thunkify.js +15 -0
  130. package/benchmarks/transform.async.js +27 -0
  131. package/benchmarks/transform.js +28 -206
  132. package/benchmarks/tryCatch.async.js +25 -0
  133. package/benchmarks/tryCatch.js +24 -100
  134. package/{distributor.js → build} +50 -50
  135. package/compose.js +46 -0
  136. package/dist/__.es.js +2 -2
  137. package/dist/__.es.min.js +2 -2
  138. package/dist/__.js +2 -2
  139. package/dist/__.min.js +2 -2
  140. package/dist/__.min.mjs +2 -2
  141. package/dist/__.mjs +2 -2
  142. package/dist/all.es.js +173 -92
  143. package/dist/all.es.min.js +3 -3
  144. package/dist/all.js +173 -92
  145. package/dist/all.min.js +3 -3
  146. package/dist/all.min.mjs +3 -3
  147. package/dist/all.mjs +173 -92
  148. package/dist/always.es.js +2 -2
  149. package/dist/always.es.min.js +2 -2
  150. package/dist/always.js +2 -2
  151. package/dist/always.min.js +2 -2
  152. package/dist/always.min.mjs +2 -2
  153. package/dist/always.mjs +2 -2
  154. package/dist/and.es.js +101 -32
  155. package/dist/and.es.min.js +3 -3
  156. package/dist/and.js +101 -32
  157. package/dist/and.min.js +3 -3
  158. package/dist/and.min.mjs +3 -3
  159. package/dist/and.mjs +101 -32
  160. package/dist/assign.es.js +37 -10
  161. package/dist/assign.es.min.js +3 -3
  162. package/dist/assign.js +37 -10
  163. package/dist/assign.min.js +3 -3
  164. package/dist/assign.min.mjs +3 -3
  165. package/dist/assign.mjs +37 -10
  166. package/dist/compose.es.js +71 -0
  167. package/dist/compose.es.min.js +7 -0
  168. package/dist/compose.js +78 -0
  169. package/dist/compose.min.js +8 -0
  170. package/dist/compose.min.mjs +7 -0
  171. package/dist/compose.mjs +71 -0
  172. package/dist/curry.es.js +2 -2
  173. package/dist/curry.es.min.js +2 -2
  174. package/dist/curry.js +2 -2
  175. package/dist/curry.min.js +2 -2
  176. package/dist/curry.min.mjs +2 -2
  177. package/dist/curry.mjs +2 -2
  178. package/dist/eq.es.js +172 -49
  179. package/dist/eq.es.min.js +3 -3
  180. package/dist/eq.js +172 -49
  181. package/dist/eq.min.js +3 -3
  182. package/dist/eq.min.mjs +3 -3
  183. package/dist/eq.mjs +172 -49
  184. package/dist/every.es.js +194 -0
  185. package/dist/every.es.min.js +7 -0
  186. package/dist/every.js +201 -0
  187. package/dist/every.min.js +8 -0
  188. package/dist/every.min.mjs +7 -0
  189. package/dist/every.mjs +194 -0
  190. package/dist/filter.es.js +14 -108
  191. package/dist/filter.es.min.js +3 -3
  192. package/dist/filter.js +14 -108
  193. package/dist/filter.min.js +3 -3
  194. package/dist/filter.min.mjs +3 -3
  195. package/dist/filter.mjs +14 -108
  196. package/dist/flatMap.es.js +27 -214
  197. package/dist/flatMap.es.min.js +3 -3
  198. package/dist/flatMap.js +27 -214
  199. package/dist/flatMap.min.js +3 -3
  200. package/dist/flatMap.min.mjs +3 -3
  201. package/dist/flatMap.mjs +27 -214
  202. package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
  203. package/dist/forEach.es.min.js +7 -0
  204. package/dist/{x/forEach.js → forEach.js} +52 -70
  205. package/dist/forEach.min.js +8 -0
  206. package/dist/forEach.min.mjs +7 -0
  207. package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
  208. package/dist/get.es.js +60 -5
  209. package/dist/get.es.min.js +3 -3
  210. package/dist/get.js +60 -5
  211. package/dist/get.min.js +3 -3
  212. package/dist/get.min.mjs +3 -3
  213. package/dist/get.mjs +60 -5
  214. package/dist/gt.es.js +171 -48
  215. package/dist/gt.es.min.js +3 -3
  216. package/dist/gt.js +171 -48
  217. package/dist/gt.min.js +3 -3
  218. package/dist/gt.min.mjs +3 -3
  219. package/dist/gt.mjs +171 -48
  220. package/dist/gte.es.js +171 -48
  221. package/dist/gte.es.min.js +3 -3
  222. package/dist/gte.js +171 -48
  223. package/dist/gte.min.js +3 -3
  224. package/dist/gte.min.mjs +3 -3
  225. package/dist/gte.mjs +171 -48
  226. package/dist/lt.es.js +171 -48
  227. package/dist/lt.es.min.js +3 -3
  228. package/dist/lt.js +171 -48
  229. package/dist/lt.min.js +3 -3
  230. package/dist/lt.min.mjs +3 -3
  231. package/dist/lt.mjs +171 -48
  232. package/dist/lte.es.js +171 -48
  233. package/dist/lte.es.min.js +3 -3
  234. package/dist/lte.js +171 -48
  235. package/dist/lte.min.js +3 -3
  236. package/dist/lte.min.mjs +3 -3
  237. package/dist/lte.mjs +171 -48
  238. package/dist/map.es.js +12 -101
  239. package/dist/map.es.min.js +3 -3
  240. package/dist/map.js +12 -101
  241. package/dist/map.min.js +3 -3
  242. package/dist/map.min.mjs +3 -3
  243. package/dist/map.mjs +12 -101
  244. package/dist/not.es.js +75 -14
  245. package/dist/not.es.min.js +3 -3
  246. package/dist/not.js +75 -14
  247. package/dist/not.min.js +3 -3
  248. package/dist/not.min.mjs +3 -3
  249. package/dist/not.mjs +75 -14
  250. package/dist/omit.es.js +7 -2
  251. package/dist/omit.es.min.js +3 -3
  252. package/dist/omit.js +7 -2
  253. package/dist/omit.min.js +3 -3
  254. package/dist/omit.min.mjs +3 -3
  255. package/dist/omit.mjs +7 -2
  256. package/dist/or.es.js +99 -31
  257. package/dist/or.es.min.js +3 -3
  258. package/dist/or.js +99 -31
  259. package/dist/or.min.js +3 -3
  260. package/dist/or.min.mjs +3 -3
  261. package/dist/or.mjs +99 -31
  262. package/dist/pick.es.js +8 -3
  263. package/dist/pick.es.min.js +3 -3
  264. package/dist/pick.js +8 -3
  265. package/dist/pick.min.js +3 -3
  266. package/dist/pick.min.mjs +3 -3
  267. package/dist/pick.mjs +8 -3
  268. package/dist/pipe.es.js +42 -46
  269. package/dist/pipe.es.min.js +3 -3
  270. package/dist/pipe.js +42 -46
  271. package/dist/pipe.min.js +3 -3
  272. package/dist/pipe.min.mjs +3 -3
  273. package/dist/pipe.mjs +42 -46
  274. package/dist/reduce.es.js +52 -94
  275. package/dist/reduce.es.min.js +3 -3
  276. package/dist/reduce.js +52 -94
  277. package/dist/reduce.min.js +3 -3
  278. package/dist/reduce.min.mjs +3 -3
  279. package/dist/reduce.mjs +52 -94
  280. package/dist/rubico.es.js +730 -869
  281. package/dist/rubico.es.min.js +3 -3
  282. package/dist/rubico.js +730 -869
  283. package/dist/rubico.min.js +3 -3
  284. package/dist/rubico.min.mjs +3 -3
  285. package/dist/rubico.mjs +730 -869
  286. package/dist/set.es.js +18 -3
  287. package/dist/set.es.min.js +3 -3
  288. package/dist/set.js +18 -3
  289. package/dist/set.min.js +3 -3
  290. package/dist/set.min.mjs +3 -3
  291. package/dist/set.mjs +18 -3
  292. package/dist/{any.js → some.es.js} +64 -54
  293. package/dist/some.es.min.js +7 -0
  294. package/dist/{any.mjs → some.js} +72 -48
  295. package/dist/some.min.js +8 -0
  296. package/dist/some.min.mjs +7 -0
  297. package/dist/{any.es.js → some.mjs} +65 -48
  298. package/dist/switchCase.es.js +55 -5
  299. package/dist/switchCase.es.min.js +3 -3
  300. package/dist/switchCase.js +55 -5
  301. package/dist/switchCase.min.js +3 -3
  302. package/dist/switchCase.min.mjs +3 -3
  303. package/dist/switchCase.mjs +55 -5
  304. package/dist/tap.es.js +2 -9
  305. package/dist/tap.es.min.js +3 -3
  306. package/dist/tap.js +2 -9
  307. package/dist/tap.min.js +3 -3
  308. package/dist/tap.min.mjs +3 -3
  309. package/dist/tap.mjs +2 -9
  310. package/dist/thunkify.es.js +45 -2
  311. package/dist/thunkify.es.min.js +3 -3
  312. package/dist/thunkify.js +45 -2
  313. package/dist/thunkify.min.js +3 -3
  314. package/dist/thunkify.min.mjs +3 -3
  315. package/dist/thunkify.mjs +45 -2
  316. package/dist/transform.es.js +35 -71
  317. package/dist/transform.es.min.js +3 -3
  318. package/dist/transform.js +35 -71
  319. package/dist/transform.min.js +3 -3
  320. package/dist/transform.min.mjs +3 -3
  321. package/dist/transform.mjs +35 -71
  322. package/dist/tryCatch.es.js +33 -17
  323. package/dist/tryCatch.es.min.js +3 -3
  324. package/dist/tryCatch.js +33 -17
  325. package/dist/tryCatch.min.js +3 -3
  326. package/dist/tryCatch.min.mjs +3 -3
  327. package/dist/tryCatch.mjs +33 -17
  328. package/dist/x/append.es.js +2 -2
  329. package/dist/x/append.es.min.js +2 -2
  330. package/dist/x/append.js +2 -2
  331. package/dist/x/append.min.js +2 -2
  332. package/dist/x/append.min.mjs +2 -2
  333. package/dist/x/append.mjs +2 -2
  334. package/dist/x/callProp.es.js +2 -2
  335. package/dist/x/callProp.es.min.js +2 -2
  336. package/dist/x/callProp.js +2 -2
  337. package/dist/x/callProp.min.js +2 -2
  338. package/dist/x/callProp.min.mjs +2 -2
  339. package/dist/x/callProp.mjs +2 -2
  340. package/dist/x/defaultsDeep.es.js +2 -2
  341. package/dist/x/defaultsDeep.es.min.js +2 -2
  342. package/dist/x/defaultsDeep.js +2 -2
  343. package/dist/x/defaultsDeep.min.js +2 -2
  344. package/dist/x/defaultsDeep.min.mjs +2 -2
  345. package/dist/x/defaultsDeep.mjs +2 -2
  346. package/dist/x/differenceWith.es.js +7 -7
  347. package/dist/x/differenceWith.es.min.js +3 -3
  348. package/dist/x/differenceWith.js +7 -7
  349. package/dist/x/differenceWith.min.js +2 -2
  350. package/dist/x/differenceWith.min.mjs +3 -3
  351. package/dist/x/differenceWith.mjs +7 -7
  352. package/dist/x/filterOut.es.js +60 -117
  353. package/dist/x/filterOut.es.min.js +3 -3
  354. package/dist/x/filterOut.js +60 -117
  355. package/dist/x/filterOut.min.js +3 -3
  356. package/dist/x/filterOut.min.mjs +3 -3
  357. package/dist/x/filterOut.mjs +60 -117
  358. package/dist/x/find.es.js +2 -2
  359. package/dist/x/find.es.min.js +2 -2
  360. package/dist/x/find.js +2 -2
  361. package/dist/x/find.min.js +2 -2
  362. package/dist/x/find.min.mjs +2 -2
  363. package/dist/x/find.mjs +2 -2
  364. package/dist/x/findIndex.es.js +2 -2
  365. package/dist/x/findIndex.es.min.js +2 -2
  366. package/dist/x/findIndex.js +2 -2
  367. package/dist/x/findIndex.min.js +2 -2
  368. package/dist/x/findIndex.min.mjs +2 -2
  369. package/dist/x/findIndex.mjs +2 -2
  370. package/dist/x/first.es.js +2 -2
  371. package/dist/x/first.es.min.js +2 -2
  372. package/dist/x/first.js +2 -2
  373. package/dist/x/first.min.js +2 -2
  374. package/dist/x/first.min.mjs +2 -2
  375. package/dist/x/first.mjs +2 -2
  376. package/dist/x/flatten.es.js +20 -207
  377. package/dist/x/flatten.es.min.js +3 -3
  378. package/dist/x/flatten.js +20 -207
  379. package/dist/x/flatten.min.js +3 -3
  380. package/dist/x/flatten.min.mjs +3 -3
  381. package/dist/x/flatten.mjs +20 -207
  382. package/dist/x/groupBy.es.js +52 -94
  383. package/dist/x/groupBy.es.min.js +3 -3
  384. package/dist/x/groupBy.js +52 -94
  385. package/dist/x/groupBy.min.js +3 -3
  386. package/dist/x/groupBy.min.mjs +3 -3
  387. package/dist/x/groupBy.mjs +52 -94
  388. package/dist/x/has.es.js +2 -2
  389. package/dist/x/has.es.min.js +2 -2
  390. package/dist/x/has.js +2 -2
  391. package/dist/x/has.min.js +2 -2
  392. package/dist/x/has.min.mjs +2 -2
  393. package/dist/x/has.mjs +2 -2
  394. package/dist/x/identity.es.js +2 -2
  395. package/dist/x/identity.es.min.js +2 -2
  396. package/dist/x/identity.js +2 -2
  397. package/dist/x/identity.min.js +2 -2
  398. package/dist/x/identity.min.mjs +2 -2
  399. package/dist/x/identity.mjs +2 -2
  400. package/dist/x/includes.es.js +2 -2
  401. package/dist/x/includes.es.min.js +2 -2
  402. package/dist/x/includes.js +2 -2
  403. package/dist/x/includes.min.js +2 -2
  404. package/dist/x/includes.min.mjs +2 -2
  405. package/dist/x/includes.mjs +2 -2
  406. package/dist/x/isDeepEqual.es.js +2 -2
  407. package/dist/x/isDeepEqual.es.min.js +2 -2
  408. package/dist/x/isDeepEqual.js +2 -2
  409. package/dist/x/isDeepEqual.min.js +2 -2
  410. package/dist/x/isDeepEqual.min.mjs +2 -2
  411. package/dist/x/isDeepEqual.mjs +2 -2
  412. package/dist/x/isEmpty.es.js +2 -2
  413. package/dist/x/isEmpty.es.min.js +2 -2
  414. package/dist/x/isEmpty.js +2 -2
  415. package/dist/x/isEmpty.min.js +2 -2
  416. package/dist/x/isEmpty.min.mjs +2 -2
  417. package/dist/x/isEmpty.mjs +2 -2
  418. package/dist/x/isEqual.es.js +2 -2
  419. package/dist/x/isEqual.es.min.js +2 -2
  420. package/dist/x/isEqual.js +2 -2
  421. package/dist/x/isEqual.min.js +2 -2
  422. package/dist/x/isEqual.min.mjs +2 -2
  423. package/dist/x/isEqual.mjs +2 -2
  424. package/dist/x/isFunction.es.js +2 -2
  425. package/dist/x/isFunction.es.min.js +2 -2
  426. package/dist/x/isFunction.js +2 -2
  427. package/dist/x/isFunction.min.js +2 -2
  428. package/dist/x/isFunction.min.mjs +2 -2
  429. package/dist/x/isFunction.mjs +2 -2
  430. package/dist/x/isIn.es.js +2 -2
  431. package/dist/x/isIn.es.min.js +2 -2
  432. package/dist/x/isIn.js +2 -2
  433. package/dist/x/isIn.min.js +2 -2
  434. package/dist/x/isIn.min.mjs +2 -2
  435. package/dist/x/isIn.mjs +2 -2
  436. package/dist/x/isObject.es.js +2 -2
  437. package/dist/x/isObject.es.min.js +2 -2
  438. package/dist/x/isObject.js +2 -2
  439. package/dist/x/isObject.min.js +2 -2
  440. package/dist/x/isObject.min.mjs +2 -2
  441. package/dist/x/isObject.mjs +2 -2
  442. package/dist/x/isString.es.js +2 -2
  443. package/dist/x/isString.es.min.js +2 -2
  444. package/dist/x/isString.js +2 -2
  445. package/dist/x/isString.min.js +2 -2
  446. package/dist/x/isString.min.mjs +2 -2
  447. package/dist/x/isString.mjs +2 -2
  448. package/dist/x/keys.es.js +2 -2
  449. package/dist/x/keys.es.min.js +2 -2
  450. package/dist/x/keys.js +2 -2
  451. package/dist/x/keys.min.js +2 -2
  452. package/dist/x/keys.min.mjs +2 -2
  453. package/dist/x/keys.mjs +2 -2
  454. package/dist/x/last.es.js +2 -2
  455. package/dist/x/last.es.min.js +2 -2
  456. package/dist/x/last.js +2 -2
  457. package/dist/x/last.min.js +2 -2
  458. package/dist/x/last.min.mjs +2 -2
  459. package/dist/x/last.mjs +2 -2
  460. package/dist/x/maxBy.es.js +59 -6
  461. package/dist/x/maxBy.es.min.js +3 -3
  462. package/dist/x/maxBy.js +59 -6
  463. package/dist/x/maxBy.min.js +3 -3
  464. package/dist/x/maxBy.min.mjs +3 -3
  465. package/dist/x/maxBy.mjs +59 -6
  466. package/dist/x/noop.es.js +2 -2
  467. package/dist/x/noop.es.min.js +2 -2
  468. package/dist/x/noop.js +2 -2
  469. package/dist/x/noop.min.js +2 -2
  470. package/dist/x/noop.min.mjs +2 -2
  471. package/dist/x/noop.mjs +2 -2
  472. package/dist/x/pluck.es.js +32 -103
  473. package/dist/x/pluck.es.min.js +3 -3
  474. package/dist/x/pluck.js +32 -103
  475. package/dist/x/pluck.min.js +3 -3
  476. package/dist/x/pluck.min.mjs +3 -3
  477. package/dist/x/pluck.mjs +32 -103
  478. package/dist/x/prepend.es.js +2 -2
  479. package/dist/x/prepend.es.min.js +2 -2
  480. package/dist/x/prepend.js +2 -2
  481. package/dist/x/prepend.min.js +2 -2
  482. package/dist/x/prepend.min.mjs +2 -2
  483. package/dist/x/prepend.mjs +2 -2
  484. package/dist/x/size.es.js +2 -2
  485. package/dist/x/size.es.min.js +2 -2
  486. package/dist/x/size.js +2 -2
  487. package/dist/x/size.min.js +2 -2
  488. package/dist/x/size.min.mjs +2 -2
  489. package/dist/x/size.mjs +2 -2
  490. package/dist/x/trace.es.js +2 -9
  491. package/dist/x/trace.es.min.js +3 -3
  492. package/dist/x/trace.js +2 -9
  493. package/dist/x/trace.min.js +3 -3
  494. package/dist/x/trace.min.mjs +3 -3
  495. package/dist/x/trace.mjs +2 -9
  496. package/dist/x/unionWith.es.js +2 -2
  497. package/dist/x/unionWith.es.min.js +2 -2
  498. package/dist/x/unionWith.js +2 -2
  499. package/dist/x/unionWith.min.js +2 -2
  500. package/dist/x/unionWith.min.mjs +2 -2
  501. package/dist/x/unionWith.mjs +2 -2
  502. package/dist/x/uniq.es.js +2 -2
  503. package/dist/x/uniq.es.min.js +2 -2
  504. package/dist/x/uniq.js +2 -2
  505. package/dist/x/uniq.min.js +2 -2
  506. package/dist/x/uniq.min.mjs +2 -2
  507. package/dist/x/uniq.mjs +2 -2
  508. package/dist/x/unless.es.js +2 -2
  509. package/dist/x/unless.es.min.js +2 -2
  510. package/dist/x/unless.js +2 -2
  511. package/dist/x/unless.min.js +2 -2
  512. package/dist/x/unless.min.mjs +2 -2
  513. package/dist/x/unless.mjs +2 -2
  514. package/dist/x/values.es.js +2 -2
  515. package/dist/x/values.es.min.js +2 -2
  516. package/dist/x/values.js +2 -2
  517. package/dist/x/values.min.js +2 -2
  518. package/dist/x/values.min.mjs +2 -2
  519. package/dist/x/values.mjs +2 -2
  520. package/dist/x/when.es.js +2 -2
  521. package/dist/x/when.es.min.js +2 -2
  522. package/dist/x/when.js +2 -2
  523. package/dist/x/when.min.js +2 -2
  524. package/dist/x/when.min.mjs +2 -2
  525. package/dist/x/when.mjs +2 -2
  526. package/dist-test.js +9 -2042
  527. package/eq.js +21 -63
  528. package/es.js +730 -869
  529. package/every.js +94 -0
  530. package/filter.js +23 -91
  531. package/flatMap.js +75 -70
  532. package/forEach.js +82 -0
  533. package/get.js +23 -6
  534. package/global.js +6 -4
  535. package/gt.js +15 -58
  536. package/gte.js +14 -57
  537. package/index.js +730 -869
  538. package/lt.js +17 -60
  539. package/lte.js +14 -57
  540. package/map.js +9 -94
  541. package/memory-usage/reduce.js +2 -2
  542. package/not.js +27 -45
  543. package/omit.js +4 -0
  544. package/or.js +50 -33
  545. package/package.json +7 -7
  546. package/pick.js +5 -1
  547. package/pipe.js +13 -50
  548. package/reduce.js +42 -51
  549. package/rubico.js +10 -8
  550. package/set.js +43 -10
  551. package/some.js +105 -0
  552. package/switchCase.js +13 -3
  553. package/tap.js +0 -24
  554. package/test.js +847 -1096
  555. package/thunkify.js +9 -0
  556. package/transform.js +31 -16
  557. package/tryCatch.js +19 -15
  558. package/x/differenceWith.js +3 -3
  559. package/x/filterOut.test.js +6 -6
  560. package/x/flatten.js +1 -1
  561. package/x/flatten.test.js +0 -8
  562. package/x/index.js +0 -2
  563. package/x/pluck.js +18 -27
  564. package/x/pluck.test.js +3 -7
  565. package/x/timeInLoop.js +16 -25
  566. package/x/timeInLoop.test.js +8 -4
  567. package/any.js +0 -82
  568. package/dist/any.es.min.js +0 -7
  569. package/dist/any.min.js +0 -8
  570. package/dist/any.min.mjs +0 -7
  571. package/dist/fork.es.js +0 -159
  572. package/dist/fork.es.min.js +0 -7
  573. package/dist/fork.js +0 -166
  574. package/dist/fork.min.js +0 -8
  575. package/dist/fork.min.mjs +0 -7
  576. package/dist/fork.mjs +0 -159
  577. package/dist/x/forEach.es.min.js +0 -7
  578. package/dist/x/forEach.min.js +0 -8
  579. package/dist/x/forEach.min.mjs +0 -7
  580. package/fork.js +0 -101
  581. package/x/forEach.js +0 -93
  582. package/x/forEach.test.js +0 -218
  583. /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
  584. /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
  585. /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
  586. /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
  587. /package/{benchmarks → archive/benchmarks-v1.9.7}/misc.js +0 -0
package/dist/fork.es.js DELETED
@@ -1,159 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
-
8
- const isArray = Array.isArray
9
-
10
- const isPromise = value => value != null && typeof value.then == 'function'
11
-
12
- const promiseAll = Promise.all.bind(Promise)
13
-
14
- const funcAll = funcs => function allFuncs(...args) {
15
- const funcsLength = funcs.length,
16
- result = Array(funcsLength)
17
- let funcsIndex = -1, isAsync = false
18
- while (++funcsIndex < funcsLength) {
19
- const resultItem = funcs[funcsIndex](...args)
20
- if (isPromise(resultItem)) {
21
- isAsync = true
22
- }
23
- result[funcsIndex] = resultItem
24
- }
25
- return isAsync ? promiseAll(result) : result
26
- }
27
-
28
- const always = value => function getter() { return value }
29
-
30
- const __ = Symbol.for('placeholder')
31
-
32
- // argument resolver for curry3
33
- const curry3ResolveArg0 = (
34
- baseFunc, arg1, arg2,
35
- ) => function arg0Resolver(arg0) {
36
- return baseFunc(arg0, arg1, arg2)
37
- }
38
-
39
- // argument resolver for curry3
40
- const curry3ResolveArg1 = (
41
- baseFunc, arg0, arg2,
42
- ) => function arg1Resolver(arg1) {
43
- return baseFunc(arg0, arg1, arg2)
44
- }
45
-
46
- // argument resolver for curry3
47
- const curry3ResolveArg2 = (
48
- baseFunc, arg0, arg1,
49
- ) => function arg2Resolver(arg2) {
50
- return baseFunc(arg0, arg1, arg2)
51
- }
52
-
53
- const curry3 = function (baseFunc, arg0, arg1, arg2) {
54
- if (arg0 == __) {
55
- return curry3ResolveArg0(baseFunc, arg1, arg2)
56
- }
57
- if (arg1 == __) {
58
- return curry3ResolveArg1(baseFunc, arg0, arg2)
59
- }
60
- return curry3ResolveArg2(baseFunc, arg0, arg1)
61
- }
62
-
63
- const objectSet = function (object, property, value) {
64
- object[property] = value
65
- return object
66
- }
67
-
68
- const funcObjectAll = funcs => function objectAllFuncs(...args) {
69
- const result = {}, promises = []
70
- for (const key in funcs) {
71
- const resultItem = funcs[key](...args)
72
- if (isPromise(resultItem)) {
73
- promises.push(resultItem.then(curry3(objectSet, result, key, __)))
74
- } else {
75
- result[key] = resultItem
76
- }
77
- }
78
- return promises.length == 0 ? result : promiseAll(promises).then(always(result))
79
- }
80
-
81
- const funcConcat = (
82
- funcA, funcB,
83
- ) => function pipedFunction(...args) {
84
- const intermediate = funcA(...args)
85
- return isPromise(intermediate)
86
- ? intermediate.then(funcB)
87
- : funcB(intermediate)
88
- }
89
-
90
- // argument resolver for curry4
91
- const curry4ResolveArg0 = (
92
- baseFunc, arg1, arg2, arg3,
93
- ) => function arg0Resolver(arg0) {
94
- return baseFunc(arg0, arg1, arg2, arg3)
95
- }
96
-
97
- // argument resolver for curry4
98
- const curry4ResolveArg1 = (
99
- baseFunc, arg0, arg2, arg3,
100
- ) => function arg1Resolver(arg1) {
101
- return baseFunc(arg0, arg1, arg2, arg3)
102
- }
103
-
104
- // argument resolver for curry4
105
- const curry4ResolveArg2 = (
106
- baseFunc, arg0, arg1, arg3,
107
- ) => function arg2Resolver(arg2) {
108
- return baseFunc(arg0, arg1, arg2, arg3)
109
- }
110
-
111
- // argument resolver for curry4
112
- const curry4ResolveArg3 = (
113
- baseFunc, arg0, arg1, arg2,
114
- ) => function arg3Resolver(arg3) {
115
- return baseFunc(arg0, arg1, arg2, arg3)
116
- }
117
-
118
- const curry4 = function (baseFunc, arg0, arg1, arg2, arg3) {
119
- if (arg0 == __) {
120
- return curry4ResolveArg0(baseFunc, arg1, arg2, arg3)
121
- }
122
- if (arg1 == __) {
123
- return curry4ResolveArg1(baseFunc, arg0, arg2, arg3)
124
- }
125
- if (arg2 == __) {
126
- return curry4ResolveArg2(baseFunc, arg0, arg1, arg3)
127
- }
128
- return curry4ResolveArg3(baseFunc, arg0, arg1, arg2)
129
- }
130
-
131
- const asyncFuncAllSeries = async function (funcs, args, result, funcsIndex) {
132
- const funcsLength = funcs.length
133
- while (++funcsIndex < funcsLength) {
134
- const resultItem = funcs[funcsIndex](...args)
135
- result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
136
- }
137
- return result
138
- }
139
-
140
- const funcAllSeries = funcs => function allFuncsSeries(...args) {
141
- const funcsLength = funcs.length, result = []
142
- let funcsIndex = -1
143
- while (++funcsIndex < funcsLength) {
144
- const resultItem = funcs[funcsIndex](...args)
145
- if (isPromise(resultItem)) {
146
- return resultItem.then(funcConcat(
147
- curry3(objectSet, result, funcsIndex, __),
148
- curry4(asyncFuncAllSeries, funcs, args, __, funcsIndex)))
149
- }
150
- result[funcsIndex] = resultItem
151
- }
152
- return result
153
- }
154
-
155
- const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
156
-
157
- fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
158
-
159
- export default fork
@@ -1,7 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
- const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,promiseAll=Promise.all.bind(Promise),funcAll=r=>function(...e){const n=r.length,o=Array(n);let c=-1,t=!1;for(;++c<n;){const n=r[c](...e);isPromise(n)&&(t=!0),o[c]=n}return t?promiseAll(o):o},always=r=>function(){return r},__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(o){return r(o,e,n)},curry3ResolveArg1=(r,e,n)=>function(o){return r(e,o,n)},curry3ResolveArg2=(r,e,n)=>function(o){return r(e,n,o)},curry3=function(r,e,n,o){return e==__?curry3ResolveArg0(r,n,o):n==__?curry3ResolveArg1(r,e,o):curry3ResolveArg2(r,e,n)},objectSet=function(r,e,n){return r[e]=n,r},funcObjectAll=r=>function(...e){const n={},o=[];for(const c in r){const t=r[c](...e);isPromise(t)?o.push(t.then(curry3(objectSet,n,c,__))):n[c]=t}return 0==o.length?n:promiseAll(o).then((c=n,function(){return c}));var c},funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},curry4ResolveArg0=(r,e,n,o)=>function(c){return r(c,e,n,o)},curry4ResolveArg1=(r,e,n,o)=>function(c){return r(e,c,n,o)},curry4ResolveArg2=(r,e,n,o)=>function(c){return r(e,n,c,o)},curry4ResolveArg3=(r,e,n,o)=>function(c){return r(e,n,o,c)},curry4=function(r,e,n,o,c){return e==__?curry4ResolveArg0(r,n,o,c):n==__?curry4ResolveArg1(r,e,o,c):o==__?curry4ResolveArg2(r,e,n,c):curry4ResolveArg3(r,e,n,o)},asyncFuncAllSeries=async function(r,e,n,o){const c=r.length;for(;++o<c;){const c=r[o](...e);n[o]=isPromise(c)?await c:c}return n},funcAllSeries=r=>function(...e){const n=r.length,o=[];let c=-1;for(;++c<n;){const n=r[c](...e);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,o,c,__),(t=asyncFuncAllSeries,s=e,l=__,i=c,(u=r)==__?curry4ResolveArg0(t,s,l,i):s==__?curry4ResolveArg1(t,u,l,i):l==__?curry4ResolveArg2(t,u,s,i):curry4ResolveArg3(t,u,s,l))));o[c]=n}var t,u,s,l,i;return o},fork=r=>isArray(r)?funcAll(r):funcObjectAll(r);fork.series=r=>isArray(r)?funcAllSeries(r):funcObjectAll(r);export default fork;
package/dist/fork.js DELETED
@@ -1,166 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
-
8
- (function (root, fork) {
9
- if (typeof module == 'object') (module.exports = fork) // CommonJS
10
- else if (typeof define == 'function') define(() => fork) // AMD
11
- else (root.fork = fork) // Browser
12
- }(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
13
-
14
- const isArray = Array.isArray
15
-
16
- const isPromise = value => value != null && typeof value.then == 'function'
17
-
18
- const promiseAll = Promise.all.bind(Promise)
19
-
20
- const funcAll = funcs => function allFuncs(...args) {
21
- const funcsLength = funcs.length,
22
- result = Array(funcsLength)
23
- let funcsIndex = -1, isAsync = false
24
- while (++funcsIndex < funcsLength) {
25
- const resultItem = funcs[funcsIndex](...args)
26
- if (isPromise(resultItem)) {
27
- isAsync = true
28
- }
29
- result[funcsIndex] = resultItem
30
- }
31
- return isAsync ? promiseAll(result) : result
32
- }
33
-
34
- const always = value => function getter() { return value }
35
-
36
- const __ = Symbol.for('placeholder')
37
-
38
- // argument resolver for curry3
39
- const curry3ResolveArg0 = (
40
- baseFunc, arg1, arg2,
41
- ) => function arg0Resolver(arg0) {
42
- return baseFunc(arg0, arg1, arg2)
43
- }
44
-
45
- // argument resolver for curry3
46
- const curry3ResolveArg1 = (
47
- baseFunc, arg0, arg2,
48
- ) => function arg1Resolver(arg1) {
49
- return baseFunc(arg0, arg1, arg2)
50
- }
51
-
52
- // argument resolver for curry3
53
- const curry3ResolveArg2 = (
54
- baseFunc, arg0, arg1,
55
- ) => function arg2Resolver(arg2) {
56
- return baseFunc(arg0, arg1, arg2)
57
- }
58
-
59
- const curry3 = function (baseFunc, arg0, arg1, arg2) {
60
- if (arg0 == __) {
61
- return curry3ResolveArg0(baseFunc, arg1, arg2)
62
- }
63
- if (arg1 == __) {
64
- return curry3ResolveArg1(baseFunc, arg0, arg2)
65
- }
66
- return curry3ResolveArg2(baseFunc, arg0, arg1)
67
- }
68
-
69
- const objectSet = function (object, property, value) {
70
- object[property] = value
71
- return object
72
- }
73
-
74
- const funcObjectAll = funcs => function objectAllFuncs(...args) {
75
- const result = {}, promises = []
76
- for (const key in funcs) {
77
- const resultItem = funcs[key](...args)
78
- if (isPromise(resultItem)) {
79
- promises.push(resultItem.then(curry3(objectSet, result, key, __)))
80
- } else {
81
- result[key] = resultItem
82
- }
83
- }
84
- return promises.length == 0 ? result : promiseAll(promises).then(always(result))
85
- }
86
-
87
- const funcConcat = (
88
- funcA, funcB,
89
- ) => function pipedFunction(...args) {
90
- const intermediate = funcA(...args)
91
- return isPromise(intermediate)
92
- ? intermediate.then(funcB)
93
- : funcB(intermediate)
94
- }
95
-
96
- // argument resolver for curry4
97
- const curry4ResolveArg0 = (
98
- baseFunc, arg1, arg2, arg3,
99
- ) => function arg0Resolver(arg0) {
100
- return baseFunc(arg0, arg1, arg2, arg3)
101
- }
102
-
103
- // argument resolver for curry4
104
- const curry4ResolveArg1 = (
105
- baseFunc, arg0, arg2, arg3,
106
- ) => function arg1Resolver(arg1) {
107
- return baseFunc(arg0, arg1, arg2, arg3)
108
- }
109
-
110
- // argument resolver for curry4
111
- const curry4ResolveArg2 = (
112
- baseFunc, arg0, arg1, arg3,
113
- ) => function arg2Resolver(arg2) {
114
- return baseFunc(arg0, arg1, arg2, arg3)
115
- }
116
-
117
- // argument resolver for curry4
118
- const curry4ResolveArg3 = (
119
- baseFunc, arg0, arg1, arg2,
120
- ) => function arg3Resolver(arg3) {
121
- return baseFunc(arg0, arg1, arg2, arg3)
122
- }
123
-
124
- const curry4 = function (baseFunc, arg0, arg1, arg2, arg3) {
125
- if (arg0 == __) {
126
- return curry4ResolveArg0(baseFunc, arg1, arg2, arg3)
127
- }
128
- if (arg1 == __) {
129
- return curry4ResolveArg1(baseFunc, arg0, arg2, arg3)
130
- }
131
- if (arg2 == __) {
132
- return curry4ResolveArg2(baseFunc, arg0, arg1, arg3)
133
- }
134
- return curry4ResolveArg3(baseFunc, arg0, arg1, arg2)
135
- }
136
-
137
- const asyncFuncAllSeries = async function (funcs, args, result, funcsIndex) {
138
- const funcsLength = funcs.length
139
- while (++funcsIndex < funcsLength) {
140
- const resultItem = funcs[funcsIndex](...args)
141
- result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
142
- }
143
- return result
144
- }
145
-
146
- const funcAllSeries = funcs => function allFuncsSeries(...args) {
147
- const funcsLength = funcs.length, result = []
148
- let funcsIndex = -1
149
- while (++funcsIndex < funcsLength) {
150
- const resultItem = funcs[funcsIndex](...args)
151
- if (isPromise(resultItem)) {
152
- return resultItem.then(funcConcat(
153
- curry3(objectSet, result, funcsIndex, __),
154
- curry4(asyncFuncAllSeries, funcs, args, __, funcsIndex)))
155
- }
156
- result[funcsIndex] = resultItem
157
- }
158
- return result
159
- }
160
-
161
- const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
162
-
163
- fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
164
-
165
- return fork
166
- }())))
package/dist/fork.min.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
-
8
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.fork=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,r=Promise.all.bind(Promise),o=Symbol.for("placeholder"),e=function(n,t,r,e){return t==o?((n,t,r)=>function(o){return n(o,t,r)})(n,r,e):r==o?((n,t,r)=>function(o){return n(t,o,r)})(n,t,e):((n,t,r)=>function(o){return n(t,r,o)})(n,t,r)},u=function(n,t,r){return n[t]=r,n},c=n=>function(...c){const i={},f=[];for(const r in n){const s=n[r](...c);t(s)?f.push(s.then(e(u,i,r,o))):i[r]=s}return 0==f.length?i:r(f).then((s=i,function(){return s}));var s},i=(n,r)=>function(...o){const e=n(...o);return t(e)?e.then(r):r(e)},f=async function(n,r,o,e){const u=n.length;for(;++e<u;){const u=n[e](...r);o[e]=t(u)?await u:u}return o},s=o=>n(o)?(n=>function(...o){const e=n.length,u=Array(e);let c=-1,i=!1;for(;++c<e;){const r=n[c](...o);t(r)&&(i=!0),u[c]=r}return i?r(u):u})(o):c(o);return s.series=r=>n(r)?(n=>function(...r){const c=n.length,s=[];let l=-1;for(;++l<c;){const c=n[l](...r);if(t(c))return c.then(i(e(u,s,l,o),(h=f,y=r,p=o,b=l,(a=n)==o?((n,t,r,o)=>function(e){return n(e,t,r,o)})(h,y,p,b):y==o?((n,t,r,o)=>function(e){return n(t,e,r,o)})(h,a,p,b):p==o?((n,t,r,o)=>function(e){return n(t,r,e,o)})(h,a,y,b):((n,t,r,o)=>function(e){return n(t,r,o,e)})(h,a,y,p))));s[l]=c}var h,a,y,p,b;return s})(r):c(r),s}());
package/dist/fork.min.mjs DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
- const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,promiseAll=Promise.all.bind(Promise),funcAll=r=>function(...e){const n=r.length,o=Array(n);let c=-1,t=!1;for(;++c<n;){const n=r[c](...e);isPromise(n)&&(t=!0),o[c]=n}return t?promiseAll(o):o},always=r=>function(){return r},__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(o){return r(o,e,n)},curry3ResolveArg1=(r,e,n)=>function(o){return r(e,o,n)},curry3ResolveArg2=(r,e,n)=>function(o){return r(e,n,o)},curry3=function(r,e,n,o){return e==__?curry3ResolveArg0(r,n,o):n==__?curry3ResolveArg1(r,e,o):curry3ResolveArg2(r,e,n)},objectSet=function(r,e,n){return r[e]=n,r},funcObjectAll=r=>function(...e){const n={},o=[];for(const c in r){const t=r[c](...e);isPromise(t)?o.push(t.then(curry3(objectSet,n,c,__))):n[c]=t}return 0==o.length?n:promiseAll(o).then((c=n,function(){return c}));var c},funcConcat=(r,e)=>function(...n){const o=r(...n);return isPromise(o)?o.then(e):e(o)},curry4ResolveArg0=(r,e,n,o)=>function(c){return r(c,e,n,o)},curry4ResolveArg1=(r,e,n,o)=>function(c){return r(e,c,n,o)},curry4ResolveArg2=(r,e,n,o)=>function(c){return r(e,n,c,o)},curry4ResolveArg3=(r,e,n,o)=>function(c){return r(e,n,o,c)},curry4=function(r,e,n,o,c){return e==__?curry4ResolveArg0(r,n,o,c):n==__?curry4ResolveArg1(r,e,o,c):o==__?curry4ResolveArg2(r,e,n,c):curry4ResolveArg3(r,e,n,o)},asyncFuncAllSeries=async function(r,e,n,o){const c=r.length;for(;++o<c;){const c=r[o](...e);n[o]=isPromise(c)?await c:c}return n},funcAllSeries=r=>function(...e){const n=r.length,o=[];let c=-1;for(;++c<n;){const n=r[c](...e);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,o,c,__),(t=asyncFuncAllSeries,s=e,l=__,i=c,(u=r)==__?curry4ResolveArg0(t,s,l,i):s==__?curry4ResolveArg1(t,u,l,i):l==__?curry4ResolveArg2(t,u,s,i):curry4ResolveArg3(t,u,s,l))));o[c]=n}var t,u,s,l,i;return o},fork=r=>isArray(r)?funcAll(r):funcObjectAll(r);fork.series=r=>isArray(r)?funcAllSeries(r):funcObjectAll(r);export default fork;
package/dist/fork.mjs DELETED
@@ -1,159 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
-
8
- const isArray = Array.isArray
9
-
10
- const isPromise = value => value != null && typeof value.then == 'function'
11
-
12
- const promiseAll = Promise.all.bind(Promise)
13
-
14
- const funcAll = funcs => function allFuncs(...args) {
15
- const funcsLength = funcs.length,
16
- result = Array(funcsLength)
17
- let funcsIndex = -1, isAsync = false
18
- while (++funcsIndex < funcsLength) {
19
- const resultItem = funcs[funcsIndex](...args)
20
- if (isPromise(resultItem)) {
21
- isAsync = true
22
- }
23
- result[funcsIndex] = resultItem
24
- }
25
- return isAsync ? promiseAll(result) : result
26
- }
27
-
28
- const always = value => function getter() { return value }
29
-
30
- const __ = Symbol.for('placeholder')
31
-
32
- // argument resolver for curry3
33
- const curry3ResolveArg0 = (
34
- baseFunc, arg1, arg2,
35
- ) => function arg0Resolver(arg0) {
36
- return baseFunc(arg0, arg1, arg2)
37
- }
38
-
39
- // argument resolver for curry3
40
- const curry3ResolveArg1 = (
41
- baseFunc, arg0, arg2,
42
- ) => function arg1Resolver(arg1) {
43
- return baseFunc(arg0, arg1, arg2)
44
- }
45
-
46
- // argument resolver for curry3
47
- const curry3ResolveArg2 = (
48
- baseFunc, arg0, arg1,
49
- ) => function arg2Resolver(arg2) {
50
- return baseFunc(arg0, arg1, arg2)
51
- }
52
-
53
- const curry3 = function (baseFunc, arg0, arg1, arg2) {
54
- if (arg0 == __) {
55
- return curry3ResolveArg0(baseFunc, arg1, arg2)
56
- }
57
- if (arg1 == __) {
58
- return curry3ResolveArg1(baseFunc, arg0, arg2)
59
- }
60
- return curry3ResolveArg2(baseFunc, arg0, arg1)
61
- }
62
-
63
- const objectSet = function (object, property, value) {
64
- object[property] = value
65
- return object
66
- }
67
-
68
- const funcObjectAll = funcs => function objectAllFuncs(...args) {
69
- const result = {}, promises = []
70
- for (const key in funcs) {
71
- const resultItem = funcs[key](...args)
72
- if (isPromise(resultItem)) {
73
- promises.push(resultItem.then(curry3(objectSet, result, key, __)))
74
- } else {
75
- result[key] = resultItem
76
- }
77
- }
78
- return promises.length == 0 ? result : promiseAll(promises).then(always(result))
79
- }
80
-
81
- const funcConcat = (
82
- funcA, funcB,
83
- ) => function pipedFunction(...args) {
84
- const intermediate = funcA(...args)
85
- return isPromise(intermediate)
86
- ? intermediate.then(funcB)
87
- : funcB(intermediate)
88
- }
89
-
90
- // argument resolver for curry4
91
- const curry4ResolveArg0 = (
92
- baseFunc, arg1, arg2, arg3,
93
- ) => function arg0Resolver(arg0) {
94
- return baseFunc(arg0, arg1, arg2, arg3)
95
- }
96
-
97
- // argument resolver for curry4
98
- const curry4ResolveArg1 = (
99
- baseFunc, arg0, arg2, arg3,
100
- ) => function arg1Resolver(arg1) {
101
- return baseFunc(arg0, arg1, arg2, arg3)
102
- }
103
-
104
- // argument resolver for curry4
105
- const curry4ResolveArg2 = (
106
- baseFunc, arg0, arg1, arg3,
107
- ) => function arg2Resolver(arg2) {
108
- return baseFunc(arg0, arg1, arg2, arg3)
109
- }
110
-
111
- // argument resolver for curry4
112
- const curry4ResolveArg3 = (
113
- baseFunc, arg0, arg1, arg2,
114
- ) => function arg3Resolver(arg3) {
115
- return baseFunc(arg0, arg1, arg2, arg3)
116
- }
117
-
118
- const curry4 = function (baseFunc, arg0, arg1, arg2, arg3) {
119
- if (arg0 == __) {
120
- return curry4ResolveArg0(baseFunc, arg1, arg2, arg3)
121
- }
122
- if (arg1 == __) {
123
- return curry4ResolveArg1(baseFunc, arg0, arg2, arg3)
124
- }
125
- if (arg2 == __) {
126
- return curry4ResolveArg2(baseFunc, arg0, arg1, arg3)
127
- }
128
- return curry4ResolveArg3(baseFunc, arg0, arg1, arg2)
129
- }
130
-
131
- const asyncFuncAllSeries = async function (funcs, args, result, funcsIndex) {
132
- const funcsLength = funcs.length
133
- while (++funcsIndex < funcsLength) {
134
- const resultItem = funcs[funcsIndex](...args)
135
- result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
136
- }
137
- return result
138
- }
139
-
140
- const funcAllSeries = funcs => function allFuncsSeries(...args) {
141
- const funcsLength = funcs.length, result = []
142
- let funcsIndex = -1
143
- while (++funcsIndex < funcsLength) {
144
- const resultItem = funcs[funcsIndex](...args)
145
- if (isPromise(resultItem)) {
146
- return resultItem.then(funcConcat(
147
- curry3(objectSet, result, funcsIndex, __),
148
- curry4(asyncFuncAllSeries, funcs, args, __, funcsIndex)))
149
- }
150
- result[funcsIndex] = resultItem
151
- }
152
- return result
153
- }
154
-
155
- const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
156
-
157
- fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
158
-
159
- export default fork
@@ -1,7 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
- const isArray=Array.isArray,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=o=>nativeObjectToString.call(o),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=o=>objectToString(o)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=o=>objectToString(o)==asyncGeneratorFunctionTag,isPromise=o=>null!=o&&"function"==typeof o.then,promiseAll=Promise.all.bind(Promise),always=o=>function(){return o},arrayForEach=function(o,t){const n=o.length,r=[];let e=-1;for(;++e<n;){const n=t(o[e]);isPromise(n)&&r.push(n)}return 0==r.length?o:promiseAll(r).then(always(o))},objectForEach=function(o,t){const n=[];for(const r in o){const e=t(o[r]);isPromise(e)&&n.push(e)}return 0==n.length?o:promiseAll(n).then(always(o))},iteratorForEach=function(o,t){const n=[];for(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},asyncIteratorForEach=async function(o,t){const n=[];for await(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},generatorFunctionForEach=(o,t)=>function*(...n){const r=[],e=o(...n);for(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},asyncGeneratorFunctionForEach=(o,t)=>async function*(...n){const r=[],e=o(...n);for await(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},thunkify2=(o,t,n)=>function(){return o(t,n)},reducerForEach=(o,t)=>function(n,r){const e=t(r);return isPromise(e)?e.then((c=o,a=n,s=r,function(){return c(a,s)})):o(n,r);var c,a,s},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,forEach=o=>function(t){return isArray(t)?arrayForEach(t,o):"function"==typeof t?isGeneratorFunction(t)?generatorFunctionForEach(t,o):isAsyncGeneratorFunction(t)?asyncGeneratorFunctionForEach(t,o):reducerForEach(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[symbolIterator]?iteratorForEach(t[symbolIterator](),o):"function"==typeof t[symbolAsyncIterator]?asyncIteratorForEach(t[symbolAsyncIterator](),o):t.constructor==Object?objectForEach(t,o):t};export default forEach;
@@ -1,8 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
-
8
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.forEach=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=Object.prototype.toString,o=n=>t.call(n),e=n=>null!=n&&"function"==typeof n.then,c=Promise.all.bind(Promise),r=n=>function(){return n},u=Symbol.iterator,f=Symbol.asyncIterator;return t=>function(s){return n(s)?function(n,t){const o=n.length,u=[];let f=-1;for(;++f<o;){const o=t(n[f]);e(o)&&u.push(o)}return 0==u.length?n:c(u).then(r(n))}(s,t):"function"==typeof s?(n=>"[object GeneratorFunction]"==o(n))(s)?((n,t)=>function*(...o){const u=[],f=n(...o);for(const n of f){const o=t(n);e(o)&&u.push(o)}return 0==u.length?f:c(u).then(r(f))})(s,t):(n=>"[object AsyncGeneratorFunction]"==o(n))(s)?((n,t)=>async function*(...o){const u=[],f=n(...o);for await(const n of f){const o=t(n);e(o)&&u.push(o)}return 0==u.length?f:c(u).then(r(f))})(s,t):((n,t)=>function(o,c){const r=t(c);return e(r)?r.then((u=n,f=o,s=c,function(){return u(f,s)})):n(o,c);var u,f,s})(s,t):null==s?s:"function"==typeof s.forEach?s.forEach(t):"function"==typeof s[u]?function(n,t){const o=[];for(const c of n){const n=t(c);e(n)&&o.push(n)}return 0==o.length?n:c(o).then(r(n))}(s[u](),t):"function"==typeof s[f]?async function(n,t){const o=[];for await(const c of n){const n=t(c);e(n)&&o.push(n)}return 0==o.length?n:c(o).then(r(n))}(s[f](),t):s.constructor==Object?function(n,t){const o=[];for(const c in n){const r=t(n[c]);e(r)&&o.push(r)}return 0==o.length?n:c(o).then(r(n))}(s,t):s}}());
@@ -1,7 +0,0 @@
1
- /**
2
- * rubico v1.9.7
3
- * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
5
- * rubico may be freely distributed under the MIT license.
6
- */
7
- const isArray=Array.isArray,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=o=>nativeObjectToString.call(o),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=o=>objectToString(o)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=o=>objectToString(o)==asyncGeneratorFunctionTag,isPromise=o=>null!=o&&"function"==typeof o.then,promiseAll=Promise.all.bind(Promise),always=o=>function(){return o},arrayForEach=function(o,t){const n=o.length,r=[];let e=-1;for(;++e<n;){const n=t(o[e]);isPromise(n)&&r.push(n)}return 0==r.length?o:promiseAll(r).then(always(o))},objectForEach=function(o,t){const n=[];for(const r in o){const e=t(o[r]);isPromise(e)&&n.push(e)}return 0==n.length?o:promiseAll(n).then(always(o))},iteratorForEach=function(o,t){const n=[];for(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},asyncIteratorForEach=async function(o,t){const n=[];for await(const r of o){const o=t(r);isPromise(o)&&n.push(o)}return 0==n.length?o:promiseAll(n).then(always(o))},generatorFunctionForEach=(o,t)=>function*(...n){const r=[],e=o(...n);for(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},asyncGeneratorFunctionForEach=(o,t)=>async function*(...n){const r=[],e=o(...n);for await(const o of e){const n=t(o);isPromise(n)&&r.push(n)}return 0==r.length?e:promiseAll(r).then(always(e))},thunkify2=(o,t,n)=>function(){return o(t,n)},reducerForEach=(o,t)=>function(n,r){const e=t(r);return isPromise(e)?e.then((c=o,a=n,s=r,function(){return c(a,s)})):o(n,r);var c,a,s},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,forEach=o=>function(t){return isArray(t)?arrayForEach(t,o):"function"==typeof t?isGeneratorFunction(t)?generatorFunctionForEach(t,o):isAsyncGeneratorFunction(t)?asyncGeneratorFunctionForEach(t,o):reducerForEach(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[symbolIterator]?iteratorForEach(t[symbolIterator](),o):"function"==typeof t[symbolAsyncIterator]?asyncIteratorForEach(t[symbolAsyncIterator](),o):t.constructor==Object?objectForEach(t,o):t};export default forEach;
package/fork.js DELETED
@@ -1,101 +0,0 @@
1
- const isArray = require('./_internal/isArray')
2
- const funcAll = require('./_internal/funcAll')
3
- const funcObjectAll = require('./_internal/funcObjectAll')
4
- const funcAllSeries = require('./_internal/funcAllSeries')
5
-
6
- /**
7
- * @name fork
8
- *
9
- * @synopsis
10
- * ```coffeescript [specscript]
11
- * fork(funcsArray Array<function>)(...args) -> result Promise|Array
12
- *
13
- * fork(funcsObject Object<function>)(...args) -> result Promise|Object
14
- * ```
15
- *
16
- * @description
17
- * Function executor and composer. Accepts either an array of functions or an object of functions as the values. Calls each function of the provided array or object in parallel with the provided arguments. Returns either an array or object of the results of the function executions.
18
- *
19
- * ```javascript [playground]
20
- * const createArrayOfGreetingsFor = fork([
21
- * name => `Hi ${name}`,
22
- * name => `Hey ${name}`,
23
- * name => `Hello ${name}`,
24
- * ])
25
- *
26
- * const arrayOfGreetingsForFred = createArrayOfGreetingsFor('Fred')
27
- *
28
- * console.log(arrayOfGreetingsForFred)
29
- * // ['Hi Fred', 'Hey Fred', 'Hello Fred']
30
- *
31
- * const createObjectOfGreetingsFor = fork({
32
- * hi: name => `Hi ${name}`,
33
- * hey: name => `Hey ${name}`,
34
- * hello: name => `Hello ${name}`,
35
- * })
36
- *
37
- * const objectOfGreetingsForJane = createObjectOfGreetingsFor('Jane')
38
- *
39
- * console.log(objectOfGreetingsForJane)
40
- * // { hi: 'Hi Jane', hey: 'Hey Jane', hello: 'Hello Jane' }
41
- * ```
42
- *
43
- * `fork` can simultaneously compose objects and handle promises.
44
- *
45
- * ```javascript [playground]
46
- * const identity = value => value
47
- *
48
- * const userbase = new Map()
49
- * userbase.set('1', { _id: 1, name: 'George' })
50
- *
51
- * const getUserByID = async id => userbase.get(id)
52
- *
53
- * const getAndLogUserById = pipe([
54
- * fork({
55
- * id: identity,
56
- * user: getUserByID,
57
- * }),
58
- * tap(({ id, user }) => {
59
- * console.log(`Got user ${JSON.stringify(user)} by id ${id}`)
60
- * }),
61
- * ])
62
- *
63
- * getAndLogUserById('1') // Got user {"_id":1,"name":"George"} by id 1
64
- * ```
65
- *
66
- * @execution concurrent
67
- */
68
- const fork = funcs => isArray(funcs) ? funcAll(funcs) : funcObjectAll(funcs)
69
-
70
- /**
71
- * @name fork.series
72
- *
73
- * @synopsis
74
- * ```coffeescript [specscript]
75
- * fork.series(funcsArray Array<function>)(...args) -> result Promise|Array
76
- *
77
- * fork.series(funcsObject Object<function>)(...args) -> result Promise|Object
78
- * ```
79
- *
80
- * @description
81
- * Same as `fork` but with serial instead of parallel execution.
82
- *
83
- * ```javascript [playground]
84
- * const sleep = ms => () => new Promise(resolve => setTimeout(resolve, ms))
85
- *
86
- * fork.series([
87
- * greeting => console.log(greeting + ' world'),
88
- * sleep(1000),
89
- * greeting => console.log(greeting + ' mom'),
90
- * sleep(1000),
91
- * greeting => console.log(greeting + ' goodbye'),
92
- * ])('hello') // hello world
93
- * // hello mom
94
- * // hello goodbye
95
- * ```
96
- *
97
- * @execution series
98
- */
99
- fork.series = funcs => isArray(funcs) ? funcAllSeries(funcs) : funcObjectAll(funcs)
100
-
101
- module.exports = fork