rubico 2.6.5 → 2.7.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 (382) hide show
  1. package/Transducer.d.ts +1 -1
  2. package/Transducer.js +65 -16
  3. package/__.js +10 -1
  4. package/all.d.ts +2 -2
  5. package/all.js +11 -2
  6. package/always.js +8 -0
  7. package/and.js +6 -0
  8. package/assign.js +9 -0
  9. package/compose.js +33 -8
  10. package/curry.js +18 -0
  11. package/dist/Transducer.es.js +2 -2
  12. package/dist/Transducer.es.min.js +2 -2
  13. package/dist/Transducer.js +2 -2
  14. package/dist/Transducer.min.js +2 -2
  15. package/dist/Transducer.mjs +2 -2
  16. package/dist/__.es.js +2 -2
  17. package/dist/__.es.min.js +2 -2
  18. package/dist/__.js +2 -2
  19. package/dist/__.min.js +2 -2
  20. package/dist/__.mjs +2 -2
  21. package/dist/all.es.js +2 -22
  22. package/dist/all.es.min.js +2 -2
  23. package/dist/all.js +2 -22
  24. package/dist/all.min.js +2 -2
  25. package/dist/all.mjs +2 -22
  26. package/dist/always.es.js +2 -2
  27. package/dist/always.es.min.js +2 -2
  28. package/dist/always.js +2 -2
  29. package/dist/always.min.js +2 -2
  30. package/dist/always.mjs +2 -2
  31. package/dist/and.es.js +2 -2
  32. package/dist/and.es.min.js +2 -2
  33. package/dist/and.js +2 -2
  34. package/dist/and.min.js +2 -2
  35. package/dist/and.mjs +2 -2
  36. package/dist/assign.es.js +2 -2
  37. package/dist/assign.es.min.js +2 -2
  38. package/dist/assign.js +2 -2
  39. package/dist/assign.min.js +2 -2
  40. package/dist/assign.mjs +2 -2
  41. package/dist/compose.es.js +6 -2
  42. package/dist/compose.es.min.js +3 -3
  43. package/dist/compose.js +6 -2
  44. package/dist/compose.min.js +3 -3
  45. package/dist/compose.mjs +6 -2
  46. package/dist/curry.es.js +2 -2
  47. package/dist/curry.es.min.js +2 -2
  48. package/dist/curry.js +2 -2
  49. package/dist/curry.min.js +2 -2
  50. package/dist/curry.mjs +2 -2
  51. package/dist/eq.es.js +2 -2
  52. package/dist/eq.es.min.js +2 -2
  53. package/dist/eq.js +2 -2
  54. package/dist/eq.min.js +2 -2
  55. package/dist/eq.mjs +2 -2
  56. package/dist/every.es.js +2 -2
  57. package/dist/every.es.min.js +2 -2
  58. package/dist/every.js +2 -2
  59. package/dist/every.min.js +2 -2
  60. package/dist/every.mjs +2 -2
  61. package/dist/filter.es.js +5 -3
  62. package/dist/filter.es.min.js +3 -3
  63. package/dist/filter.js +5 -3
  64. package/dist/filter.min.js +3 -3
  65. package/dist/filter.mjs +5 -3
  66. package/dist/flatMap.es.js +2 -2
  67. package/dist/flatMap.es.min.js +2 -2
  68. package/dist/flatMap.js +2 -2
  69. package/dist/flatMap.min.js +2 -2
  70. package/dist/flatMap.mjs +2 -2
  71. package/dist/forEach.es.js +2 -2
  72. package/dist/forEach.es.min.js +2 -2
  73. package/dist/forEach.js +2 -2
  74. package/dist/forEach.min.js +2 -2
  75. package/dist/forEach.mjs +2 -2
  76. package/dist/get.es.js +2 -2
  77. package/dist/get.es.min.js +2 -2
  78. package/dist/get.js +2 -2
  79. package/dist/get.min.js +2 -2
  80. package/dist/get.mjs +2 -2
  81. package/dist/gt.es.js +2 -2
  82. package/dist/gt.es.min.js +2 -2
  83. package/dist/gt.js +2 -2
  84. package/dist/gt.min.js +2 -2
  85. package/dist/gt.mjs +2 -2
  86. package/dist/gte.es.js +2 -2
  87. package/dist/gte.es.min.js +2 -2
  88. package/dist/gte.js +2 -2
  89. package/dist/gte.min.js +2 -2
  90. package/dist/gte.mjs +2 -2
  91. package/dist/lt.es.js +2 -2
  92. package/dist/lt.es.min.js +2 -2
  93. package/dist/lt.js +2 -2
  94. package/dist/lt.min.js +2 -2
  95. package/dist/lt.mjs +2 -2
  96. package/dist/lte.es.js +2 -2
  97. package/dist/lte.es.min.js +2 -2
  98. package/dist/lte.js +2 -2
  99. package/dist/lte.min.js +2 -2
  100. package/dist/lte.mjs +2 -2
  101. package/dist/map.es.js +31 -31
  102. package/dist/map.es.min.js +3 -3
  103. package/dist/map.js +31 -31
  104. package/dist/map.min.js +3 -3
  105. package/dist/map.mjs +31 -31
  106. package/dist/not.es.js +2 -2
  107. package/dist/not.es.min.js +2 -2
  108. package/dist/not.js +2 -2
  109. package/dist/not.min.js +2 -2
  110. package/dist/not.mjs +2 -2
  111. package/dist/omit.es.js +2 -2
  112. package/dist/omit.es.min.js +2 -2
  113. package/dist/omit.js +2 -2
  114. package/dist/omit.min.js +2 -2
  115. package/dist/omit.mjs +2 -2
  116. package/dist/or.es.js +2 -2
  117. package/dist/or.es.min.js +2 -2
  118. package/dist/or.js +2 -2
  119. package/dist/or.min.js +2 -2
  120. package/dist/or.mjs +2 -2
  121. package/dist/pick.es.js +2 -2
  122. package/dist/pick.es.min.js +2 -2
  123. package/dist/pick.js +2 -2
  124. package/dist/pick.min.js +2 -2
  125. package/dist/pick.mjs +2 -2
  126. package/dist/pipe.es.js +6 -2
  127. package/dist/pipe.es.min.js +3 -3
  128. package/dist/pipe.js +6 -2
  129. package/dist/pipe.min.js +3 -3
  130. package/dist/pipe.mjs +6 -2
  131. package/dist/reduce.es.js +9 -9
  132. package/dist/reduce.es.min.js +2 -2
  133. package/dist/reduce.js +9 -9
  134. package/dist/reduce.min.js +2 -2
  135. package/dist/reduce.mjs +9 -9
  136. package/dist/rubico.es.js +49 -59
  137. package/dist/rubico.es.min.js +3 -3
  138. package/dist/rubico.global.js +49 -59
  139. package/dist/rubico.global.min.js +3 -3
  140. package/dist/rubico.js +49 -59
  141. package/dist/rubico.min.js +3 -3
  142. package/dist/rubico.mjs +49 -59
  143. package/dist/set.es.js +2 -2
  144. package/dist/set.es.min.js +2 -2
  145. package/dist/set.js +2 -2
  146. package/dist/set.min.js +2 -2
  147. package/dist/set.mjs +2 -2
  148. package/dist/some.es.js +2 -2
  149. package/dist/some.es.min.js +2 -2
  150. package/dist/some.js +2 -2
  151. package/dist/some.min.js +2 -2
  152. package/dist/some.mjs +2 -2
  153. package/dist/switchCase.es.js +2 -2
  154. package/dist/switchCase.es.min.js +2 -2
  155. package/dist/switchCase.js +2 -2
  156. package/dist/switchCase.min.js +2 -2
  157. package/dist/switchCase.mjs +2 -2
  158. package/dist/tap.es.js +2 -2
  159. package/dist/tap.es.min.js +2 -2
  160. package/dist/tap.js +2 -2
  161. package/dist/tap.min.js +2 -2
  162. package/dist/tap.mjs +2 -2
  163. package/dist/thunkify.es.js +2 -2
  164. package/dist/thunkify.es.min.js +2 -2
  165. package/dist/thunkify.js +2 -2
  166. package/dist/thunkify.min.js +2 -2
  167. package/dist/thunkify.mjs +2 -2
  168. package/dist/transform.es.js +2 -2
  169. package/dist/transform.es.min.js +2 -2
  170. package/dist/transform.js +2 -2
  171. package/dist/transform.min.js +2 -2
  172. package/dist/transform.mjs +2 -2
  173. package/dist/tryCatch.es.js +2 -2
  174. package/dist/tryCatch.es.min.js +2 -2
  175. package/dist/tryCatch.js +2 -2
  176. package/dist/tryCatch.min.js +2 -2
  177. package/dist/tryCatch.mjs +2 -2
  178. package/dist/x/append.es.js +2 -2
  179. package/dist/x/append.es.min.js +2 -2
  180. package/dist/x/append.js +2 -2
  181. package/dist/x/append.min.js +2 -2
  182. package/dist/x/append.mjs +2 -2
  183. package/dist/x/callProp.es.js +2 -2
  184. package/dist/x/callProp.es.min.js +2 -2
  185. package/dist/x/callProp.js +2 -2
  186. package/dist/x/callProp.min.js +2 -2
  187. package/dist/x/callProp.mjs +2 -2
  188. package/dist/x/defaultsDeep.es.js +2 -2
  189. package/dist/x/defaultsDeep.es.min.js +2 -2
  190. package/dist/x/defaultsDeep.js +2 -2
  191. package/dist/x/defaultsDeep.min.js +2 -2
  192. package/dist/x/defaultsDeep.mjs +2 -2
  193. package/dist/x/differenceWith.es.js +2 -2
  194. package/dist/x/differenceWith.es.min.js +2 -2
  195. package/dist/x/differenceWith.js +2 -2
  196. package/dist/x/differenceWith.min.js +2 -2
  197. package/dist/x/differenceWith.mjs +2 -2
  198. package/dist/x/filterOut.es.js +5 -3
  199. package/dist/x/filterOut.es.min.js +3 -3
  200. package/dist/x/filterOut.js +5 -3
  201. package/dist/x/filterOut.min.js +3 -3
  202. package/dist/x/filterOut.mjs +5 -3
  203. package/dist/x/find.es.js +2 -2
  204. package/dist/x/find.es.min.js +2 -2
  205. package/dist/x/find.js +2 -2
  206. package/dist/x/find.min.js +2 -2
  207. package/dist/x/find.mjs +2 -2
  208. package/dist/x/findIndex.es.js +2 -2
  209. package/dist/x/findIndex.es.min.js +2 -2
  210. package/dist/x/findIndex.js +2 -2
  211. package/dist/x/findIndex.min.js +2 -2
  212. package/dist/x/findIndex.mjs +2 -2
  213. package/dist/x/first.es.js +2 -2
  214. package/dist/x/first.es.min.js +2 -2
  215. package/dist/x/first.js +2 -2
  216. package/dist/x/first.min.js +2 -2
  217. package/dist/x/first.mjs +2 -2
  218. package/dist/x/flatten.es.js +2 -2
  219. package/dist/x/flatten.es.min.js +2 -2
  220. package/dist/x/flatten.js +2 -2
  221. package/dist/x/flatten.min.js +2 -2
  222. package/dist/x/flatten.mjs +2 -2
  223. package/dist/x/groupBy.es.js +9 -9
  224. package/dist/x/groupBy.es.min.js +2 -2
  225. package/dist/x/groupBy.js +9 -9
  226. package/dist/x/groupBy.min.js +2 -2
  227. package/dist/x/groupBy.mjs +9 -9
  228. package/dist/x/has.es.js +2 -2
  229. package/dist/x/has.es.min.js +2 -2
  230. package/dist/x/has.js +2 -2
  231. package/dist/x/has.min.js +2 -2
  232. package/dist/x/has.mjs +2 -2
  233. package/dist/x/identity.es.js +2 -2
  234. package/dist/x/identity.es.min.js +2 -2
  235. package/dist/x/identity.js +2 -2
  236. package/dist/x/identity.min.js +2 -2
  237. package/dist/x/identity.mjs +2 -2
  238. package/dist/x/includes.es.js +2 -2
  239. package/dist/x/includes.es.min.js +2 -2
  240. package/dist/x/includes.js +2 -2
  241. package/dist/x/includes.min.js +2 -2
  242. package/dist/x/includes.mjs +2 -2
  243. package/dist/x/isDeepEqual.es.js +2 -2
  244. package/dist/x/isDeepEqual.es.min.js +2 -2
  245. package/dist/x/isDeepEqual.js +2 -2
  246. package/dist/x/isDeepEqual.min.js +2 -2
  247. package/dist/x/isDeepEqual.mjs +2 -2
  248. package/dist/x/isEmpty.es.js +2 -2
  249. package/dist/x/isEmpty.es.min.js +2 -2
  250. package/dist/x/isEmpty.js +2 -2
  251. package/dist/x/isEmpty.min.js +2 -2
  252. package/dist/x/isEmpty.mjs +2 -2
  253. package/dist/x/isEqual.es.js +2 -2
  254. package/dist/x/isEqual.es.min.js +2 -2
  255. package/dist/x/isEqual.js +2 -2
  256. package/dist/x/isEqual.min.js +2 -2
  257. package/dist/x/isEqual.mjs +2 -2
  258. package/dist/x/isFunction.es.js +2 -2
  259. package/dist/x/isFunction.es.min.js +2 -2
  260. package/dist/x/isFunction.js +2 -2
  261. package/dist/x/isFunction.min.js +2 -2
  262. package/dist/x/isFunction.mjs +2 -2
  263. package/dist/x/isIn.es.js +2 -2
  264. package/dist/x/isIn.es.min.js +2 -2
  265. package/dist/x/isIn.js +2 -2
  266. package/dist/x/isIn.min.js +2 -2
  267. package/dist/x/isIn.mjs +2 -2
  268. package/dist/x/isObject.es.js +2 -2
  269. package/dist/x/isObject.es.min.js +2 -2
  270. package/dist/x/isObject.js +2 -2
  271. package/dist/x/isObject.min.js +2 -2
  272. package/dist/x/isObject.mjs +2 -2
  273. package/dist/x/isString.es.js +2 -2
  274. package/dist/x/isString.es.min.js +2 -2
  275. package/dist/x/isString.js +2 -2
  276. package/dist/x/isString.min.js +2 -2
  277. package/dist/x/isString.mjs +2 -2
  278. package/dist/x/keys.es.js +2 -2
  279. package/dist/x/keys.es.min.js +2 -2
  280. package/dist/x/keys.js +2 -2
  281. package/dist/x/keys.min.js +2 -2
  282. package/dist/x/keys.mjs +2 -2
  283. package/dist/x/last.es.js +2 -2
  284. package/dist/x/last.es.min.js +2 -2
  285. package/dist/x/last.js +2 -2
  286. package/dist/x/last.min.js +2 -2
  287. package/dist/x/last.mjs +2 -2
  288. package/dist/x/maxBy.es.js +2 -2
  289. package/dist/x/maxBy.es.min.js +2 -2
  290. package/dist/x/maxBy.js +2 -2
  291. package/dist/x/maxBy.min.js +2 -2
  292. package/dist/x/maxBy.mjs +2 -2
  293. package/dist/x/noop.es.js +2 -2
  294. package/dist/x/noop.es.min.js +2 -2
  295. package/dist/x/noop.js +2 -2
  296. package/dist/x/noop.min.js +2 -2
  297. package/dist/x/noop.mjs +2 -2
  298. package/dist/x/pluck.es.js +31 -31
  299. package/dist/x/pluck.es.min.js +3 -3
  300. package/dist/x/pluck.js +31 -31
  301. package/dist/x/pluck.min.js +3 -3
  302. package/dist/x/pluck.mjs +31 -31
  303. package/dist/x/prepend.es.js +2 -2
  304. package/dist/x/prepend.es.min.js +2 -2
  305. package/dist/x/prepend.js +2 -2
  306. package/dist/x/prepend.min.js +2 -2
  307. package/dist/x/prepend.mjs +2 -2
  308. package/dist/x/size.es.js +2 -2
  309. package/dist/x/size.es.min.js +2 -2
  310. package/dist/x/size.js +2 -2
  311. package/dist/x/size.min.js +2 -2
  312. package/dist/x/size.mjs +2 -2
  313. package/dist/x/trace.es.js +2 -2
  314. package/dist/x/trace.es.min.js +2 -2
  315. package/dist/x/trace.js +2 -2
  316. package/dist/x/trace.min.js +2 -2
  317. package/dist/x/trace.mjs +2 -2
  318. package/dist/x/unionWith.es.js +2 -2
  319. package/dist/x/unionWith.es.min.js +2 -2
  320. package/dist/x/unionWith.js +2 -2
  321. package/dist/x/unionWith.min.js +2 -2
  322. package/dist/x/unionWith.mjs +2 -2
  323. package/dist/x/uniq.es.js +2 -2
  324. package/dist/x/uniq.es.min.js +2 -2
  325. package/dist/x/uniq.js +2 -2
  326. package/dist/x/uniq.min.js +2 -2
  327. package/dist/x/uniq.mjs +2 -2
  328. package/dist/x/unless.es.js +2 -2
  329. package/dist/x/unless.es.min.js +2 -2
  330. package/dist/x/unless.js +2 -2
  331. package/dist/x/unless.min.js +2 -2
  332. package/dist/x/unless.mjs +2 -2
  333. package/dist/x/values.es.js +2 -2
  334. package/dist/x/values.es.min.js +2 -2
  335. package/dist/x/values.js +2 -2
  336. package/dist/x/values.min.js +2 -2
  337. package/dist/x/values.mjs +2 -2
  338. package/dist/x/when.es.js +2 -2
  339. package/dist/x/when.es.min.js +2 -2
  340. package/dist/x/when.js +2 -2
  341. package/dist/x/when.min.js +2 -2
  342. package/dist/x/when.mjs +2 -2
  343. package/eq.d.ts +6 -6
  344. package/eq.js +14 -6
  345. package/es.js +49 -59
  346. package/every.js +19 -5
  347. package/filter.js +87 -47
  348. package/flatMap.js +38 -32
  349. package/forEach.js +107 -13
  350. package/get.js +9 -0
  351. package/gt.js +9 -0
  352. package/gte.js +9 -0
  353. package/index.js +49 -59
  354. package/lte.js +9 -0
  355. package/map.js +198 -103
  356. package/not.js +7 -0
  357. package/omit.d.ts +2 -2
  358. package/omit.js +11 -2
  359. package/or.js +6 -0
  360. package/package.json +1 -3
  361. package/pick.js +9 -0
  362. package/pipe.js +30 -3
  363. package/reduce.js +132 -89
  364. package/set.js +9 -0
  365. package/some.js +17 -3
  366. package/switchCase.js +6 -0
  367. package/tap.js +14 -0
  368. package/thunkify.js +8 -0
  369. package/transform.js +112 -44
  370. package/tryCatch.js +5 -0
  371. package/x/append.js +3 -0
  372. package/x/callProp.js +5 -0
  373. package/x/defaultsDeep.d.ts +2 -2
  374. package/x/defaultsDeep.js +7 -2
  375. package/x/differenceWith.js +5 -0
  376. package/x/find.d.ts +2 -2
  377. package/x/find.js +2 -2
  378. package/x/groupBy.d.ts +2 -2
  379. package/x/groupBy.js +2 -2
  380. package/x/pluck.d.ts +2 -2
  381. package/x/pluck.js +2 -2
  382. package/x/unionWith.test.js +3 -3
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const first=t=>null==t?void 0:t[0];export default first;
package/dist/x/first.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/x/first.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isArray=Array.isArray,__=Symbol.for("placeholder"),arrayPush=function(t,e){return t.push(e),t},always=t=>function(){return t},curry2ResolveArg0=(t,e)=>function(r){return t(r,e)},curry2ResolveArg1=(t,e)=>function(r){return t(e,r)},curry2=function(t,e,r){return e==__?curry2ResolveArg0(t,r):curry2ResolveArg1(t,e)},getArg1=(t,e)=>e,identity=t=>t,isPromise=t=>null!=t&&"function"==typeof t.then,promiseAll=Promise.all.bind(Promise),funcConcatSync=(t,e)=>function(...r){return e(t(...r))},asyncIteratorForEach=async function(t,e){const r=[];for await(const n of t){const t=e(n);isPromise(t)&&r.push(t)}return 0==r.length?t:promiseAll(r).then(always(t))},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,arrayFlatten=function(t){const e=t.length,r=[],n=[];let o=-1;for(;++o<e;){const e=t[o];if(isArray(e)){const t=e.length;let r=-1;for(;++r<t;)n.push(e[r])}else if(null==e)n.push(e);else if("function"==typeof e.then)r.push(e.then(curry2(arrayPush,n,__)));else if("function"==typeof e[symbolIterator])for(const t of e)n.push(t);else if("function"==typeof e[symbolAsyncIterator])r.push(asyncIteratorForEach(e[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof e.chain){const t=e.chain(identity);isPromise(t)?r.push(t.then(curry2(arrayPush,n,__))):n.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(identity);isPromise(t)?r.push(t.then(curry2(arrayPush,n,__))):n.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(t)&&r.push(t)}else if(e.constructor==Object)for(const t in e)n.push(e[t]);else n.push(e)}return 0==r.length?n:promiseAll(r).then(always(n))},curry3ResolveArg0=(t,e,r)=>function(n){return t(n,e,r)},curry3ResolveArg1=(t,e,r)=>function(n){return t(e,n,r)},curry3ResolveArg2=(t,e,r)=>function(n){return t(e,r,n)},curry3=function(t,e,r,n){return e==__?curry3ResolveArg0(t,r,n):r==__?curry3ResolveArg1(t,e,n):curry3ResolveArg2(t,e,r)},callPropUnary=(t,e,r)=>t[e](r),setFlatten=function(t){t.size;const e=[],r=new Set,n=(t,e)=>r.add(e),o=curry3(callPropUnary,r,"add",__);for(const c of t)if(isArray(c)){const t=c.length;let e=-1;for(;++e<t;)r.add(c[e])}else if(null==c)r.add(c);else if("function"==typeof c[symbolIterator])for(const t of c)r.add(t);else if("function"==typeof c[symbolAsyncIterator])e.push(asyncIteratorForEach(c[symbolAsyncIterator](),o));else if("function"==typeof c.chain){const t=c.chain(identity);isPromise(t)?e.push(t.then(o)):r.add(t)}else if("function"==typeof c.flatMap){const t=c.flatMap(identity);isPromise(t)?e.push(t.then(o)):r.add(t)}else if("function"==typeof c.reduce){const t=c.reduce(n,null);isPromise(t)&&e.push(t)}else if(c.constructor==Object)for(const t in c)r.add(c[t]);else r.add(c);return 0==e.length?r:promiseAll(e).then((()=>r))},objectAssign=Object.assign,objectFlatten=function(t){const e=[],r={},n=curry2(objectAssign,r,__),o=funcConcatSync(getArg1,n);for(const c in t){const s=t[c];if(null!=s)if("function"==typeof s[symbolIterator])for(const t of s)objectAssign(r,t);else if("function"==typeof s[symbolAsyncIterator])e.push(asyncIteratorForEach(s[symbolAsyncIterator](),n));else if("function"==typeof s.chain){const t=s.chain(identity);isPromise(t)?e.push(t.then(n)):objectAssign(r,t)}else if("function"==typeof s.flatMap){const t=s.flatMap(identity);isPromise(t)?e.push(t.then(n)):n(t)}else if("function"==typeof s.reduce){const t=s.reduce(o,null);isPromise(t)&&e.push(t)}else objectAssign(r,s)}return 0==e.length?r:promiseAll(e).then((()=>r))},objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=t=>nativeObjectToString.call(t),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=t=>objectToString(t)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=t=>objectToString(t)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(t,e,r){let n=t.next();if(n.done)return r;for(;!n.done;)r=e(r,n.value),isPromise(r)&&(r=await r),n=t.next();return r},iteratorReduce=function(t,e,r){let n=t.next();if(n.done)return r;for(void 0===r&&(r=n.value,n=t.next());!n.done;){if(r=e(r,n.value),isPromise(r))return r.then(curry3(iteratorReduceAsync,t,e,__));n=t.next()}return r},asyncIteratorReduce=async function(t,e,r){let n=await t.next();if(n.done)return r;for(void 0===r&&(r=n.value,n=await t.next());!n.done;)r=await e(r,n.value),n=await t.next();return r},curryArgs3ResolveArgs0=(t,e,r)=>function(...n){return t(n,e,r)},curryArgs3ResolveArgs1=(t,e,r)=>function(...n){return t(e,n,r)},curryArgs3ResolveArgs2=(t,e,r)=>function(...n){return t(e,r,n)},curryArgs3=function(t,e,r,n){return e==__?curryArgs3ResolveArgs0(t,r,n):r==__?curryArgs3ResolveArgs1(t,e,n):curryArgs3ResolveArgs2(t,e,r)},curry4ResolveArg0=(t,e,r,n)=>function(o){return t(o,e,r,n)},curry4ResolveArg1=(t,e,r,n)=>function(o){return t(e,o,r,n)},curry4ResolveArg2=(t,e,r,n)=>function(o){return t(e,r,o,n)},curry4ResolveArg3=(t,e,r,n)=>function(o){return t(e,r,n,o)},curry4=function(t,e,r,n,o){return e==__?curry4ResolveArg0(t,r,n,o):r==__?curry4ResolveArg1(t,e,n,o):n==__?curry4ResolveArg2(t,e,r,o):curry4ResolveArg3(t,e,r,n)},arrayReduceAsync=async function(t,e,r,n){const o=t.length;for(;++n<o;)r=e(r,t[n],n,t),isPromise(r)&&(r=await r);return r},arrayReduce=function(t,e,r){const n=t.length;let o=-1;for(void 0===r&&(r=t[++o]);++o<n;)if(r=e(r,t[o],o,t),isPromise(r))return r.then(curry4(arrayReduceAsync,t,e,__,o));return r},curry5ResolveArg0=(t,e,r,n,o)=>function(c){return t(c,e,r,n,o)},curry5ResolveArg1=(t,e,r,n,o)=>function(c){return t(e,c,r,n,o)},curry5ResolveArg2=(t,e,r,n,o)=>function(c){return t(e,r,c,n,o)},curry5ResolveArg3=(t,e,r,n,o)=>function(c){return t(e,r,n,c,o)},curry5ResolveArg4=(t,e,r,n,o)=>function(c){return t(e,r,n,o,c)},curry5=function(t,e,r,n,o,c){return e==__?curry5ResolveArg0(t,r,n,o,c):r==__?curry5ResolveArg1(t,e,n,o,c):n==__?curry5ResolveArg2(t,e,r,o,c):o==__?curry5ResolveArg3(t,e,r,n,c):curry5ResolveArg4(t,e,r,n,o)},objectKeys=Object.keys,objectReduceAsync=async function(t,e,r,n,o){const c=n.length;for(;++o<c;){const c=n[o];r=e(r,t[c],c,t),isPromise(r)&&(r=await r)}return r},objectReduce=function(t,e,r){const n=objectKeys(t),o=n.length;let c=-1;for(void 0===r&&(r=t[n[++c]]);++c<o;){const o=n[c];if(r=e(r,t[o],o,t),isPromise(r))return r.then(curry5(objectReduceAsync,t,e,__,n,c))}return r},mapReduceAsync=async function(t,e,r,n){for(const[o,c]of n)r=e(r,c,o,t),isPromise(r)&&(r=await r);return r},mapReduce=function(t,e,r){const n=t.entries();if(void 0===r){const t=n.next();if(t.done)return r;r=t.value[1]}for(const[o,c]of n)if(r=e(r,c,o,t),isPromise(r))return r.then(curry4(mapReduceAsync,t,e,__,n));return r},reducerConcat=(t,e)=>function(r,n){const o=t(r,n);return isPromise(o)?o.then(curry2(e,__,n)):e(o,n)},genericReduce=function(t,e,r){return isArray(t)?arrayReduce(t,e,r):null==t?void 0===r?curry2(e,t,__):e(r,t):t.constructor==Map?mapReduce(t,e,r):"function"==typeof t[symbolIterator]?iteratorReduce(t[symbolIterator](),e,r):"function"==typeof t[symbolAsyncIterator]?asyncIteratorReduce(t[symbolAsyncIterator](),e,r):"function"==typeof t.reduce?t.reduce(e,r):"function"==typeof t.chain?t.chain(curry2(e,r,__)):"function"==typeof t.flatMap?t.flatMap(curry2(e,r,__)):t.constructor==Object?objectReduce(t,e,r):void 0===r?curry2(e,t,__):e(r,t)},FlatMappingIterator=function(t,e){let r=[],n=0;return{[symbolIterator](){return this},next(){if(n<r.length){const t=r[n];return n+=1,{value:t,done:!1}}const o=t.next();if(o.done)return o;const c=genericReduce(e(o.value),arrayPush,[]);return c.length>1&&(r=c,n=1),{value:c[0],done:!1}}}},promiseRace=Promise.race.bind(Promise),sleep=t=>new Promise((e=>{setTimeout(e,t)})),FlatMappingAsyncIterator=function(t,e){const r=[],n=new Set;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||r.length>0||n.size>0;){if(!this.isAsyncIteratorDone){const{value:o,done:c}=await t.next();if(c)this.isAsyncIteratorDone=c;else{const t=e(o);if(isPromise(t)){const e=t.then(curry3(genericReduce,__,arrayPush,r)).then((()=>n.delete(e)));n.add(e)}else{const e=genericReduce(t,arrayPush,r);if(isPromise(e)){const t=e.then((()=>n.delete(t)));n.add(t)}}}}if(r.length>0)return{value:r.shift(),done:!1};n.size>0&&await promiseRace([sleep(1e3),...n])}return{value:void 0,done:!0}}}},arrayMap=function(t,e){const r=t.length,n=Array(r);let o=-1,c=!1;for(;++o<r;){const r=e(t[o],o,t);isPromise(r)&&(c=!0),n[o]=r}return c?promiseAll(n):n},arrayFlatMap=function(t,e){const r=arrayMap(t,e);return isPromise(r)?r.then(arrayFlatten):arrayFlatten(r)},promiseObjectAllExecutor=t=>function(e){const r={};let n=0;for(const o in t){const c=t[o];isPromise(c)?(n+=1,c.then((t=>function(o){r[t]=o,n-=1,0==n&&e(r)})(o))):r[o]=c}0==n&&e(r)},promiseObjectAll=t=>new Promise(promiseObjectAllExecutor(t)),objectMap=function(t,e){const r={};let n=!1;for(const o in t){const c=e(t[o],o,t);isPromise(c)&&(n=!0),r[o]=c}return n?promiseObjectAll(r):r},objectFlatMap=function(t,e){const r=objectMap(t,e);return isPromise(r)?r.then(objectFlatten):objectFlatten(r)},setMap=function(t,e){const r=new Set,n=[];for(const o of t){const c=e(o,o,t);isPromise(c)?n.push(c.then(curry3(callPropUnary,r,"add",__))):r.add(c)}return 0==n.length?r:promiseAll(n).then(always(r))},setFlatMap=function(t,e){const r=setMap(t,e);return isPromise(r)?r.then(setFlatten):setFlatten(r)},funcConcat=(t,e)=>function(...r){const n=t(...r);return isPromise(n)?n.then(e):e(n)},arrayJoin=(t,e)=>t.join(e),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(t,e){const r=arrayMap(t,e);return isPromise(r)?r.then(arrayFlattenToString):arrayFlattenToString(r)},_flatMap=function(t,e){if(isArray(t))return arrayFlatMap(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return symbolIterator in t?FlatMappingIterator(t,e):FlatMappingAsyncIterator(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const r=t.constructor;return r==Object?objectFlatMap(t,e):r==Set?setFlatMap(t,e):"string"==typeof t||r==String?stringFlatMap(t,e):e(t)},flatMap=(t,e)=>"function"==typeof t?curry2(_flatMap,__,t):isPromise(t)?t.then(curry2(_flatMap,__,e)):_flatMap(t,e),flatten=function(t){return isArray(t)?arrayFlatten(t):null==t?t:t.constructor==Set?setFlatten(t):t.constructor==Object?objectFlatten(t):flatMap(t,identity)};export default flatten;
package/dist/x/flatten.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  // () => Map<>
@@ -398,17 +398,17 @@ const genericReduce = function (collection, reducer, result) {
398
398
  : reducer(result, collection)
399
399
  }
400
400
 
401
- // _reduce(collection any, reducer function, initialValue function|any) -> Promise
402
- const _reduce = function (collection, reducer, initialValue) {
403
- if (typeof initialValue == 'function') {
404
- const actualInitialValue = initialValue(collection)
401
+ // _reduce(collection any, reducer function, initial function|any) -> Promise
402
+ const _reduce = function (collection, reducer, initial) {
403
+ if (typeof initial == 'function') {
404
+ const actualInitialValue = initial(collection)
405
405
  return isPromise(actualInitialValue)
406
406
  ? actualInitialValue.then(curry3(genericReduce, collection, reducer, __))
407
407
  : genericReduce(collection, reducer, actualInitialValue)
408
408
  }
409
- return isPromise(initialValue)
410
- ? initialValue.then(curry3(genericReduce, collection, reducer, __))
411
- : genericReduce(collection, reducer, initialValue)
409
+ return isPromise(initial)
410
+ ? initial.then(curry3(genericReduce, collection, reducer, __))
411
+ : genericReduce(collection, reducer, initial)
412
412
  }
413
413
 
414
414
  const reduce = function (...args) {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const EmptyMap=()=>new Map,isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,n)=>function(t){return r(t,e,n)},curry3ResolveArg1=(r,e,n)=>function(t){return r(e,t,n)},curry3ResolveArg2=(r,e,n)=>function(t){return r(e,n,t)},curry3=function(r,e,n,t){return e==__?curry3ResolveArg0(r,n,t):n==__?curry3ResolveArg1(r,e,t):curry3ResolveArg2(r,e,n)},isArray=Array.isArray,objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(r,e,n){let t=r.next();if(t.done)return n;for(;!t.done;)n=e(n,t.value),isPromise(n)&&(n=await n),t=r.next();return n},iteratorReduce=function(r,e,n){let t=r.next();if(t.done)return n;for(void 0===n&&(n=t.value,t=r.next());!t.done;){if(n=e(n,t.value),isPromise(n))return n.then(curry3(iteratorReduceAsync,r,e,__));t=r.next()}return n},asyncIteratorReduce=async function(r,e,n){let t=await r.next();if(t.done)return n;for(void 0===n&&(n=t.value,t=await r.next());!t.done;)n=await e(n,t.value),t=await r.next();return n},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,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)},curryArgs3ResolveArgs0=(r,e,n)=>function(...t){return r(t,e,n)},curryArgs3ResolveArgs1=(r,e,n)=>function(...t){return r(e,t,n)},curryArgs3ResolveArgs2=(r,e,n)=>function(...t){return r(e,n,t)},curryArgs3=function(r,e,n,t){return e==__?curryArgs3ResolveArgs0(r,n,t):n==__?curryArgs3ResolveArgs1(r,e,t):curryArgs3ResolveArgs2(r,e,n)},curry4ResolveArg0=(r,e,n,t)=>function(o){return r(o,e,n,t)},curry4ResolveArg1=(r,e,n,t)=>function(o){return r(e,o,n,t)},curry4ResolveArg2=(r,e,n,t)=>function(o){return r(e,n,o,t)},curry4ResolveArg3=(r,e,n,t)=>function(o){return r(e,n,t,o)},curry4=function(r,e,n,t,o){return e==__?curry4ResolveArg0(r,n,t,o):n==__?curry4ResolveArg1(r,e,t,o):t==__?curry4ResolveArg2(r,e,n,o):curry4ResolveArg3(r,e,n,t)},arrayReduceAsync=async function(r,e,n,t){const o=r.length;for(;++t<o;)n=e(n,r[t],t,r),isPromise(n)&&(n=await n);return n},arrayReduce=function(r,e,n){const t=r.length;let o=-1;for(void 0===n&&(n=r[++o]);++o<t;)if(n=e(n,r[o],o,r),isPromise(n))return n.then(curry4(arrayReduceAsync,r,e,__,o));return n},curry5ResolveArg0=(r,e,n,t,o)=>function(c){return r(c,e,n,t,o)},curry5ResolveArg1=(r,e,n,t,o)=>function(c){return r(e,c,n,t,o)},curry5ResolveArg2=(r,e,n,t,o)=>function(c){return r(e,n,c,t,o)},curry5ResolveArg3=(r,e,n,t,o)=>function(c){return r(e,n,t,c,o)},curry5ResolveArg4=(r,e,n,t,o)=>function(c){return r(e,n,t,o,c)},curry5=function(r,e,n,t,o,c){return e==__?curry5ResolveArg0(r,n,t,o,c):n==__?curry5ResolveArg1(r,e,t,o,c):t==__?curry5ResolveArg2(r,e,n,o,c):o==__?curry5ResolveArg3(r,e,n,t,c):curry5ResolveArg4(r,e,n,t,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,n,t,o){const c=t.length;for(;++o<c;){const c=t[o];n=e(n,r[c],c,r),isPromise(n)&&(n=await n)}return n},objectReduce=function(r,e,n){const t=objectKeys(r),o=t.length;let c=-1;for(void 0===n&&(n=r[t[++c]]);++c<o;){const o=t[c];if(n=e(n,r[o],o,r),isPromise(n))return n.then(curry5(objectReduceAsync,r,e,__,t,c))}return n},mapReduceAsync=async function(r,e,n,t){for(const[o,c]of t)n=e(n,c,o,r),isPromise(n)&&(n=await n);return n},mapReduce=function(r,e,n){const t=r.entries();if(void 0===n){const r=t.next();if(r.done)return n;n=r.value[1]}for(const[o,c]of t)if(n=e(n,c,o,r),isPromise(n))return n.then(curry4(mapReduceAsync,r,e,__,t));return n},reducerConcat=(r,e)=>function(n,t){const o=r(n,t);return isPromise(o)?o.then(curry2(e,__,t)):e(o,t)},genericReduce=function(r,e,n){return isArray(r)?arrayReduce(r,e,n):null==r?void 0===n?curry2(e,r,__):e(n,r):r.constructor==Map?mapReduce(r,e,n):"function"==typeof r[symbolIterator]?iteratorReduce(r[symbolIterator](),e,n):"function"==typeof r[symbolAsyncIterator]?asyncIteratorReduce(r[symbolAsyncIterator](),e,n):"function"==typeof r.reduce?r.reduce(e,n):"function"==typeof r.chain?r.chain(curry2(e,n,__)):"function"==typeof r.flatMap?r.flatMap(curry2(e,n,__)):r.constructor==Object?objectReduce(r,e,n):void 0===n?curry2(e,r,__):e(n,r)},_reduce=function(r,e,n){if("function"==typeof n){const t=n(r);return isPromise(t)?t.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,t)}return isPromise(n)?n.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,n)},reduce=function(...r){return"function"==typeof r[0]?curry3(_reduce,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_reduce,__,r[1],r[2])):_reduce(r[0],r[1],r[2])},group=function(r,e,n){const t=r.get(e);return null==t?r.set(e,[n]):t.push(n),r},groupByProperty=r=>function(e,n){return group(e,n[r],n)},groupByResolver=r=>function(e,n){const t=r(n);return isPromise(t)?t.then(curry3(group,e,__,n)):group(e,t,n)},groupBy=r=>reduce("function"==typeof r?groupByResolver(r):groupByProperty(r),EmptyMap);export default groupBy;
