rubico 1.9.6 → 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 (589) 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 +162 -0
  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 +105 -45
  53. package/always.js +3 -9
  54. package/and.js +69 -45
  55. package/archive/{FlatMappingIteratorCool.js → FlatMappingIterator-2020-09-28.js} +1 -1
  56. package/archive/_Promise-2023-05-29.js +93 -0
  57. package/archive/arrayMap2-2023-05-29.js +73 -0
  58. package/archive/benchmarks-v1.9.7/all.js +34 -0
  59. package/archive/benchmarks-v1.9.7/and.js +24 -0
  60. package/archive/benchmarks-v1.9.7/assign.js +174 -0
  61. package/archive/benchmarks-v1.9.7/curry.js +55 -0
  62. package/archive/benchmarks-v1.9.7/eq.js +25 -0
  63. package/archive/benchmarks-v1.9.7/filter.js +1322 -0
  64. package/archive/benchmarks-v1.9.7/flatMap.js +48 -0
  65. package/archive/benchmarks-v1.9.7/get.js +44 -0
  66. package/archive/benchmarks-v1.9.7/gt.js +25 -0
  67. package/archive/benchmarks-v1.9.7/gte.js +25 -0
  68. package/archive/benchmarks-v1.9.7/lt.js +25 -0
  69. package/archive/benchmarks-v1.9.7/lte.js +25 -0
  70. package/archive/benchmarks-v1.9.7/map.js +892 -0
  71. package/archive/benchmarks-v1.9.7/omit.js +28 -0
  72. package/archive/benchmarks-v1.9.7/or.js +51 -0
  73. package/archive/benchmarks-v1.9.7/pick.js +24 -0
  74. package/archive/benchmarks-v1.9.7/pipe.js +152 -0
  75. package/archive/benchmarks-v1.9.7/reduce.js +739 -0
  76. package/archive/benchmarks-v1.9.7/switchCase.js +256 -0
  77. package/archive/benchmarks-v1.9.7/tap.js +90 -0
  78. package/archive/benchmarks-v1.9.7/transform.js +218 -0
  79. package/archive/benchmarks-v1.9.7/tryCatch.js +108 -0
  80. package/assign.js +45 -22
  81. package/bench +65 -0
  82. package/benchmark-output/v1.9.7 +268 -0
  83. package/benchmarks/all.async.js +43 -0
  84. package/benchmarks/all.js +42 -33
  85. package/benchmarks/always.js +15 -0
  86. package/benchmarks/and.async.js +25 -0
  87. package/benchmarks/and.js +20 -19
  88. package/benchmarks/assign.async.js +27 -0
  89. package/benchmarks/assign.js +20 -167
  90. package/benchmarks/curry.js +34 -54
  91. package/benchmarks/eq.async.js +23 -0
  92. package/benchmarks/eq.js +17 -19
  93. package/benchmarks/every.async.js +19 -0
  94. package/benchmarks/every.js +19 -0
  95. package/benchmarks/filter.async.js +32 -0
  96. package/benchmarks/filter.js +27 -1311
  97. package/benchmarks/flatMap.async.js +26 -0
  98. package/benchmarks/flatMap.js +26 -36
  99. package/benchmarks/get.async.js +19 -0
  100. package/benchmarks/get.js +27 -32
  101. package/benchmarks/gt.async.js +23 -0
  102. package/benchmarks/gt.js +17 -19
  103. package/benchmarks/gte.async.js +23 -0
  104. package/benchmarks/gte.js +17 -19
  105. package/benchmarks/lt.async.js +23 -0
  106. package/benchmarks/lt.js +17 -19
  107. package/benchmarks/lte.async.js +23 -0
  108. package/benchmarks/lte.js +17 -19
  109. package/benchmarks/map.async.js +43 -0
  110. package/benchmarks/map.js +24 -876
  111. package/benchmarks/misc/Promise.js +26 -0
  112. package/benchmarks/misc/isPromise.js +30 -0
  113. package/benchmarks/misc/promiseAll.js +36 -0
  114. package/benchmarks/not.js +23 -0
  115. package/benchmarks/omit.js +30 -20
  116. package/benchmarks/or.async.js +25 -0
  117. package/benchmarks/or.js +23 -49
  118. package/benchmarks/pick.js +30 -16
  119. package/benchmarks/pipe.async.js +47 -0
  120. package/benchmarks/pipe.js +46 -151
  121. package/benchmarks/reduce.async.js +32 -0
  122. package/benchmarks/reduce.js +27 -728
  123. package/benchmarks/set.async.js +19 -0
  124. package/benchmarks/set.js +41 -0
  125. package/benchmarks/some.async.js +19 -0
  126. package/benchmarks/some.js +19 -0
  127. package/benchmarks/switchCase.async.js +27 -0
  128. package/benchmarks/switchCase.js +55 -256
  129. package/benchmarks/tap.js +10 -85
  130. package/benchmarks/thunkify.js +15 -0
  131. package/benchmarks/transform.async.js +27 -0
  132. package/benchmarks/transform.js +28 -206
  133. package/benchmarks/tryCatch.async.js +25 -0
  134. package/benchmarks/tryCatch.js +24 -100
  135. package/{distributor.js → build} +50 -50
  136. package/compose.js +46 -0
  137. package/curry.js +20 -12
  138. package/dist/__.es.js +2 -2
  139. package/dist/__.es.min.js +2 -2
  140. package/dist/__.js +2 -2
  141. package/dist/__.min.js +2 -2
  142. package/dist/__.min.mjs +2 -2
  143. package/dist/__.mjs +2 -2
  144. package/dist/all.es.js +173 -92
  145. package/dist/all.es.min.js +3 -3
  146. package/dist/all.js +173 -92
  147. package/dist/all.min.js +3 -3
  148. package/dist/all.min.mjs +3 -3
  149. package/dist/all.mjs +173 -92
  150. package/dist/always.es.js +2 -2
  151. package/dist/always.es.min.js +2 -2
  152. package/dist/always.js +2 -2
  153. package/dist/always.min.js +2 -2
  154. package/dist/always.min.mjs +2 -2
  155. package/dist/always.mjs +2 -2
  156. package/dist/and.es.js +101 -32
  157. package/dist/and.es.min.js +3 -3
  158. package/dist/and.js +101 -32
  159. package/dist/and.min.js +3 -3
  160. package/dist/and.min.mjs +3 -3
  161. package/dist/and.mjs +101 -32
  162. package/dist/assign.es.js +37 -10
  163. package/dist/assign.es.min.js +3 -3
  164. package/dist/assign.js +37 -10
  165. package/dist/assign.min.js +3 -3
  166. package/dist/assign.min.mjs +3 -3
  167. package/dist/assign.mjs +37 -10
  168. package/dist/compose.es.js +71 -0
  169. package/dist/compose.es.min.js +7 -0
  170. package/dist/compose.js +78 -0
  171. package/dist/compose.min.js +8 -0
  172. package/dist/compose.min.mjs +7 -0
  173. package/dist/compose.mjs +71 -0
  174. package/dist/curry.es.js +2 -2
  175. package/dist/curry.es.min.js +2 -2
  176. package/dist/curry.js +2 -2
  177. package/dist/curry.min.js +2 -2
  178. package/dist/curry.min.mjs +2 -2
  179. package/dist/curry.mjs +2 -2
  180. package/dist/eq.es.js +172 -49
  181. package/dist/eq.es.min.js +3 -3
  182. package/dist/eq.js +172 -49
  183. package/dist/eq.min.js +3 -3
  184. package/dist/eq.min.mjs +3 -3
  185. package/dist/eq.mjs +172 -49
  186. package/dist/every.es.js +194 -0
  187. package/dist/every.es.min.js +7 -0
  188. package/dist/every.js +201 -0
  189. package/dist/every.min.js +8 -0
  190. package/dist/every.min.mjs +7 -0
  191. package/dist/every.mjs +194 -0
  192. package/dist/filter.es.js +14 -108
  193. package/dist/filter.es.min.js +3 -3
  194. package/dist/filter.js +14 -108
  195. package/dist/filter.min.js +3 -3
  196. package/dist/filter.min.mjs +3 -3
  197. package/dist/filter.mjs +14 -108
  198. package/dist/flatMap.es.js +27 -214
  199. package/dist/flatMap.es.min.js +3 -3
  200. package/dist/flatMap.js +27 -214
  201. package/dist/flatMap.min.js +3 -3
  202. package/dist/flatMap.min.mjs +3 -3
  203. package/dist/flatMap.mjs +27 -214
  204. package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
  205. package/dist/forEach.es.min.js +7 -0
  206. package/dist/{x/forEach.js → forEach.js} +52 -70
  207. package/dist/forEach.min.js +8 -0
  208. package/dist/forEach.min.mjs +7 -0
  209. package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
  210. package/dist/get.es.js +60 -5
  211. package/dist/get.es.min.js +3 -3
  212. package/dist/get.js +60 -5
  213. package/dist/get.min.js +3 -3
  214. package/dist/get.min.mjs +3 -3
  215. package/dist/get.mjs +60 -5
  216. package/dist/gt.es.js +171 -48
  217. package/dist/gt.es.min.js +3 -3
  218. package/dist/gt.js +171 -48
  219. package/dist/gt.min.js +3 -3
  220. package/dist/gt.min.mjs +3 -3
  221. package/dist/gt.mjs +171 -48
  222. package/dist/gte.es.js +171 -48
  223. package/dist/gte.es.min.js +3 -3
  224. package/dist/gte.js +171 -48
  225. package/dist/gte.min.js +3 -3
  226. package/dist/gte.min.mjs +3 -3
  227. package/dist/gte.mjs +171 -48
  228. package/dist/lt.es.js +171 -48
  229. package/dist/lt.es.min.js +3 -3
  230. package/dist/lt.js +171 -48
  231. package/dist/lt.min.js +3 -3
  232. package/dist/lt.min.mjs +3 -3
  233. package/dist/lt.mjs +171 -48
  234. package/dist/lte.es.js +171 -48
  235. package/dist/lte.es.min.js +3 -3
  236. package/dist/lte.js +171 -48
  237. package/dist/lte.min.js +3 -3
  238. package/dist/lte.min.mjs +3 -3
  239. package/dist/lte.mjs +171 -48
  240. package/dist/map.es.js +12 -101
  241. package/dist/map.es.min.js +3 -3
  242. package/dist/map.js +12 -101
  243. package/dist/map.min.js +3 -3
  244. package/dist/map.min.mjs +3 -3
  245. package/dist/map.mjs +12 -101
  246. package/dist/not.es.js +75 -14
  247. package/dist/not.es.min.js +3 -3
  248. package/dist/not.js +75 -14
  249. package/dist/not.min.js +3 -3
  250. package/dist/not.min.mjs +3 -3
  251. package/dist/not.mjs +75 -14
  252. package/dist/omit.es.js +38 -3
  253. package/dist/omit.es.min.js +3 -3
  254. package/dist/omit.js +38 -3
  255. package/dist/omit.min.js +3 -3
  256. package/dist/omit.min.mjs +3 -3
  257. package/dist/omit.mjs +38 -3
  258. package/dist/or.es.js +99 -31
  259. package/dist/or.es.min.js +3 -3
  260. package/dist/or.js +99 -31
  261. package/dist/or.min.js +3 -3
  262. package/dist/or.min.mjs +3 -3
  263. package/dist/or.mjs +99 -31
  264. package/dist/pick.es.js +38 -3
  265. package/dist/pick.es.min.js +3 -3
  266. package/dist/pick.js +38 -3
  267. package/dist/pick.min.js +3 -3
  268. package/dist/pick.min.mjs +3 -3
  269. package/dist/pick.mjs +38 -3
  270. package/dist/pipe.es.js +42 -46
  271. package/dist/pipe.es.min.js +3 -3
  272. package/dist/pipe.js +42 -46
  273. package/dist/pipe.min.js +3 -3
  274. package/dist/pipe.min.mjs +3 -3
  275. package/dist/pipe.mjs +42 -46
  276. package/dist/reduce.es.js +52 -94
  277. package/dist/reduce.es.min.js +3 -3
  278. package/dist/reduce.js +52 -94
  279. package/dist/reduce.min.js +3 -3
  280. package/dist/reduce.min.mjs +3 -3
  281. package/dist/reduce.mjs +52 -94
  282. package/dist/rubico.es.js +746 -869
  283. package/dist/rubico.es.min.js +3 -3
  284. package/dist/rubico.js +746 -869
  285. package/dist/rubico.min.js +3 -3
  286. package/dist/rubico.min.mjs +3 -3
  287. package/dist/rubico.mjs +746 -869
  288. package/dist/set.es.js +18 -3
  289. package/dist/set.es.min.js +3 -3
  290. package/dist/set.js +18 -3
  291. package/dist/set.min.js +3 -3
  292. package/dist/set.min.mjs +3 -3
  293. package/dist/set.mjs +18 -3
  294. package/dist/{any.js → some.es.js} +64 -54
  295. package/dist/some.es.min.js +7 -0
  296. package/dist/{any.mjs → some.js} +72 -48
  297. package/dist/some.min.js +8 -0
  298. package/dist/some.min.mjs +7 -0
  299. package/dist/{any.es.js → some.mjs} +65 -48
  300. package/dist/switchCase.es.js +55 -5
  301. package/dist/switchCase.es.min.js +3 -3
  302. package/dist/switchCase.js +55 -5
  303. package/dist/switchCase.min.js +3 -3
  304. package/dist/switchCase.min.mjs +3 -3
  305. package/dist/switchCase.mjs +55 -5
  306. package/dist/tap.es.js +2 -9
  307. package/dist/tap.es.min.js +3 -3
  308. package/dist/tap.js +2 -9
  309. package/dist/tap.min.js +3 -3
  310. package/dist/tap.min.mjs +3 -3
  311. package/dist/tap.mjs +2 -9
  312. package/dist/thunkify.es.js +45 -2
  313. package/dist/thunkify.es.min.js +3 -3
  314. package/dist/thunkify.js +45 -2
  315. package/dist/thunkify.min.js +3 -3
  316. package/dist/thunkify.min.mjs +3 -3
  317. package/dist/thunkify.mjs +45 -2
  318. package/dist/transform.es.js +35 -71
  319. package/dist/transform.es.min.js +3 -3
  320. package/dist/transform.js +35 -71
  321. package/dist/transform.min.js +3 -3
  322. package/dist/transform.min.mjs +3 -3
  323. package/dist/transform.mjs +35 -71
  324. package/dist/tryCatch.es.js +33 -17
  325. package/dist/tryCatch.es.min.js +3 -3
  326. package/dist/tryCatch.js +33 -17
  327. package/dist/tryCatch.min.js +3 -3
  328. package/dist/tryCatch.min.mjs +3 -3
  329. package/dist/tryCatch.mjs +33 -17
  330. package/dist/x/append.es.js +2 -2
  331. package/dist/x/append.es.min.js +2 -2
  332. package/dist/x/append.js +2 -2
  333. package/dist/x/append.min.js +2 -2
  334. package/dist/x/append.min.mjs +2 -2
  335. package/dist/x/append.mjs +2 -2
  336. package/dist/x/callProp.es.js +2 -2
  337. package/dist/x/callProp.es.min.js +2 -2
  338. package/dist/x/callProp.js +2 -2
  339. package/dist/x/callProp.min.js +2 -2
  340. package/dist/x/callProp.min.mjs +2 -2
  341. package/dist/x/callProp.mjs +2 -2
  342. package/dist/x/defaultsDeep.es.js +2 -2
  343. package/dist/x/defaultsDeep.es.min.js +2 -2
  344. package/dist/x/defaultsDeep.js +2 -2
  345. package/dist/x/defaultsDeep.min.js +2 -2
  346. package/dist/x/defaultsDeep.min.mjs +2 -2
  347. package/dist/x/defaultsDeep.mjs +2 -2
  348. package/dist/x/differenceWith.es.js +7 -7
  349. package/dist/x/differenceWith.es.min.js +3 -3
  350. package/dist/x/differenceWith.js +7 -7
  351. package/dist/x/differenceWith.min.js +2 -2
  352. package/dist/x/differenceWith.min.mjs +3 -3
  353. package/dist/x/differenceWith.mjs +7 -7
  354. package/dist/x/filterOut.es.js +60 -117
  355. package/dist/x/filterOut.es.min.js +3 -3
  356. package/dist/x/filterOut.js +60 -117
  357. package/dist/x/filterOut.min.js +3 -3
  358. package/dist/x/filterOut.min.mjs +3 -3
  359. package/dist/x/filterOut.mjs +60 -117
  360. package/dist/x/find.es.js +2 -2
  361. package/dist/x/find.es.min.js +2 -2
  362. package/dist/x/find.js +2 -2
  363. package/dist/x/find.min.js +2 -2
  364. package/dist/x/find.min.mjs +2 -2
  365. package/dist/x/find.mjs +2 -2
  366. package/dist/x/findIndex.es.js +2 -2
  367. package/dist/x/findIndex.es.min.js +2 -2
  368. package/dist/x/findIndex.js +2 -2
  369. package/dist/x/findIndex.min.js +2 -2
  370. package/dist/x/findIndex.min.mjs +2 -2
  371. package/dist/x/findIndex.mjs +2 -2
  372. package/dist/x/first.es.js +2 -2
  373. package/dist/x/first.es.min.js +2 -2
  374. package/dist/x/first.js +2 -2
  375. package/dist/x/first.min.js +2 -2
  376. package/dist/x/first.min.mjs +2 -2
  377. package/dist/x/first.mjs +2 -2
  378. package/dist/x/flatten.es.js +20 -207
  379. package/dist/x/flatten.es.min.js +3 -3
  380. package/dist/x/flatten.js +20 -207
  381. package/dist/x/flatten.min.js +3 -3
  382. package/dist/x/flatten.min.mjs +3 -3
  383. package/dist/x/flatten.mjs +20 -207
  384. package/dist/x/groupBy.es.js +52 -94
  385. package/dist/x/groupBy.es.min.js +3 -3
  386. package/dist/x/groupBy.js +52 -94
  387. package/dist/x/groupBy.min.js +3 -3
  388. package/dist/x/groupBy.min.mjs +3 -3
  389. package/dist/x/groupBy.mjs +52 -94
  390. package/dist/x/has.es.js +2 -2
  391. package/dist/x/has.es.min.js +2 -2
  392. package/dist/x/has.js +2 -2
  393. package/dist/x/has.min.js +2 -2
  394. package/dist/x/has.min.mjs +2 -2
  395. package/dist/x/has.mjs +2 -2
  396. package/dist/x/identity.es.js +2 -2
  397. package/dist/x/identity.es.min.js +2 -2
  398. package/dist/x/identity.js +2 -2
  399. package/dist/x/identity.min.js +2 -2
  400. package/dist/x/identity.min.mjs +2 -2
  401. package/dist/x/identity.mjs +2 -2
  402. package/dist/x/includes.es.js +2 -2
  403. package/dist/x/includes.es.min.js +2 -2
  404. package/dist/x/includes.js +2 -2
  405. package/dist/x/includes.min.js +2 -2
  406. package/dist/x/includes.min.mjs +2 -2
  407. package/dist/x/includes.mjs +2 -2
  408. package/dist/x/isDeepEqual.es.js +2 -2
  409. package/dist/x/isDeepEqual.es.min.js +2 -2
  410. package/dist/x/isDeepEqual.js +2 -2
  411. package/dist/x/isDeepEqual.min.js +2 -2
  412. package/dist/x/isDeepEqual.min.mjs +2 -2
  413. package/dist/x/isDeepEqual.mjs +2 -2
  414. package/dist/x/isEmpty.es.js +2 -2
  415. package/dist/x/isEmpty.es.min.js +2 -2
  416. package/dist/x/isEmpty.js +2 -2
  417. package/dist/x/isEmpty.min.js +2 -2
  418. package/dist/x/isEmpty.min.mjs +2 -2
  419. package/dist/x/isEmpty.mjs +2 -2
  420. package/dist/x/isEqual.es.js +2 -2
  421. package/dist/x/isEqual.es.min.js +2 -2
  422. package/dist/x/isEqual.js +2 -2
  423. package/dist/x/isEqual.min.js +2 -2
  424. package/dist/x/isEqual.min.mjs +2 -2
  425. package/dist/x/isEqual.mjs +2 -2
  426. package/dist/x/isFunction.es.js +2 -2
  427. package/dist/x/isFunction.es.min.js +2 -2
  428. package/dist/x/isFunction.js +2 -2
  429. package/dist/x/isFunction.min.js +2 -2
  430. package/dist/x/isFunction.min.mjs +2 -2
  431. package/dist/x/isFunction.mjs +2 -2
  432. package/dist/x/isIn.es.js +2 -2
  433. package/dist/x/isIn.es.min.js +2 -2
  434. package/dist/x/isIn.js +2 -2
  435. package/dist/x/isIn.min.js +2 -2
  436. package/dist/x/isIn.min.mjs +2 -2
  437. package/dist/x/isIn.mjs +2 -2
  438. package/dist/x/isObject.es.js +2 -2
  439. package/dist/x/isObject.es.min.js +2 -2
  440. package/dist/x/isObject.js +2 -2
  441. package/dist/x/isObject.min.js +2 -2
  442. package/dist/x/isObject.min.mjs +2 -2
  443. package/dist/x/isObject.mjs +2 -2
  444. package/dist/x/isString.es.js +2 -2
  445. package/dist/x/isString.es.min.js +2 -2
  446. package/dist/x/isString.js +2 -2
  447. package/dist/x/isString.min.js +2 -2
  448. package/dist/x/isString.min.mjs +2 -2
  449. package/dist/x/isString.mjs +2 -2
  450. package/dist/x/keys.es.js +2 -2
  451. package/dist/x/keys.es.min.js +2 -2
  452. package/dist/x/keys.js +2 -2
  453. package/dist/x/keys.min.js +2 -2
  454. package/dist/x/keys.min.mjs +2 -2
  455. package/dist/x/keys.mjs +2 -2
  456. package/dist/x/last.es.js +2 -2
  457. package/dist/x/last.es.min.js +2 -2
  458. package/dist/x/last.js +2 -2
  459. package/dist/x/last.min.js +2 -2
  460. package/dist/x/last.min.mjs +2 -2
  461. package/dist/x/last.mjs +2 -2
  462. package/dist/x/maxBy.es.js +59 -6
  463. package/dist/x/maxBy.es.min.js +3 -3
  464. package/dist/x/maxBy.js +59 -6
  465. package/dist/x/maxBy.min.js +3 -3
  466. package/dist/x/maxBy.min.mjs +3 -3
  467. package/dist/x/maxBy.mjs +59 -6
  468. package/dist/x/noop.es.js +2 -2
  469. package/dist/x/noop.es.min.js +2 -2
  470. package/dist/x/noop.js +2 -2
  471. package/dist/x/noop.min.js +2 -2
  472. package/dist/x/noop.min.mjs +2 -2
  473. package/dist/x/noop.mjs +2 -2
  474. package/dist/x/pluck.es.js +32 -103
  475. package/dist/x/pluck.es.min.js +3 -3
  476. package/dist/x/pluck.js +32 -103
  477. package/dist/x/pluck.min.js +3 -3
  478. package/dist/x/pluck.min.mjs +3 -3
  479. package/dist/x/pluck.mjs +32 -103
  480. package/dist/x/prepend.es.js +2 -2
  481. package/dist/x/prepend.es.min.js +2 -2
  482. package/dist/x/prepend.js +2 -2
  483. package/dist/x/prepend.min.js +2 -2
  484. package/dist/x/prepend.min.mjs +2 -2
  485. package/dist/x/prepend.mjs +2 -2
  486. package/dist/x/size.es.js +2 -2
  487. package/dist/x/size.es.min.js +2 -2
  488. package/dist/x/size.js +2 -2
  489. package/dist/x/size.min.js +2 -2
  490. package/dist/x/size.min.mjs +2 -2
  491. package/dist/x/size.mjs +2 -2
  492. package/dist/x/trace.es.js +2 -9
  493. package/dist/x/trace.es.min.js +3 -3
  494. package/dist/x/trace.js +2 -9
  495. package/dist/x/trace.min.js +3 -3
  496. package/dist/x/trace.min.mjs +3 -3
  497. package/dist/x/trace.mjs +2 -9
  498. package/dist/x/unionWith.es.js +2 -2
  499. package/dist/x/unionWith.es.min.js +2 -2
  500. package/dist/x/unionWith.js +2 -2
  501. package/dist/x/unionWith.min.js +2 -2
  502. package/dist/x/unionWith.min.mjs +2 -2
  503. package/dist/x/unionWith.mjs +2 -2
  504. package/dist/x/uniq.es.js +2 -2
  505. package/dist/x/uniq.es.min.js +2 -2
  506. package/dist/x/uniq.js +2 -2
  507. package/dist/x/uniq.min.js +2 -2
  508. package/dist/x/uniq.min.mjs +2 -2
  509. package/dist/x/uniq.mjs +2 -2
  510. package/dist/x/unless.es.js +2 -2
  511. package/dist/x/unless.es.min.js +2 -2
  512. package/dist/x/unless.js +2 -2
  513. package/dist/x/unless.min.js +2 -2
  514. package/dist/x/unless.min.mjs +2 -2
  515. package/dist/x/unless.mjs +2 -2
  516. package/dist/x/values.es.js +2 -2
  517. package/dist/x/values.es.min.js +2 -2
  518. package/dist/x/values.js +2 -2
  519. package/dist/x/values.min.js +2 -2
  520. package/dist/x/values.min.mjs +2 -2
  521. package/dist/x/values.mjs +2 -2
  522. package/dist/x/when.es.js +2 -2
  523. package/dist/x/when.es.min.js +2 -2
  524. package/dist/x/when.js +2 -2
  525. package/dist/x/when.min.js +2 -2
  526. package/dist/x/when.min.mjs +2 -2
  527. package/dist/x/when.mjs +2 -2
  528. package/dist-test.js +9 -2025
  529. package/eq.js +21 -63
  530. package/es.js +746 -869
  531. package/every.js +94 -0
  532. package/filter.js +83 -125
  533. package/flatMap.js +105 -154
  534. package/forEach.js +82 -0
  535. package/get.js +44 -36
  536. package/global.js +6 -4
  537. package/gt.js +15 -58
  538. package/gte.js +14 -57
  539. package/index.js +746 -869
  540. package/lt.js +17 -60
  541. package/lte.js +14 -57
  542. package/map.js +153 -203
  543. package/memory-usage/reduce.js +2 -2
  544. package/not.js +30 -49
  545. package/omit.js +36 -13
  546. package/or.js +64 -41
  547. package/package.json +7 -7
  548. package/pick.js +52 -22
  549. package/pipe.js +27 -92
  550. package/reduce.js +114 -129
  551. package/rubico.js +10 -8
  552. package/set.js +60 -24
  553. package/some.js +105 -0
  554. package/switchCase.js +29 -25
  555. package/tap.js +15 -45
  556. package/test.js +847 -1083
  557. package/thunkify.js +11 -5
  558. package/transform.js +57 -81
  559. package/tryCatch.js +38 -32
  560. package/x/differenceWith.js +3 -3
  561. package/x/filterOut.test.js +6 -6
  562. package/x/flatten.js +1 -1
  563. package/x/flatten.test.js +0 -8
  564. package/x/index.js +0 -2
  565. package/x/pluck.js +18 -27
  566. package/x/pluck.test.js +3 -7
  567. package/x/timeInLoop.js +16 -25
  568. package/x/timeInLoop.test.js +8 -4
  569. package/any.js +0 -88
  570. package/dist/any.es.min.js +0 -7
  571. package/dist/any.min.js +0 -8
  572. package/dist/any.min.mjs +0 -7
  573. package/dist/fork.es.js +0 -159
  574. package/dist/fork.es.min.js +0 -7
  575. package/dist/fork.js +0 -166
  576. package/dist/fork.min.js +0 -8
  577. package/dist/fork.min.mjs +0 -7
  578. package/dist/fork.mjs +0 -159
  579. package/dist/x/forEach.es.min.js +0 -7
  580. package/dist/x/forEach.min.js +0 -8
  581. package/dist/x/forEach.min.mjs +0 -7
  582. package/fork.js +0 -91
  583. package/x/forEach.js +0 -93
  584. package/x/forEach.test.js +0 -218
  585. /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
  586. /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
  587. /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
  588. /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
  589. /package/{benchmarks → archive/benchmarks-v1.9.7}/misc.js +0 -0
package/any.js DELETED
@@ -1,88 +0,0 @@
1
- const isArray = require('./_internal/isArray')
2
- const objectValues = require('./_internal/objectValues')
3
- const arrayAny = require('./_internal/arrayAny')
4
- const iteratorAny = require('./_internal/iteratorAny')
5
- const asyncIteratorAny = require('./_internal/asyncIteratorAny')
6
- const reducerAny = require('./_internal/reducerAny')
7
- const symbolIterator = require('./_internal/symbolIterator')
8
- const symbolAsyncIterator = require('./_internal/symbolAsyncIterator')
9
-
10
- /**
11
- * @name any
12
- *
13
- * @synopsis
14
- * ```coffeescript [specscript]
15
- * Reducer<T> = (any, T)=>Promise|any
16
- * Foldable<T> = Iterable<T>|AsyncIterable<T>
17
- * |{ reduce: Reducer<T>=>any }|Object<T>
18
- *
19
- * var T any,
20
- * predicate T=>Promise|boolean,
21
- * foldable Foldable<T>
22
- *
23
- * any(predicate)(foldable) -> Promise|boolean
24
- * ```
25
- *
26
- * @description
27
- * Test a predicate concurrently across all items of a collection, returning true if any test truthy.
28
- *
29
- * ```javascript [playground]
30
- * const isOdd = number => number % 2 == 1
31
- *
32
- * console.log(
33
- * any(isOdd)([1, 2, 3, 4, 5]),
34
- * ) // true
35
- * ```
36
- *
37
- * The value may be an asynchronous stream.
38
- *
39
- * ```javascript [playground]
40
- * const toTodosUrl = id => 'https://jsonplaceholder.typicode.com/todos/' + id
41
- *
42
- * const fetchedToJson = fetched => fetched.json()
43
- *
44
- * const fetchTodo = pipe([
45
- * toTodosUrl,
46
- * fetch,
47
- * fetchedToJson,
48
- * ])
49
- *
50
- * const todoIDsGenerator = async function* () {
51
- * yield 1; yield 2; yield 3; yield 4; yield 5
52
- * }
53
- *
54
- * any(pipe([
55
- * fetchTodo,
56
- * todo => todo.title.startsWith('fugiat'),
57
- * ]))(todoIDsGenerator()).then(console.log) // true
58
- * ```
59
- *
60
- * @execution concurrent
61
- *
62
- * @muxing
63
- *
64
- * @related or
65
- */
66
- const any = predicate => function anyTruthy(value) {
67
- if (isArray(value)) {
68
- return arrayAny(value, predicate)
69
- }
70
- if (value == null) {
71
- return predicate(value)
72
- }
73
- if (typeof value[symbolIterator] == 'function') {
74
- return iteratorAny(value[symbolIterator](), predicate)
75
- }
76
- if (typeof value[symbolAsyncIterator] == 'function') {
77
- return asyncIteratorAny(value[symbolAsyncIterator](), predicate, new Set())
78
- }
79
- if (typeof value.reduce == 'function') {
80
- return value.reduce(reducerAny(predicate), false)
81
- }
82
- if (value.constructor == Object) {
83
- return arrayAny(objectValues(value), predicate)
84
- }
85
- return predicate(value)
86
- }
87
-
88
- module.exports = any
@@ -1,7 +0,0 @@
1
- /**
2
- * rubico v1.9.6
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,objectValues=Object.values,SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},isPromise=r=>null!=r&&"function"==typeof r.then,promiseRace=Promise.race.bind(Promise),asyncArrayAny=async function(r,e,n,t){const o=r.length;for(;++n<o;){const o=e(r[n]);if(isPromise(o))t.add(SelfReferencingPromise(o));else if(o)return!0}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},arrayAny=function(r,e){const n=r.length;let t=-1;for(;++t<n;){const n=e(r[t]);if(isPromise(n))return asyncArrayAny(r,e,t,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},asyncIteratorAny=async function(r,e,n,t=20){let o=r.next();for(isPromise(o)&&(o=await o);!o.done;){if(n.size>=t){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}const i=e(o.value);if(isPromise(i))n.add(SelfReferencingPromise(i));else if(i)return!0;o=r.next(),isPromise(o)&&(o=await o)}for(;n.size>0;){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}return!1},iteratorAny=function(r,e){for(const n of r){const t=e(n);if(isPromise(t))return asyncIteratorAny(r,e,new Set([SelfReferencingPromise(t)]));if(t)return!0}return!1},reducerAnySync=r=>function(e,n){return!!e||r(n)},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},reducerAny=r=>function(e,n){return!0===e?e:isPromise(e)?e.then((t=reducerAnySync(r),i=n,(o=__)==__?curry2ResolveArg0(t,i):curry2ResolveArg1(t,o))):!!e||r(n);var t,o,i},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,any=r=>function(e){return isArray(e)?arrayAny(e,r):null==e?r(e):"function"==typeof e[symbolIterator]?iteratorAny(e[symbolIterator](),r):"function"==typeof e[symbolAsyncIterator]?asyncIteratorAny(e[symbolAsyncIterator](),r,new Set):"function"==typeof e.reduce?e.reduce(reducerAny(r),!1):e.constructor==Object?arrayAny(objectValues(e),r):r(e)};export default any;
package/dist/any.min.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * rubico v1.9.6
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(t,n){"object"==typeof module?module.exports=n:"function"==typeof define?define((()=>n)):t.any=n}("object"==typeof globalThis?globalThis:this,function(){"use strict";const t=Array.isArray,n=Object.values,e=function(t){const n=t.then((t=>[t,n]));return n},r=t=>null!=t&&"function"==typeof t.then,o=Promise.race.bind(Promise),i=async function(t,n,i,u){const f=t.length;for(;++i<f;){const o=n(t[i]);if(r(o))u.add(e(o));else if(o)return!0}for(;u.size>0;){const[t,n]=await o(u);if(u.delete(n),t)return!0}return!1},u=function(t,n){const o=t.length;let u=-1;for(;++u<o;){const o=n(t[u]);if(r(o))return i(t,n,u,new Set([e(o)]));if(o)return!0}return!1},f=async function(t,n,i,u=20){let f=t.next();for(r(f)&&(f=await f);!f.done;){if(i.size>=u){const[t,n]=await o(i);if(i.delete(n),t)return!0}const c=n(f.value);if(r(c))i.add(e(c));else if(c)return!0;f=t.next(),r(f)&&(f=await f)}for(;i.size>0;){const[t,n]=await o(i);if(i.delete(n),t)return!0}return!1},c=Symbol.for("placeholder"),s=t=>function(n,e){return!0===n?n:r(n)?n.then((o=(t=>function(n,e){return!!n||t(e)})(t),u=e,(i=c)==c?((t,n)=>function(e){return t(e,n)})(o,u):((t,n)=>function(e){return t(n,e)})(o,i))):!!n||t(e);var o,i,u},a=Symbol.iterator,l=Symbol.asyncIterator;return o=>function(i){return t(i)?u(i,o):null==i?o(i):"function"==typeof i[a]?function(t,n){for(const o of t){const i=n(o);if(r(i))return f(t,n,new Set([e(i)]));if(i)return!0}return!1}(i[a](),o):"function"==typeof i[l]?f(i[l](),o,new Set):"function"==typeof i.reduce?i.reduce(s(o),!1):i.constructor==Object?u(n(i),o):o(i)}}());
package/dist/any.min.mjs DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * rubico v1.9.6
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,objectValues=Object.values,SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},isPromise=r=>null!=r&&"function"==typeof r.then,promiseRace=Promise.race.bind(Promise),asyncArrayAny=async function(r,e,n,t){const o=r.length;for(;++n<o;){const o=e(r[n]);if(isPromise(o))t.add(SelfReferencingPromise(o));else if(o)return!0}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},arrayAny=function(r,e){const n=r.length;let t=-1;for(;++t<n;){const n=e(r[t]);if(isPromise(n))return asyncArrayAny(r,e,t,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},asyncIteratorAny=async function(r,e,n,t=20){let o=r.next();for(isPromise(o)&&(o=await o);!o.done;){if(n.size>=t){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}const i=e(o.value);if(isPromise(i))n.add(SelfReferencingPromise(i));else if(i)return!0;o=r.next(),isPromise(o)&&(o=await o)}for(;n.size>0;){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}return!1},iteratorAny=function(r,e){for(const n of r){const t=e(n);if(isPromise(t))return asyncIteratorAny(r,e,new Set([SelfReferencingPromise(t)]));if(t)return!0}return!1},reducerAnySync=r=>function(e,n){return!!e||r(n)},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},reducerAny=r=>function(e,n){return!0===e?e:isPromise(e)?e.then((t=reducerAnySync(r),i=n,(o=__)==__?curry2ResolveArg0(t,i):curry2ResolveArg1(t,o))):!!e||r(n);var t,o,i},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,any=r=>function(e){return isArray(e)?arrayAny(e,r):null==e?r(e):"function"==typeof e[symbolIterator]?iteratorAny(e[symbolIterator](),r):"function"==typeof e[symbolAsyncIterator]?asyncIteratorAny(e[symbolAsyncIterator](),r,new Set):"function"==typeof e.reduce?e.reduce(reducerAny(r),!1):e.constructor==Object?arrayAny(objectValues(e),r):r(e)};export default any;
package/dist/fork.es.js DELETED
@@ -1,159 +0,0 @@
1
- /**
2
- * rubico v1.9.6
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.6
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.6
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.6
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.6
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.6
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.6
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.6
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.6
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;