package/dist/x/groupBy.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -404,17 +404,17 @@ const genericReduce = function (collection, reducer, result) {
404
404
  : reducer(result, collection)
405
405
  }
406
406
 
407
- // _reduce(collection any, reducer function, initialValue function|any) -> Promise
408
- const _reduce = function (collection, reducer, initialValue) {
409
- if (typeof initialValue == 'function') {
410
- const actualInitialValue = initialValue(collection)
407
+ // _reduce(collection any, reducer function, initial function|any) -> Promise
408
+ const _reduce = function (collection, reducer, initial) {
409
+ if (typeof initial == 'function') {
410
+ const actualInitialValue = initial(collection)
411
411
  return isPromise(actualInitialValue)
412
412
  ? actualInitialValue.then(curry3(genericReduce, collection, reducer, __))
413
413
  : genericReduce(collection, reducer, actualInitialValue)
414
414
  }
415
- return isPromise(initialValue)
416
- ? initialValue.then(curry3(genericReduce, collection, reducer, __))
417
- : genericReduce(collection, reducer, initialValue)
415
+ return isPromise(initial)
416
+ ? initial.then(curry3(genericReduce, collection, reducer, __))
417
+ : genericReduce(collection, reducer, initial)
418
418
  }
419
419
 
420
420
  const reduce = function (...args) {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  // () => Map<>
@@ -398,17 +398,17 @@ const genericReduce = function (collection, reducer, result) {
398
398
  : reducer(result, collection)
399
399
  }
400
400
 
401
- // _reduce(collection any, reducer function, initialValue function|any) -> Promise
402
- const _reduce = function (collection, reducer, initialValue) {
403
- if (typeof initialValue == 'function') {
404
- const actualInitialValue = initialValue(collection)
401
+ // _reduce(collection any, reducer function, initial function|any) -> Promise
402
+ const _reduce = function (collection, reducer, initial) {
403
+ if (typeof initial == 'function') {
404
+ const actualInitialValue = initial(collection)
405
405
  return isPromise(actualInitialValue)
406
406
  ? actualInitialValue.then(curry3(genericReduce, collection, reducer, __))
407
407
  : genericReduce(collection, reducer, actualInitialValue)
408
408
  }
409
- return isPromise(initialValue)
410
- ? initialValue.then(curry3(genericReduce, collection, reducer, __))
411
- : genericReduce(collection, reducer, initialValue)
409
+ return isPromise(initial)
410
+ ? initial.then(curry3(genericReduce, collection, reducer, __))
411
+ : genericReduce(collection, reducer, initial)
412
412
  }
413
413
 
414
414
  const reduce = function (...args) {
package/dist/x/has.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  // (object Object, key string) -> boolean
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const objectHas=function(t,n){return null!=t[n]},has=t=>function(n){return null!=n&&("function"==typeof n.has?n.has(t):n.constructor==Object&&objectHas(n,t))};export default has;
package/dist/x/has.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/x/has.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/x/has.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  // (object Object, key string) -> boolean
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const identity=t=>t;export default identity;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isArray=Array.isArray,sameValueZero=function(n,e){return n===e||n!=n&&e!=e},objectIncludes=function(n,e){for(const r in n)if(sameValueZero(e,n[r]))return!0;return!1},includes=n=>function(e){return null!=e&&("function"==typeof e.includes?e.includes(n):e.constructor==Object&&objectIncludes(e,n))};export default includes;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const __ = Symbol.for('placeholder')
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const __=Symbol.for("placeholder"),isArray=Array.isArray,isPromise=e=>null!=e&&"function"==typeof e.then,promiseAll=Promise.all.bind(Promise),spread2=e=>function([r,t]){return e(r,t)},curry2ResolveArg0=(e,r)=>function(t){return e(t,r)},curry2ResolveArg1=(e,r)=>function(t){return e(r,t)},curry2=function(e,r,t){return r==__?curry2ResolveArg0(e,t):curry2ResolveArg1(e,r)},objectKeysLength=e=>{let r=0;for(const t in e)r+=1;return r},symbolIterator=Symbol.iterator,sameValueZero=function(e,r){return e===r||e!=e&&r!=r},areIteratorsDeepEqual=function(e,r){let t=e.next(),n=r.next();if(t.done!=n.done)return!1;for(;!t.done;){if(!isDeepEqual(t.value,n.value))return!1;t=e.next(),n=r.next()}return n.done},areObjectsDeepEqual=function(e,r){if(objectKeysLength(e)!=objectKeysLength(r))return!1;for(const t in e)if(!isDeepEqual(e[t],r[t]))return!1;return!0},areArraysDeepEqual=function(e,r){const t=e.length;if(r.length!=t)return!1;let n=-1;for(;++n<t;)if(!isDeepEqual(e[n],r[n]))return!1;return!0},areValuesDeepEqual=function(e,r){const t=isArray(e),n=isArray(r);if(t||n)return t&&n&&areArraysDeepEqual(e,r);if(null==e||null==r)return sameValueZero(e,r);const u="string"==typeof e||e.constructor==String,o="string"==typeof r||r.constructor==String;if(u||o)return sameValueZero(e,r);const a="function"==typeof e[symbolIterator],s="function"==typeof r[symbolIterator];if(a||s)return a&&s&&areIteratorsDeepEqual(e[symbolIterator](),r[symbolIterator]());const l=e.constructor==Object,i=r.constructor==Object;return l||i?l&&i&&areObjectsDeepEqual(e,r):sameValueZero(e,r)},isDeepEqual=function(e,r){const t="function"==typeof e,n="function"==typeof r;return t&&n?function(t){const n=e(t),u=r(t),o=isPromise(n),a=isPromise(u);return o&&a?promiseAll([n,u]).then(spread2(areValuesDeepEqual)):o?n.then(curry2(areValuesDeepEqual,__,u)):a?u.then(curry2(areValuesDeepEqual,n,__)):areValuesDeepEqual(n,u)}:t?function(t){const n=e(t);return isPromise(n)?n.then(curry2(areValuesDeepEqual,__,r)):areValuesDeepEqual(n,r)}:n?function(t){const n=r(t);return isPromise(n)?n.then(curry2(areValuesDeepEqual,e,__)):areValuesDeepEqual(e,n)}:areValuesDeepEqual(e,r)};export default isDeepEqual;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const __ = Symbol.for('placeholder')
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const objectKeysLength=t=>{let e=0;for(const n in t)e+=1;return e},isEmpty=t=>"string"==typeof t?0==t.length:null==t||("number"==typeof t.length?0==t.length:"number"==typeof t.size?0==t.size:t.constructor==Object&&0==objectKeysLength(t));export default isEmpty;
package/dist/x/isEmpty.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isEqual = (a, b) => a === b
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isEqual=(a,l)=>a===l;export default isEqual;
package/dist/x/isEqual.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isEqual = (a, b) => a === b
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isFunction=n=>"function"==typeof n;export default isFunction;