rubico 2.7.6 → 2.7.8

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 (377) hide show
  1. package/README.md +12 -16
  2. package/dist/Transducer.es.js +2 -2
  3. package/dist/Transducer.es.min.js +2 -2
  4. package/dist/Transducer.js +2 -2
  5. package/dist/Transducer.min.js +2 -2
  6. package/dist/Transducer.mjs +2 -2
  7. package/dist/__.es.js +2 -2
  8. package/dist/__.es.min.js +2 -2
  9. package/dist/__.js +2 -2
  10. package/dist/__.min.js +2 -2
  11. package/dist/__.mjs +2 -2
  12. package/dist/all.es.js +2 -2
  13. package/dist/all.es.min.js +2 -2
  14. package/dist/all.js +2 -2
  15. package/dist/all.min.js +2 -2
  16. package/dist/all.mjs +2 -2
  17. package/dist/always.es.js +2 -2
  18. package/dist/always.es.min.js +2 -2
  19. package/dist/always.js +2 -2
  20. package/dist/always.min.js +2 -2
  21. package/dist/always.mjs +2 -2
  22. package/dist/and.es.js +2 -2
  23. package/dist/and.es.min.js +2 -2
  24. package/dist/and.js +2 -2
  25. package/dist/and.min.js +2 -2
  26. package/dist/and.mjs +2 -2
  27. package/dist/assign.es.js +2 -2
  28. package/dist/assign.es.min.js +2 -2
  29. package/dist/assign.js +2 -2
  30. package/dist/assign.min.js +2 -2
  31. package/dist/assign.mjs +2 -2
  32. package/dist/compose.es.js +2 -2
  33. package/dist/compose.es.min.js +2 -2
  34. package/dist/compose.js +2 -2
  35. package/dist/compose.min.js +2 -2
  36. package/dist/compose.mjs +2 -2
  37. package/dist/curry.es.js +2 -2
  38. package/dist/curry.es.min.js +2 -2
  39. package/dist/curry.js +2 -2
  40. package/dist/curry.min.js +2 -2
  41. package/dist/curry.mjs +2 -2
  42. package/dist/eq.es.js +2 -2
  43. package/dist/eq.es.min.js +2 -2
  44. package/dist/eq.js +2 -2
  45. package/dist/eq.min.js +2 -2
  46. package/dist/eq.mjs +2 -2
  47. package/dist/every.es.js +2 -2
  48. package/dist/every.es.min.js +2 -2
  49. package/dist/every.js +2 -2
  50. package/dist/every.min.js +2 -2
  51. package/dist/every.mjs +2 -2
  52. package/dist/filter.es.js +2 -2
  53. package/dist/filter.es.min.js +2 -2
  54. package/dist/filter.js +2 -2
  55. package/dist/filter.min.js +2 -2
  56. package/dist/filter.mjs +2 -2
  57. package/dist/flatMap.es.js +2 -2
  58. package/dist/flatMap.es.min.js +2 -2
  59. package/dist/flatMap.js +2 -2
  60. package/dist/flatMap.min.js +2 -2
  61. package/dist/flatMap.mjs +2 -2
  62. package/dist/forEach.es.js +2 -2
  63. package/dist/forEach.es.min.js +2 -2
  64. package/dist/forEach.js +2 -2
  65. package/dist/forEach.min.js +2 -2
  66. package/dist/forEach.mjs +2 -2
  67. package/dist/get.es.js +2 -2
  68. package/dist/get.es.min.js +2 -2
  69. package/dist/get.js +2 -2
  70. package/dist/get.min.js +2 -2
  71. package/dist/get.mjs +2 -2
  72. package/dist/gt.es.js +2 -2
  73. package/dist/gt.es.min.js +2 -2
  74. package/dist/gt.js +2 -2
  75. package/dist/gt.min.js +2 -2
  76. package/dist/gt.mjs +2 -2
  77. package/dist/gte.es.js +2 -2
  78. package/dist/gte.es.min.js +2 -2
  79. package/dist/gte.js +2 -2
  80. package/dist/gte.min.js +2 -2
  81. package/dist/gte.mjs +2 -2
  82. package/dist/lt.es.js +2 -2
  83. package/dist/lt.es.min.js +2 -2
  84. package/dist/lt.js +2 -2
  85. package/dist/lt.min.js +2 -2
  86. package/dist/lt.mjs +2 -2
  87. package/dist/lte.es.js +2 -2
  88. package/dist/lte.es.min.js +2 -2
  89. package/dist/lte.js +2 -2
  90. package/dist/lte.min.js +2 -2
  91. package/dist/lte.mjs +2 -2
  92. package/dist/map.es.js +2 -2
  93. package/dist/map.es.min.js +2 -2
  94. package/dist/map.js +2 -2
  95. package/dist/map.min.js +2 -2
  96. package/dist/map.mjs +2 -2
  97. package/dist/not.es.js +2 -2
  98. package/dist/not.es.min.js +2 -2
  99. package/dist/not.js +2 -2
  100. package/dist/not.min.js +2 -2
  101. package/dist/not.mjs +2 -2
  102. package/dist/omit.es.js +2 -2
  103. package/dist/omit.es.min.js +2 -2
  104. package/dist/omit.js +2 -2
  105. package/dist/omit.min.js +2 -2
  106. package/dist/omit.mjs +2 -2
  107. package/dist/or.es.js +2 -2
  108. package/dist/or.es.min.js +2 -2
  109. package/dist/or.js +2 -2
  110. package/dist/or.min.js +2 -2
  111. package/dist/or.mjs +2 -2
  112. package/dist/pick.es.js +2 -2
  113. package/dist/pick.es.min.js +2 -2
  114. package/dist/pick.js +2 -2
  115. package/dist/pick.min.js +2 -2
  116. package/dist/pick.mjs +2 -2
  117. package/dist/pipe.es.js +2 -2
  118. package/dist/pipe.es.min.js +2 -2
  119. package/dist/pipe.js +2 -2
  120. package/dist/pipe.min.js +2 -2
  121. package/dist/pipe.mjs +2 -2
  122. package/dist/reduce.es.js +2 -2
  123. package/dist/reduce.es.min.js +2 -2
  124. package/dist/reduce.js +2 -2
  125. package/dist/reduce.min.js +2 -2
  126. package/dist/reduce.mjs +2 -2
  127. package/dist/rubico.es.js +2 -2
  128. package/dist/rubico.es.min.js +2 -2
  129. package/dist/rubico.global.js +2 -2
  130. package/dist/rubico.global.min.js +2 -2
  131. package/dist/rubico.js +2 -2
  132. package/dist/rubico.min.js +2 -2
  133. package/dist/rubico.mjs +2 -2
  134. package/dist/set.es.js +2 -2
  135. package/dist/set.es.min.js +2 -2
  136. package/dist/set.js +2 -2
  137. package/dist/set.min.js +2 -2
  138. package/dist/set.mjs +2 -2
  139. package/dist/some.es.js +2 -2
  140. package/dist/some.es.min.js +2 -2
  141. package/dist/some.js +2 -2
  142. package/dist/some.min.js +2 -2
  143. package/dist/some.mjs +2 -2
  144. package/dist/switchCase.es.js +2 -2
  145. package/dist/switchCase.es.min.js +2 -2
  146. package/dist/switchCase.js +2 -2
  147. package/dist/switchCase.min.js +2 -2
  148. package/dist/switchCase.mjs +2 -2
  149. package/dist/tap.es.js +2 -2
  150. package/dist/tap.es.min.js +2 -2
  151. package/dist/tap.js +2 -2
  152. package/dist/tap.min.js +2 -2
  153. package/dist/tap.mjs +2 -2
  154. package/dist/thunkify.es.js +2 -2
  155. package/dist/thunkify.es.min.js +2 -2
  156. package/dist/thunkify.js +2 -2
  157. package/dist/thunkify.min.js +2 -2
  158. package/dist/thunkify.mjs +2 -2
  159. package/dist/transform.es.js +2 -2
  160. package/dist/transform.es.min.js +2 -2
  161. package/dist/transform.js +2 -2
  162. package/dist/transform.min.js +2 -2
  163. package/dist/transform.mjs +2 -2
  164. package/dist/tryCatch.es.js +2 -2
  165. package/dist/tryCatch.es.min.js +2 -2
  166. package/dist/tryCatch.js +2 -2
  167. package/dist/tryCatch.min.js +2 -2
  168. package/dist/tryCatch.mjs +2 -2
  169. package/dist/x/append.es.js +2 -2
  170. package/dist/x/append.es.min.js +2 -2
  171. package/dist/x/append.js +2 -2
  172. package/dist/x/append.min.js +2 -2
  173. package/dist/x/append.mjs +2 -2
  174. package/dist/x/callProp.es.js +2 -2
  175. package/dist/x/callProp.es.min.js +2 -2
  176. package/dist/x/callProp.js +2 -2
  177. package/dist/x/callProp.min.js +2 -2
  178. package/dist/x/callProp.mjs +2 -2
  179. package/dist/x/defaultsDeep.es.js +2 -2
  180. package/dist/x/defaultsDeep.es.min.js +2 -2
  181. package/dist/x/defaultsDeep.js +2 -2
  182. package/dist/x/defaultsDeep.min.js +2 -2
  183. package/dist/x/defaultsDeep.mjs +2 -2
  184. package/dist/x/differenceWith.es.js +2 -2
  185. package/dist/x/differenceWith.es.min.js +2 -2
  186. package/dist/x/differenceWith.js +2 -2
  187. package/dist/x/differenceWith.min.js +2 -2
  188. package/dist/x/differenceWith.mjs +2 -2
  189. package/dist/x/filterOut.es.js +2 -2
  190. package/dist/x/filterOut.es.min.js +2 -2
  191. package/dist/x/filterOut.js +2 -2
  192. package/dist/x/filterOut.min.js +2 -2
  193. package/dist/x/filterOut.mjs +2 -2
  194. package/dist/x/find.es.js +2 -2
  195. package/dist/x/find.es.min.js +2 -2
  196. package/dist/x/find.js +2 -2
  197. package/dist/x/find.min.js +2 -2
  198. package/dist/x/find.mjs +2 -2
  199. package/dist/x/findIndex.es.js +2 -2
  200. package/dist/x/findIndex.es.min.js +2 -2
  201. package/dist/x/findIndex.js +2 -2
  202. package/dist/x/findIndex.min.js +2 -2
  203. package/dist/x/findIndex.mjs +2 -2
  204. package/dist/x/first.es.js +2 -2
  205. package/dist/x/first.es.min.js +2 -2
  206. package/dist/x/first.js +2 -2
  207. package/dist/x/first.min.js +2 -2
  208. package/dist/x/first.mjs +2 -2
  209. package/dist/x/flatten.es.js +2 -2
  210. package/dist/x/flatten.es.min.js +2 -2
  211. package/dist/x/flatten.js +2 -2
  212. package/dist/x/flatten.min.js +2 -2
  213. package/dist/x/flatten.mjs +2 -2
  214. package/dist/x/groupBy.es.js +2 -2
  215. package/dist/x/groupBy.es.min.js +2 -2
  216. package/dist/x/groupBy.js +2 -2
  217. package/dist/x/groupBy.min.js +2 -2
  218. package/dist/x/groupBy.mjs +2 -2
  219. package/dist/x/has.es.js +2 -2
  220. package/dist/x/has.es.min.js +2 -2
  221. package/dist/x/has.js +2 -2
  222. package/dist/x/has.min.js +2 -2
  223. package/dist/x/has.mjs +2 -2
  224. package/dist/x/identity.es.js +2 -2
  225. package/dist/x/identity.es.min.js +2 -2
  226. package/dist/x/identity.js +2 -2
  227. package/dist/x/identity.min.js +2 -2
  228. package/dist/x/identity.mjs +2 -2
  229. package/dist/x/includes.es.js +2 -2
  230. package/dist/x/includes.es.min.js +2 -2
  231. package/dist/x/includes.js +2 -2
  232. package/dist/x/includes.min.js +2 -2
  233. package/dist/x/includes.mjs +2 -2
  234. package/dist/x/isDeepEqual.es.js +2 -2
  235. package/dist/x/isDeepEqual.es.min.js +2 -2
  236. package/dist/x/isDeepEqual.js +2 -2
  237. package/dist/x/isDeepEqual.min.js +2 -2
  238. package/dist/x/isDeepEqual.mjs +2 -2
  239. package/dist/x/isEmpty.es.js +2 -2
  240. package/dist/x/isEmpty.es.min.js +2 -2
  241. package/dist/x/isEmpty.js +2 -2
  242. package/dist/x/isEmpty.min.js +2 -2
  243. package/dist/x/isEmpty.mjs +2 -2
  244. package/dist/x/isEqual.es.js +2 -2
  245. package/dist/x/isEqual.es.min.js +2 -2
  246. package/dist/x/isEqual.js +2 -2
  247. package/dist/x/isEqual.min.js +2 -2
  248. package/dist/x/isEqual.mjs +2 -2
  249. package/dist/x/isFunction.es.js +2 -2
  250. package/dist/x/isFunction.es.min.js +2 -2
  251. package/dist/x/isFunction.js +2 -2
  252. package/dist/x/isFunction.min.js +2 -2
  253. package/dist/x/isFunction.mjs +2 -2
  254. package/dist/x/isIn.es.js +2 -2
  255. package/dist/x/isIn.es.min.js +2 -2
  256. package/dist/x/isIn.js +2 -2
  257. package/dist/x/isIn.min.js +2 -2
  258. package/dist/x/isIn.mjs +2 -2
  259. package/dist/x/isObject.es.js +2 -2
  260. package/dist/x/isObject.es.min.js +2 -2
  261. package/dist/x/isObject.js +2 -2
  262. package/dist/x/isObject.min.js +2 -2
  263. package/dist/x/isObject.mjs +2 -2
  264. package/dist/x/isString.es.js +2 -2
  265. package/dist/x/isString.es.min.js +2 -2
  266. package/dist/x/isString.js +2 -2
  267. package/dist/x/isString.min.js +2 -2
  268. package/dist/x/isString.mjs +2 -2
  269. package/dist/x/keys.es.js +2 -2
  270. package/dist/x/keys.es.min.js +2 -2
  271. package/dist/x/keys.js +2 -2
  272. package/dist/x/keys.min.js +2 -2
  273. package/dist/x/keys.mjs +2 -2
  274. package/dist/x/last.es.js +2 -2
  275. package/dist/x/last.es.min.js +2 -2
  276. package/dist/x/last.js +2 -2
  277. package/dist/x/last.min.js +2 -2
  278. package/dist/x/last.mjs +2 -2
  279. package/dist/x/maxBy.es.js +2 -2
  280. package/dist/x/maxBy.es.min.js +2 -2
  281. package/dist/x/maxBy.js +2 -2
  282. package/dist/x/maxBy.min.js +2 -2
  283. package/dist/x/maxBy.mjs +2 -2
  284. package/dist/x/noop.es.js +2 -2
  285. package/dist/x/noop.es.min.js +2 -2
  286. package/dist/x/noop.js +2 -2
  287. package/dist/x/noop.min.js +2 -2
  288. package/dist/x/noop.mjs +2 -2
  289. package/dist/x/pluck.es.js +2 -2
  290. package/dist/x/pluck.es.min.js +2 -2
  291. package/dist/x/pluck.js +2 -2
  292. package/dist/x/pluck.min.js +2 -2
  293. package/dist/x/pluck.mjs +2 -2
  294. package/dist/x/prepend.es.js +2 -2
  295. package/dist/x/prepend.es.min.js +2 -2
  296. package/dist/x/prepend.js +2 -2
  297. package/dist/x/prepend.min.js +2 -2
  298. package/dist/x/prepend.mjs +2 -2
  299. package/dist/x/size.es.js +2 -2
  300. package/dist/x/size.es.min.js +2 -2
  301. package/dist/x/size.js +2 -2
  302. package/dist/x/size.min.js +2 -2
  303. package/dist/x/size.mjs +2 -2
  304. package/dist/x/trace.es.js +2 -2
  305. package/dist/x/trace.es.min.js +2 -2
  306. package/dist/x/trace.js +2 -2
  307. package/dist/x/trace.min.js +2 -2
  308. package/dist/x/trace.mjs +2 -2
  309. package/dist/x/unionWith.es.js +2 -2
  310. package/dist/x/unionWith.es.min.js +2 -2
  311. package/dist/x/unionWith.js +2 -2
  312. package/dist/x/unionWith.min.js +2 -2
  313. package/dist/x/unionWith.mjs +2 -2
  314. package/dist/x/uniq.es.js +2 -2
  315. package/dist/x/uniq.es.min.js +2 -2
  316. package/dist/x/uniq.js +2 -2
  317. package/dist/x/uniq.min.js +2 -2
  318. package/dist/x/uniq.mjs +2 -2
  319. package/dist/x/unless.es.js +2 -2
  320. package/dist/x/unless.es.min.js +2 -2
  321. package/dist/x/unless.js +2 -2
  322. package/dist/x/unless.min.js +2 -2
  323. package/dist/x/unless.mjs +2 -2
  324. package/dist/x/values.es.js +2 -2
  325. package/dist/x/values.es.min.js +2 -2
  326. package/dist/x/values.js +2 -2
  327. package/dist/x/values.min.js +2 -2
  328. package/dist/x/values.mjs +2 -2
  329. package/dist/x/when.es.js +2 -2
  330. package/dist/x/when.es.min.js +2 -2
  331. package/dist/x/when.js +2 -2
  332. package/dist/x/when.min.js +2 -2
  333. package/dist/x/when.mjs +2 -2
  334. package/es.js +2 -2
  335. package/flatMap.js +1 -1
  336. package/index.js +2 -2
  337. package/package.json +3 -10
  338. package/x/append.d.ts +0 -38
  339. package/x/callProp.d.ts +0 -20
  340. package/x/defaultsDeep.d.ts +0 -42
  341. package/x/differenceWith.d.ts +0 -25
  342. package/x/filterOut.d.ts +0 -39
  343. package/x/find.d.ts +0 -34
  344. package/x/findIndex.d.ts +0 -25
  345. package/x/first.d.ts +0 -23
  346. package/x/flatten.d.ts +0 -57
  347. package/x/groupBy.d.ts +0 -50
  348. package/x/has.d.ts +0 -25
  349. package/x/heapUsedInLoop.d.ts +0 -53
  350. package/x/identity.d.ts +0 -21
  351. package/x/includes.d.ts +0 -25
  352. package/x/index.d.ts +0 -34
  353. package/x/is.d.ts +0 -2
  354. package/x/isDeepEqual.d.ts +0 -42
  355. package/x/isEmpty.d.ts +0 -24
  356. package/x/isEqual.d.ts +0 -2
  357. package/x/isFunction.d.ts +0 -23
  358. package/x/isIn.d.ts +0 -61
  359. package/x/isObject.d.ts +0 -2
  360. package/x/isString.benchmarks.d.ts +0 -1
  361. package/x/isString.d.ts +0 -21
  362. package/x/keys.d.ts +0 -23
  363. package/x/last.d.ts +0 -22
  364. package/x/maxBy.d.ts +0 -41
  365. package/x/noop.d.ts +0 -21
  366. package/x/pluck.d.ts +0 -35
  367. package/x/prepend.d.ts +0 -38
  368. package/x/size.d.ts +0 -21
  369. package/x/test.d.ts +0 -1
  370. package/x/timeInLoop.d.ts +0 -21
  371. package/x/trace.d.ts +0 -30
  372. package/x/tracef.d.ts +0 -7
  373. package/x/unionWith.d.ts +0 -31
  374. package/x/uniq.d.ts +0 -24
  375. package/x/unless.d.ts +0 -28
  376. package/x/values.d.ts +0 -23
  377. package/x/when.d.ts +0 -28
package/dist/map.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/map.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/not.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1}for(const e in r){const n=r[e];if(isPromise(n))return!0}return!1},promiseAll=Promise.all.bind(Promise),__=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)},curryArgs2ResolveArgs0=(r,e,n)=>function(...n){return r(n,e)},curryArgs2ResolveArgs1=(r,e,n)=>function(...n){return r(e,n)},curryArgs2=function(r,e,n){return e==__?curryArgs2ResolveArgs0(r,n):curryArgs2ResolveArgs1(r,e)},negate=r=>!r,_not=function(r,e){const n=e(...r);return isPromise(n)?n.then(negate):!n},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?curryArgs2(_not,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):isPromise(e)?e.then(negate):!e};export default not;
package/dist/not.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/not.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/not.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/omit.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isPromise=e=>null!=e&&"function"==typeof e.then,isArray=Array.isArray,memoizeCappedUnary=function(e,r){const t=new Map,o=function(o){if(t.has(o))return t.get(o);const n=e(o);return t.set(o,n),t.size>r&&t.clear(),n};return o.cache=t,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(e){const r=e.length-1,t="["==e[0],o="]"==e[r];return t&&o?e.slice(1,r).split(pathDelimiters):t?e.slice(1).split(pathDelimiters):o?e.slice(0,r).split(pathDelimiters):e.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=e=>isArray(e)?e:"string"==typeof e?memoizedCappedParsePropertyPath(e):[e],getByPath=function(e,r){const t=propertyPathToArray(r),o=t.length;let n=-1,i=e;for(;++n<o;)if(i=i[t[n]],null==i)return;return i},deleteByPath=function(e,r){if(null==e)return;const t=propertyPathToArray(r),o=t.length-1;let n=-1,i=e;for(;++n<o;)if(i=i[t[n]],null==i)return;const c=t[n];null!=i&&c in i&&delete i[c]},objectCopyDeep=function(e){const r={};for(const t in e){const o=e[t];isArray(o)?r[t]=arrayCopyDeep(o):null!=o&&o.constructor==Object?r[t]=objectCopyDeep(o):r[t]=o}return r},arrayCopyDeep=function(e){const r=e.length,t=[];let o=-1;for(;++o<r;){const r=e[o];isArray(r)?t[o]=arrayCopyDeep(r):null!=r&&r.constructor==Object?t[o]=objectCopyDeep(r):t[o]=r}return t},copyDeep=function(e){return isArray(e)?arrayCopyDeep(e):null==e?e:e.constructor==Object?objectCopyDeep(e):e},__=Symbol.for("placeholder"),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)},_omit=function(e,r){const t=r.length,o=copyDeep(e);let n=-1;for(;++n<t;)deleteByPath(o,r[n]);return o},omit=function(e,r){return null==r?curry2(_omit,__,e):isPromise(e)?e.then(curry2(_omit,__,r)):_omit(e,r)};export default omit;
package/dist/omit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/omit.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/omit.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/or.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/or.es.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const promiseAll=Promise.all.bind(Promise),isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,areAnyValuesPromises=function(r){if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;){const n=r[e];if(isPromise(n))return!0}return!1}for(const n in r){const e=r[n];if(isPromise(e))return!0}return!1},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},curryArgs2ResolveArgs0=(r,n,e)=>function(...e){return r(e,n)},curryArgs2ResolveArgs1=(r,n,e)=>function(...e){return r(n,e)},curryArgs2=function(r,n,e){return n==__?curryArgs2ResolveArgs0(r,e):curryArgs2ResolveArgs1(r,n)},thunkConditional=(r,n,e)=>r?n():e(),areAllValuesNonfunctions=function(r){if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;)if("function"==typeof r[e])return!1;return!0}for(const n in r)if("function"==typeof r[n])return!1;return!0},thunkify2=(r,n,e)=>function(){return r(n,e)},thunkify3=(r,n,e,t)=>function(){return r(n,e,t)},always=r=>function(){return r},areAnyNonfunctionsTruthy=function(r,n){const e=r.length;for(;++n<e;){const e=r[n];if(isPromise(e))return e.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,r,n)));if(e)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(r,n,e){const t=n.length;for(;++e<t;){let t=n[e];if("function"==typeof t&&(t=t(...r)),isPromise(t)&&(t=await t),t)return!0}return!1},areAnyPredicatesTruthy=function(r,n){const e=n.length;let t=-1;for(;++t<e;){let e=n[t];if("function"==typeof e&&(e=e(...r)),isPromise(e))return e.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,r,n,t)));if(e)return!0}return!1},or=function(...r){const n=r.pop();return areAllValuesNonfunctions(n)?areAnyNonfunctionsTruthy(n,-1):0==r.length?curryArgs2(areAnyPredicatesTruthy,__,n):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAnyPredicatesTruthy,__,n)):areAnyPredicatesTruthy(r,n)};export default or;
package/dist/or.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/or.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/or.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/pick.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const i=r(n);return e.set(n,i),e.size>t&&e.clear(),i};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let i=-1,o=r;for(;++i<n;)if(o=o[e[i]],null==o)return;return o},isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},setByPath=function(r,t,e){if(!isObject(r))return r;const n=propertyPathToArray(e),i=n.length,o=i-1,s={...r};let c=s,l=-1;for(;++l<i;){const r=n[l];if(l==o)c[r]=t;else{const t=c[r],e=isArray(t)?t.slice():{...t};c[r]=e,c=e}}return s},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},_pick=function(r,t){if(null==r)return r;const e=t.length;let n={},i=-1;for(;++i<e;){const e=t[i],o=getByPath(r,e);null!=o&&(n=setByPath(n,o,e))}return n},pick=function(r,t){return null==t?curry2(_pick,__,r):isPromise(r)?r.then(curry2(_pick,__,t)):_pick(r,t)};export default pick;
package/dist/pick.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/pick.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/pick.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/pipe.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;){const n=r[e];if(isPromise(n))return!0}return!1}for(const n in r){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),funcConcat=(r,n)=>function(...e){const o=r(...e);return isPromise(o)?o.then(n):n(o)},funcApply=(r,n)=>r(...n),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},pipe=function(...r){if("function"==typeof r[0])return r.reduce(funcConcat);const n=r.pop().reduce(funcConcat);return 0==r.length?n:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,n,__)):n(...r)};export default pipe;
package/dist/pipe.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/pipe.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/pipe.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/reduce.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const 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])};export default reduce;
package/dist/reduce.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/reduce.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/rubico.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;){const e=r[t];if(isPromise(e))return!0}return!1}for(const e in r){const t=r[e];if(isPromise(t))return!0}return!1},promiseAll=Promise.all.bind(Promise),funcConcat=(r,e)=>function(...t){const n=r(...t);return isPromise(n)?n.then(e):e(n)},funcApply=(r,e)=>r(...e),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},pipe=function(...r){if("function"==typeof r[0])return r.reduce(funcConcat);const e=r.pop().reduce(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},compose=function(...r){if("function"==typeof r[0])return r.reduceRight(funcConcat);const e=r.pop().reduceRight(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},always=r=>function(){return r},thunkifyArgs=(r,e)=>function(){return r(...e)},thunkConditional=(r,e,t)=>r?e():t(),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},curryArgs2ResolveArgs0=(r,e,t)=>function(...t){return r(t,e)},curryArgs2ResolveArgs1=(r,e,t)=>function(...t){return r(e,t)},curryArgs2=function(r,e,t){return e==__?curryArgs2ResolveArgs0(r,t):curryArgs2ResolveArgs1(r,e)},curryArgs3ResolveArgs0=(r,e,t)=>function(...n){return r(n,e,t)},curryArgs3ResolveArgs1=(r,e,t)=>function(...n){return r(e,n,t)},curryArgs3ResolveArgs2=(r,e,t)=>function(...n){return r(e,t,n)},curryArgs3=function(r,e,t,n){return e==__?curryArgs3ResolveArgs0(r,t,n):t==__?curryArgs3ResolveArgs1(r,e,n):curryArgs3ResolveArgs2(r,e,t)},_tap=function(r,e){const t=r[0],n=e(...r);return isPromise(n)?n.then(always(t)):t},tap=function(...r){const e=r.pop();return 0==r.length?curryArgs2(_tap,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,e)):_tap(r,e)},_tapIf=function(r,e,t){const n=r(...t);if(isPromise(n))return n.then(curry3(thunkConditional,__,thunkifyArgs(tap(e),t),always(t[0])));if(n){const r=e(...t);if(isPromise(r))return r.then(always(t[0]))}return t[0]};tap.if=function(...r){if(2==r.length)return curryArgs3(_tapIf,r[0],r[1],__);const e=r.length,t=r[e-1],n=r[e-2],o=r.slice(0,-2);return areAnyValuesPromises(o)?promiseAll(o).then(curry3(_tapIf,n,t,__)):_tapIf(n,t,r)};const areAllValuesNonfunctions=function(r){if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;)if("function"==typeof r[t])return!1;return!0}for(const e in r)if("function"==typeof r[e])return!1;return!0},promiseObjectAllExecutor=r=>function(e){const t={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){t[r]=o,n-=1,0==n&&e(t)})(o))):t[o]=s}0==n&&e(t)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),functionArrayAll=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=r[o],i="function"==typeof t?t(...e):t;isPromise(i)&&(s=!0),n[o]=i}return s?promiseAll(n):n},curry4ResolveArg0=(r,e,t,n)=>function(o){return r(o,e,t,n)},curry4ResolveArg1=(r,e,t,n)=>function(o){return r(e,o,t,n)},curry4ResolveArg2=(r,e,t,n)=>function(o){return r(e,t,o,n)},curry4ResolveArg3=(r,e,t,n)=>function(o){return r(e,t,n,o)},curry4=function(r,e,t,n,o){return e==__?curry4ResolveArg0(r,t,n,o):t==__?curry4ResolveArg1(r,e,n,o):n==__?curry4ResolveArg2(r,e,t,o):curry4ResolveArg3(r,e,t,n)},objectSet=function(r,e,t){return r[e]=t,r},asyncFunctionArrayAllSeries=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=r[n](...e);t[n]=isPromise(o)?await o:o}return t},functionArrayAllSeries=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=r[o](...e);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(asyncFunctionArrayAllSeries,r,e,__,o)));n[o]=t}return n},functionObjectAll=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i="function"==typeof s?s(...e):s;isPromise(i)?n.push(i.then(curry3(objectSet,t,o,__))):t[o]=i}return 0==n.length?t:promiseAll(n).then(always(t))},_allValues=function(r){return isArray(r)?areAnyValuesPromises(r)?promiseAll(r):r:areAnyValuesPromises(r)?promiseObjectAll(r):r},all=function(...r){if(1==r.length){const e=r[0];return isPromise(e)?e.then(_allValues):areAllValuesNonfunctions(e)?_allValues(e):isArray(e)?curryArgs2(functionArrayAll,e,__):curryArgs2(functionObjectAll,e,__)}const e=r[r.length-1],t=r.slice(0,-1);return areAnyValuesPromises(t)?isArray(e)?promiseAll(t).then(curry2(functionArrayAll,e,__)):promiseAll(t).then(curry2(functionObjectAll,e,__)):isArray(e)?functionArrayAll(e,t):functionObjectAll(e,t)};all.series=function(...r){const e=r.pop();return 0==r.length?curryArgs2(functionArrayAllSeries,e,__):areAnyValuesPromises(r)?promiseAll(r).then(curry2(functionArrayAllSeries,e,__)):functionArrayAllSeries(e,r)};const objectAssign=Object.assign,_assign=function(r,e){const t=functionObjectAll(e,[r]);return isPromise(t)?t.then(curry3(objectAssign,{},r,__)):{...r,...t}},assign=function(r,e){return null==e?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,e)):_assign(r,e)},catcherApply=function(r,e,t){return r(e,...t)},_tryCatch=function(r,e,t){try{const n=r(...t);return isPromise(n)?n.catch(curry3(catcherApply,e,__,t)):n}catch(r){return e(r,...t)}},tryCatch=function(...r){if(r.length>2){const e=r.pop(),t=r.pop();return areAnyValuesPromises(r)?promiseAll(r).then(curry3(_tryCatch,t,e,__)):_tryCatch(t,e,r)}const e=r[0],t=r[1];return function(...r){return _tryCatch(e,t,r)}},thunkify3=(r,e,t,n)=>function(){return r(e,t,n)},arrayConditional=function(r,e,t){const n=r.length-1;for(;(t+=2)<n;){const n=r[t],o=r[t+1],s="function"==typeof n?n(...e):n;if(isPromise(s))return s.then(curry3(thunkConditional,__,"function"==typeof o?thunkifyArgs(o,e):always(o),thunkify3(arrayConditional,r,e,t)));if(s)return"function"==typeof o?o(...e):o}if(t==r.length)return;const o=r[n];return"function"==typeof o?o(...e):o},thunkify2=(r,e,t)=>function(){return r(e,t)},nonfunctionsConditional=function(r,e){const t=r.length,n=t-1;for(;(e+=2)<n;){const t=r[e],n=r[e+1];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(n),thunkify2(nonfunctionsConditional,r,e)));if(t)return n}if(e!=t)return r[e]},switchCase=(...r)=>{const e=r.pop();return areAllValuesNonfunctions(e)?nonfunctionsConditional(e,-2):0==r.length?curryArgs3(arrayConditional,e,__,-2):areAnyValuesPromises(r)?promiseAll(r).then(curry3(arrayConditional,e,__,-2)):arrayConditional(e,r,-2)},symbolIterator=Symbol.iterator,MappingIterator=(r,e)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const t=r.next();return t.done?t:{value:e(t.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,e)=>({[symbolAsyncIterator](){return this},async next(){const t=await r.next();if(t.done)return t;const n=e(t.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},arrayMap=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=e(r[o],o,r);isPromise(t)&&(s=!0),n[o]=t}return s?promiseAll(n):n},callPropUnary=(r,e,t)=>r[e](t),stringMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},setMap=function(r,e){const t=new Set,n=[];for(const o of r){const s=e(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,t,"add",__))):t.add(s)}return 0==n.length?t:promiseAll(n).then(always(t))},callPropBinary=(r,e,t,n)=>r[e](t,n),mapMap=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(callPropBinary,t,"set",o,__))):t.set(o,i)}return 0==n.length?t:promiseAll(n).then(always(t))},objectMap=function(r,e){const t={};let n=!1;for(const o in r){const s=e(r[o],o,r);isPromise(s)&&(n=!0),t[o]=s}return n?promiseObjectAll(t):t},arrayMapSeriesAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=e(r[n],n);t[n]=isPromise(o)?await o:o}return t},arrayMapSeries=function(r,e){const t=r.length,n=Array(t);let o=-1;for(;++o<t;){const t=e(r[o],o);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,e,__,o)));n[o]=t}return n},stringMapSeries=function(r,e){const t=arrayMapSeries(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify4=(r,e,t,n,o)=>function(){return r(e,t,n,o)},_objectMapSeriesAsync=async function(r,e,t,n){for(const o in r){if(o in n)continue;let s=e(r[o]);isPromise(s)&&(s=await s),t[o]=s}return t},objectMapSeries=function(r,e){const t={},n={};for(const o in r){n[o]=!0;const s=e(r[o],o,r);if(isPromise(s))return s.then(funcConcat(curry3(objectSet,t,o,__),thunkify4(_objectMapSeriesAsync,r,e,t,n)));t[o]=s}return t},setAdd=function(r,e){return r.add(e),r},_setMapSeriesAsync=async function(r,e,t){let n=r.next();for(;!n.done;){let o=e(n.value);isPromise(o)&&(o=await o),t.add(o),n=r.next()}return t},setMapSeries=function(r,e){const t=new Set,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=e(o.value);if(isPromise(r))return r.then(funcConcat(curry2(setAdd,t,__),thunkify3(_setMapSeriesAsync,n,e,t)));t.add(r),o=n.next()}return t},mapSet=function(r,e,t){return r.set(e,t)},_mapMapSeriesAsync=async function(r,e,t){let n=r.next();for(;!n.done;){let o=e(n.value[1]);isPromise(o)&&(o=await o),t.set(n.value[0],o),n=r.next()}return t},mapMapSeries=function(r,e){const t=new Map,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=o.value[0],s=e(o.value[1]);if(isPromise(s))return s.then(funcConcat(curry3(mapSet,t,r,__),thunkify3(_mapMapSeriesAsync,n,e,t)));t.set(r,s),o=n.next()}return t},tapSync=r=>function(...e){return r(...e),e[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,e,t,n,o,s){const i=r.length;for(;++o<i;){s.size>=t&&await promiseRace(s);const i=e(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=i}return promiseAll(n)},arrayMapPool=function(r,e,t){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const i=new Set,c=n.then(tapSync((()=>i.delete(c))));return i.add(c),o[s]=c,arrayMapPoolAsync(r,t,e,o,s,i)}o[s]=n}return o},stringMapPool=function(r,e,t){const n=arrayMapPool(r,e,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},_setMapPoolAsync=async function(r,e,t,n,o,s){let i=e.next();for(;!i.done;){s.size>=t&&await promiseRace(s);const c=n(i.value,i.value,r);if(isPromise(c)){const r=c.then((e=>{s.delete(r),o.add(e)}));s.add(r)}else o.add(c);i=e.next()}return s.size>0&&await promiseAll(s),o},setMapPool=function(r,e,t){const n=new Set,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=t(s.value,s.value,r);if(isPromise(i)){const s=new Set,c=i.then((r=>{s.delete(c),n.add(r)}));return s.add(c),_setMapPoolAsync(r,o,e,t,n,s)}n.add(i),s=o.next()}return n},_mapMapPoolAsync=async function(r,e,t,n,o,s){let i=e.next();for(;!i.done;){s.size>=t&&await promiseRace(s);const c=i.value[0],u=n(i.value[1],c,r);if(isPromise(u)){o.set(c,u);const r=u.then((e=>{s.delete(r),o.set(c,e)}));s.add(r)}else o.set(c,u);i=e.next()}return s.size>0&&await promiseAll(s),o},mapMapPool=function(r,e,t){const n=new Map,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=s.value[0],c=t(s.value[1],i,r);if(isPromise(c)){const s=new Set;n.set(i,c);const u=c.then((r=>{s.delete(u),n.set(i,r)}));return s.add(u),_mapMapPoolAsync(r,o,e,t,n,s)}n.set(i,c),s=o.next()}return n},_objectMapPoolAsync=async function(r,e,t,n,o,s){for(const i in r){if(i in o)continue;s.size>=e&&await promiseRace(s);const c=t(r[i],i,r);if(isPromise(c)){n[i]=c;const r=c.then((e=>{s.delete(r),n[i]=e}));s.add(r)}else n[i]=c}return s.size>0&&await promiseAll(s),n},objectMapPool=function(r,e,t){const n={},o={};for(const s in r){o[s]=!0;const i=t(r[s],s,r);if(isPromise(i)){const c=new Set;n[s]=i;const u=i.then((r=>{c.delete(u),n[s]=r}));return c.add(u),_objectMapPoolAsync(r,e,t,n,o,c)}n[s]=i}return n},_curryArity=(r,e,t)=>function(...n){const o=t.length,s=n.length,i=[];let c=-1,u=-1,a=0;for(;++c<o;){const o=t[c];if(o==__&&(u+=1)<s){const r=n[u];r==__&&(a+=1),i.push(r)}else i.push(o);if(i.length==r)return 0==a?e(...i):curryArity(r,e,i)}for(;++u<s;){const t=n[u];if(t==__&&(a+=1),i.push(t),i.length==r)return 0==a?e(...i):curryArity(r,e,i)}return curryArity(r,e,i)},curryArity=function(r,e,t){const n=t.length;if(n<r)return _curryArity(r,e,t);let o=-1;for(;++o<n;){if(t[o]==__)return _curryArity(r,e,t)}return e(...t)},spread2=r=>function([e,t]){return r(e,t)},objectMapEntries=function(r,e){const t={},n=[];for(const o in r){const s=e([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[t])))):t[s[0]]=s[1]}return 0==n.length?t:promiseAll(n).then(always(t))},mapMapEntriesForEachCallback=(r,e,t)=>function(n,o){const s=r([o,n]);isPromise(s)?t.push(s.then(spread2(curryArity(3,mapSet,[e])))):e.set(s[0],s[1])},mapMapEntries=function(r,e){const t=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(e,t,n)),0==n.length?t:promiseAll(n).then(always(t))},_map=function(r,e){return isArray(r)?arrayMap(r,e):null==r?r:"function"==typeof r.then?r.then(e):"function"==typeof r.map?r.map(e):"string"==typeof r||r.constructor==String?stringMap(r,e):r.constructor==Set?setMap(r,e):r.constructor==Map?mapMap(r,e):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),e):r.constructor==Object?objectMap(r,e):e(r)},map=function(r,e){return null==e?curry2(_map,__,r):isPromise(r)?r.then(curry2(_map,__,e)):_map(r,e)},_mapEntries=(r,e)=>{if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,e);if(r.constructor==Map)return mapMapEntries(r,e);throw new TypeError("value is not an Object or Map")};map.entries=function(r,e){return null==e?curry2(_mapEntries,__,r):isPromise(r)?r.then(curry2(_mapEntries,__,e)):_mapEntries(r,e)};const _mapSeries=function(r,e){if(isArray(r))return arrayMapSeries(r,e);if(null==r)throw new TypeError(`invalid collection ${r}`);if("string"==typeof r||r.constructor==String)return stringMapSeries(r,e);if(r.constructor==Set)return setMapSeries(r,e);if(r.constructor==Map)return mapMapSeries(r,e);if(r.constructor==Object)return objectMapSeries(r,e);throw new TypeError(`invalid collection ${r}`)};map.series=function(r,e){return null==e?curry2(_mapSeries,__,r):isPromise(r)?r.then(curry2(_mapSeries,__,e)):_mapSeries(r,e)};const _mapPool=function(r,e,t){if(isArray(r))return arrayMapPool(r,e,t);if(null==r)throw new TypeError(`invalid functor ${r}`);if("string"==typeof r||r.constructor==String)return stringMapPool(r,e,t);if(r.constructor==Set)return setMapPool(r,e,t);if(r.constructor==Map)return mapMapPool(r,e,t);if(r.constructor==Object)return objectMapPool(r,e,t);throw new TypeError(`invalid functor ${r}`)};map.pool=function(r,e,t){return null==t?curry3(_mapPool,__,r,e):isPromise(r)?r.then(curry3(_mapPool,__,e,t)):_mapPool(r,e,t)};const FilteringIterator=(r,e)=>({[symbolIterator](){return this},next(){let t=r.next();for(;!t.done;){const{value:n}=t;if(e(n))return{value:n,done:!1};t=r.next()}return t}}),FilteringAsyncIterator=(r,e)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:t,done:n}=await r.next();if(n)this.isAsyncIteratorDone=!0;else{const r=e(t);if(isPromise(r)?await r:r)return{value:t,done:!1}}}return{value:void 0,done:!0}}}),arrayExtendMap=function(r,e,t,n){const o=e.length;let s=r.length-1;for(;++n<o;)r[++s]=t(e[n],n,r);return r},arrayFilterByConditions=function(r,e,t,n){const o=r.length;let s=-1;for(;++t<o;)n[++s]&&e.push(r[t]);return e},arrayFilter=function(r,e){const t=r.length,n=[];let o=-1,s=-1;for(;++o<t;){const t=r[o],i=e(t,o,r);if(isPromise(i))return promiseAll(arrayExtendMap([i],r,e,o)).then(curry4(arrayFilterByConditions,r,n,o-1,__));i&&(n[++s]=t)}return n},stringFilter=function(r,e){const t=arrayFilter(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify1=(r,e)=>function(){return r(e)},noop=function(){},setFilter=function(r,e){const t=new Set,n=t.add.bind(t),o=[];for(const s of r){const i=e(s,s,r);isPromise(i)?o.push(i.then(curry3(thunkConditional,__,thunkify1(n,s),noop))):i&&t.add(s)}return 0==o.length?t:promiseAll(o).then(always(t))},mapFilter=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry3(thunkConditional,__,thunkify4(callPropBinary,t,"set",o,s),noop))):i&&t.set(o,s)}return 0==n.length?t:promiseAll(n).then(always(t))},objectSetIf=function(r,e,t,n){n&&(r[e]=t)},objectFilter=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(objectSetIf,t,o,r[o],__))):i&&(t[o]=s)}return 0==n.length?t:promiseAll(n).then(always(t))},_filter=function(r,e){return isArray(r)?arrayFilter(r,e):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,e):r.constructor==Set?setFilter(r,e):r.constructor==Map?mapFilter(r,e):"function"==typeof r.filter?r.filter(e):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),e):r.constructor==Object?objectFilter(r,e):r},filter=function(r,e){return"function"==typeof r?curry2(_filter,__,r):isPromise(r)?r.then(curry2(_filter,__,e)):_filter(r,e)},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,t){let n=r.next();if(n.done)return t;for(;!n.done;)t=e(t,n.value),isPromise(t)&&(t=await t),n=r.next();return t},iteratorReduce=function(r,e,t){let n=r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=r.next());!n.done;){if(t=e(t,n.value),isPromise(t))return t.then(curry3(iteratorReduceAsync,r,e,__));n=r.next()}return t},asyncIteratorReduce=async function(r,e,t){let n=await r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=await r.next());!n.done;)t=await e(t,n.value),n=await r.next();return t},arrayReduceAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;)t=e(t,r[n],n,r),isPromise(t)&&(t=await t);return t},arrayReduce=function(r,e,t){const n=r.length;let o=-1;for(void 0===t&&(t=r[++o]);++o<n;)if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry4(arrayReduceAsync,r,e,__,o));return t},curry5ResolveArg0=(r,e,t,n,o)=>function(s){return r(s,e,t,n,o)},curry5ResolveArg1=(r,e,t,n,o)=>function(s){return r(e,s,t,n,o)},curry5ResolveArg2=(r,e,t,n,o)=>function(s){return r(e,t,s,n,o)},curry5ResolveArg3=(r,e,t,n,o)=>function(s){return r(e,t,n,s,o)},curry5ResolveArg4=(r,e,t,n,o)=>function(s){return r(e,t,n,o,s)},curry5=function(r,e,t,n,o,s){return e==__?curry5ResolveArg0(r,t,n,o,s):t==__?curry5ResolveArg1(r,e,n,o,s):n==__?curry5ResolveArg2(r,e,t,o,s):o==__?curry5ResolveArg3(r,e,t,n,s):curry5ResolveArg4(r,e,t,n,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,t,n,o){const s=n.length;for(;++o<s;){const s=n[o];t=e(t,r[s],s,r),isPromise(t)&&(t=await t)}return t},objectReduce=function(r,e,t){const n=objectKeys(r),o=n.length;let s=-1;for(void 0===t&&(t=r[n[++s]]);++s<o;){const o=n[s];if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry5(objectReduceAsync,r,e,__,n,s))}return t},mapReduceAsync=async function(r,e,t,n){for(const[o,s]of n)t=e(t,s,o,r),isPromise(t)&&(t=await t);return t},mapReduce=function(r,e,t){const n=r.entries();if(void 0===t){const r=n.next();if(r.done)return t;t=r.value[1]}for(const[o,s]of n)if(t=e(t,s,o,r),isPromise(t))return t.then(curry4(mapReduceAsync,r,e,__,n));return t},reducerConcat=(r,e)=>function(t,n){const o=r(t,n);return isPromise(o)?o.then(curry2(e,__,n)):e(o,n)},genericReduce=function(r,e,t){return isArray(r)?arrayReduce(r,e,t):null==r?void 0===t?curry2(e,r,__):e(t,r):r.constructor==Map?mapReduce(r,e,t):"function"==typeof r[symbolIterator]?iteratorReduce(r[symbolIterator](),e,t):"function"==typeof r[symbolAsyncIterator]?asyncIteratorReduce(r[symbolAsyncIterator](),e,t):"function"==typeof r.reduce?r.reduce(e,t):"function"==typeof r.chain?r.chain(curry2(e,t,__)):"function"==typeof r.flatMap?r.flatMap(curry2(e,t,__)):r.constructor==Object?objectReduce(r,e,t):void 0===t?curry2(e,r,__):e(t,r)},_reduce=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,n)}return isPromise(t)?t.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,t)},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])},isBinary=ArrayBuffer.isView,add=(r,e)=>r+e,_arrayExtend=function(r,e){const t=r.length,n=e.length;let o=-1;for(;++o<n;)r[t+o]=e[o];return r},arrayExtend=function(r,e){return isArray(e)||isBinary(e)?_arrayExtend(r,e):(r.push(e),r)},globalThisHasBuffer="function"==typeof Buffer,bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(r,e){const t=r.length,n=globalThisHasBuffer&&r.constructor==Buffer?bufferAlloc(t+e.length):new r.constructor(t+e.length);return n.set(r),n.set(e,t),n},binaryExtend=function(r,e){return isArray(e)||isBinary(e)?_binaryExtend(r,e):_binaryExtend(r,[e])},isNodeReadStream=r=>null!=r&&"function"==typeof r.pipe,__streamWrite=r=>function(e,t,n){return r.write(e,t,n),r},_streamExtendExecutor=(r,e)=>function(t,n){e.on("data",__streamWrite(r)),e.on("end",thunkify1(t,r)),e.on("error",n)},_streamExtend=(r,e)=>new Promise(_streamExtendExecutor(r,e)),streamExtend=function(r,e){return isNodeReadStream(e)?_streamExtend(r,e):(r.write(e),r)},setExtend=function(r,e){if(null!=e&&e.constructor==Set){for(const t of e)r.add(t);return r}return r.add(e)},callConcat=function(r,e){return r.concat(e)},identityTransform=function(r,e,t){const n=genericReduce(r,e(noop),null);return isPromise(n)?n.then(always(t)):t},genericTransform=function(r,e,t){if(isArray(t))return genericReduce(r,e(arrayExtend),t);if(isBinary(t)){const n=genericReduce(r,e(arrayExtend),[]);return isPromise(n)?n.then(curry2(binaryExtend,t,__)):binaryExtend(t,n)}if(null==t)return identityTransform(r,e,t);const n=t.constructor;if("string"==typeof t||n==String){const n=genericReduce(r,e(arrayExtend),[t]);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")}return"function"==typeof t.concat?genericReduce(r,e(callConcat),t):"function"==typeof t.write?genericReduce(r,e(streamExtend),t):n==Set?genericReduce(r,e(setExtend),t):n==Object?genericReduce(r,e(objectAssign),t):identityTransform(r,e,t)},_transform=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,n)}return isPromise(t)?t.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,t)},transform=function(...r){return"function"==typeof r[0]?curry3(_transform,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_transform,__,r[1],r[2])):_transform(r[0],r[1],r[2])},arrayPush=function(r,e){return r.push(e),r},FlatMappingIterator=function(r,e){let t=[],n=0;return{[symbolIterator](){return this},next(){if(n<t.length){const r=t[n];return n+=1,{value:r,done:!1}}const o=r.next();if(o.done)return o;const s=genericReduce(e(o.value),arrayPush,[]);return s.length>1&&(t=s,n=1),{value:s[0],done:!1}}}},sleep=r=>new Promise((e=>{setTimeout(e,r)})),FlatMappingAsyncIterator=function(r,e){const t=[],n=new Set;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||t.length>0||n.size>0;){if(!this.isAsyncIteratorDone){const{value:o,done:s}=await r.next();if(s)this.isAsyncIteratorDone=s;else{const r=e(o);if(isPromise(r)){const e=r.then(curry3(genericReduce,__,arrayPush,t)).then((()=>n.delete(e)));n.add(e)}else{const e=genericReduce(r,arrayPush,t);if(isPromise(e)){const r=e.then((()=>n.delete(r)));n.add(r)}}}}if(t.length>0)return{value:t.shift(),done:!1};n.size>0&&await promiseRace([sleep(1e3),...n])}return{value:void 0,done:!0}}}},getArg1=(r,e)=>e,identity=r=>r,funcConcatSync=(r,e)=>function(...t){return e(r(...t))},asyncIteratorForEach=async function(r,e){const t=[];for await(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},arrayFlatten=function(r){const e=r.length,t=[],n=[];let o=-1;for(;++o<e;){const e=r[o];if(isArray(e)){const r=e.length;let t=-1;for(;++t<r;)n.push(e[t])}else if(null==e)n.push(e);else if("function"==typeof e.then)t.push(e.then(curry2(arrayPush,n,__)));else if("function"==typeof e[symbolIterator])for(const r of e)n.push(r);else if("function"==typeof e[symbolAsyncIterator])t.push(asyncIteratorForEach(e[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof e.chain){const r=e.chain(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.flatMap){const r=e.flatMap(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.reduce){const r=e.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(r)&&t.push(r)}else if(e.constructor==Object)for(const r in e)n.push(e[r]);else n.push(e)}return 0==t.length?n:promiseAll(t).then(always(n))},arrayFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlatten):arrayFlatten(t)},objectFlatten=function(r){const e=[],t={},n=curry2(objectAssign,t,__),o=funcConcatSync(getArg1,n);for(const s in r){const i=r[s];if(null!=i)if("function"==typeof i[symbolIterator])for(const r of i)objectAssign(t,r);else if("function"==typeof i[symbolAsyncIterator])e.push(asyncIteratorForEach(i[symbolAsyncIterator](),n));else if("function"==typeof i.chain){const r=i.chain(identity);isPromise(r)?e.push(r.then(n)):objectAssign(t,r)}else if("function"==typeof i.flatMap){const r=i.flatMap(identity);isPromise(r)?e.push(r.then(n)):n(r)}else if("function"==typeof i.reduce){const r=i.reduce(o,null);isPromise(r)&&e.push(r)}else objectAssign(t,i)}return 0==e.length?t:promiseAll(e).then((()=>t))},objectFlatMap=function(r,e){const t=objectMap(r,e);return isPromise(t)?t.then(objectFlatten):objectFlatten(t)},setFlatten=function(r){r.size;const e=[],t=new Set,n=(r,e)=>t.add(e),o=curry3(callPropUnary,t,"add",__);for(const s of r)if(isArray(s)){const r=s.length;let e=-1;for(;++e<r;)t.add(s[e])}else if(null==s)t.add(s);else if("function"==typeof s[symbolIterator])for(const r of s)t.add(r);else if("function"==typeof s[symbolAsyncIterator])e.push(asyncIteratorForEach(s[symbolAsyncIterator](),o));else if("function"==typeof s.chain){const r=s.chain(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.flatMap){const r=s.flatMap(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.reduce){const r=s.reduce(n,null);isPromise(r)&&e.push(r)}else if(s.constructor==Object)for(const r in s)t.add(s[r]);else t.add(s);return 0==e.length?t:promiseAll(e).then((()=>t))},setFlatMap=function(r,e){const t=setMap(r,e);return isPromise(t)?t.then(setFlatten):setFlatten(t)},arrayJoin=(r,e)=>r.join(e),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlattenToString):arrayFlattenToString(t)},_flatMap=function(r,e){if(isArray(r))return arrayFlatMap(r,e);if(null==r)return e(r);if("function"==typeof r.then)return r.then(e);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,e):FlatMappingAsyncIterator(r,e);if("function"==typeof r.chain)return r.chain(e);if("function"==typeof r.flatMap)return r.flatMap(e);const t=r.constructor;return t==Object?objectFlatMap(r,e):t==Set?setFlatMap(r,e):"string"==typeof r||t==String?stringFlatMap(r,e):e(r)},flatMap=(r,e)=>"function"==typeof r?curry2(_flatMap,__,r):isPromise(r)?r.then(curry2(_flatMap,__,e)):_flatMap(r,e),arrayForEach=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o]);isPromise(t)&&n.push(t)}return 0==n.length?r:promiseAll(n).then(always(r))},objectForEach=function(r,e){const t=[];for(const n in r){const o=e(r[n]);isPromise(o)&&t.push(o)}return 0==t.length?r:promiseAll(t).then(always(r))},iteratorForEach=function(r,e){const t=[];for(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},_arrayForEachSeriesAsync=async function(r,e,t){const n=r.length;for(;++t<n;){const n=e(r[t]);isPromise(n)&&await n}return r},arrayForEachSeries=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n]);if(isPromise(t))return t.then(thunkify3(_arrayForEachSeriesAsync,r,e,n))}return r},_objectForEachSeriesAsync=async function(r,e,t){for(const n in r){if(n in t)continue;const o=e(r[n]);isPromise(o)&&await o}return r},objectForEachSeries=function(r,e){const t={};for(const n in r){t[n]=!0;const o=e(r[n]);if(isPromise(o))return o.then(thunkify3(_objectForEachSeriesAsync,r,e,t))}return r},_iteratorForEachSeriesAsync=async function(r,e){let t=r.next();for(;!t.done;){const n=e(t.value);isPromise(n)&&await n,t=r.next()}return r},iteratorForEachSeries=function(r,e){let t=r.next();for(;!r.done;){const n=e(t.value);if(isPromise(n))return n.then(thunkify2(_iteratorForEachSeriesAsync,r,e));t=r.next()}return r},asyncIteratorForEachSeries=async function(r,e){for await(const t of r){const r=e(t);isPromise(r)&&await r}return r},_forEach=function(r,e){return isArray(r)?arrayForEach(r,e):null==r?r:"function"==typeof r.forEach?(r.forEach(e),r):"function"==typeof r[symbolIterator]?iteratorForEach(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),e):r.constructor==Object?objectForEach(r,e):r},forEach=function(r,e){return"function"==typeof r?curry2(_forEach,__,r):isPromise(r)?r.then(curry2(_forEach,__,e)):_forEach(r,e)},_forEachSeries=function(r,e){if(isArray(r))return arrayForEachSeries(r,e);if(null==r)throw new TypeError(`invalid collection ${r}`);if("function"==typeof r[symbolIterator])return iteratorForEachSeries(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return asyncIteratorForEachSeries(r[symbolAsyncIterator](),e);if(r.constructor==Object)return objectForEachSeries(r,e);throw new TypeError(`invalid collection ${r}`)};forEach.series=function(r,e){return"function"==typeof r?curry2(_forEachSeries,__,r):isPromise(r)?r.then(curry2(_forEachSeries,__,e)):_forEachSeries(r,e)};const SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},asyncArraySome=async function(r,e,t,n){const o=r.length;for(;++t<o;){const o=e(r[t]);if(isPromise(o))n.add(SelfReferencingPromise(o));else if(o)return!0}for(;n.size>0;){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}return!1},arraySome=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n]);if(isPromise(t))return asyncArraySome(r,e,n,new Set([SelfReferencingPromise(t)]));if(t)return!0}return!1},asyncIteratorSome=async function(r,e,t,n=20){let o=r.next();for(isPromise(o)&&(o=await o);!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(s)return!0;o=r.next(),isPromise(o)&&(o=await o)}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},iteratorSome=function(r,e){for(const t of r){const n=e(t);if(isPromise(n))return asyncIteratorSome(r,e,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},reducerAnySync=r=>function(e,t){return!!e||r(t)},reducerSome=r=>function(e,t){return!0===e?e:isPromise(e)?e.then(curry2(reducerAnySync(r),__,t)):!!e||r(t)},_some=function(r,e){return isArray(r)?arraySome(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorSome(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorSome(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerSome(e),!1):r.constructor==Object?arraySome(objectValues(r),e):e(r)},some=function(r,e){return"function"==typeof r?curry2(_some,__,r):isPromise(r)?r.then(curry2(_some,__,e)):_some(r,e)},arrayEvery=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o]);if(isPromise(t))n.push(t);else if(!t)return!1}return 0==n.length||promiseAll(n).then(curry3(callPropUnary,__,"every",Boolean))},iteratorEvery=function(r,e){const t=[];for(const n of r){const r=e(n);if(isPromise(r))t.push(r);else if(!r)return!1}return 0==t.length||promiseAll(t).then(curry3(callPropUnary,__,"every",Boolean))},asyncIteratorEvery=async function(r,e,t,n=20){let o=await r.next();for(;!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(!s)return!1;o=await r.next()}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}return!0},reducerAllSync=(r,e,t)=>!!e&&r(t),reducerEvery=r=>function(e,t){return!1!==e&&(isPromise(e)?e.then(curry3(reducerAllSync,r,__,t)):!!e&&r(t))},_every=function(r,e){return isArray(r)?arrayEvery(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorEvery(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorEvery(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerEvery(e),!0):r.constructor==Object?arrayEvery(objectValues(r),e):e(r)},every=function(r,e){return"function"==typeof r?curry2(_every,__,r):isPromise(r)?r.then(curry2(_every,__,e)):_every(r,e)},areAllValuesTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkify2(areAllValuesTruthy,r,e),always(!1)));if(!t)return!1}return!0},asyncArePredicatesAllTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),!n)return!1}return!0},areAllPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,thunkify3(asyncArePredicatesAllTruthy,r,e,n),always(!1)));if(!t)return!1}return!0},and=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAllValuesTruthy(e,-1):0==r.length?curryArgs2(areAllPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAllPredicatesTruthy,__,e)):areAllPredicatesTruthy(r,e)},areAnyNonfunctionsTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,r,e)));if(t)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),n)return!0}return!1},areAnyPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,r,e,n)));if(t)return!0}return!1},or=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAnyNonfunctionsTruthy(e,-1):0==r.length?curryArgs2(areAnyPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAnyPredicatesTruthy,__,e)):areAnyPredicatesTruthy(r,e)},negate=r=>!r,_not=function(r,e){const t=e(...r);return isPromise(t)?t.then(negate):!t},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?curryArgs2(_not,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):isPromise(e)?e.then(negate):!e},curryArgs4ResolveArgs0=(r,e,t,n)=>function(...o){return r(o,e,t,n)},curryArgs4ResolveArgs1=(r,e,t,n)=>function(...o){return r(e,o,t,n)},curryArgs4ResolveArgs2=(r,e,t,n)=>function(...o){return r(e,t,o,n)},curryArgs4ResolveArgs3=(r,e,t,n)=>function(...o){return r(e,t,n,o)},curryArgs4=function(r,e,t,n,o){return e==__?curryArgs4ResolveArgs0(r,t,n,o):t==__?curryArgs4ResolveArgs1(r,e,n,o):n==__?curryArgs4ResolveArgs2(r,e,t,o):curryArgs4ResolveArgs3(r,e,t,n)},leftResolverRightResolverCompare=function(r,e,t,n){const o=t(...r),s=n(...r);return isPromise(o)||isPromise(s)?promiseAll([o,s]).then(spread2(e)):e(o,s)},leftResolverRightValueCompare=function(r,e,t,n){const o=t(...r);return isPromise(o)||isPromise(n)?promiseAll([o,n]).then(spread2(e)):e(o,n)},leftValueRightResolverCompare=function(r,e,t,n){const o=n(...r);return isPromise(t)||isPromise(o)?promiseAll([t,o]).then(spread2(e)):e(t,o)},ComparisonOperator=r=>function(...e){const t=e.pop(),n=e.pop(),o="function"==typeof n,s="function"==typeof t;return o&&s?0==e.length?curryArgs4(leftResolverRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightResolverCompare,__,r,n,t)):leftResolverRightResolverCompare(e,r,n,t):o?0==e.length?curryArgs4(leftResolverRightValueCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightValueCompare,__,r,n,t)):leftResolverRightValueCompare(e,r,n,t):s?0==e.length?curryArgs4(leftValueRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftValueRightResolverCompare,__,r,n,t)):leftValueRightResolverCompare(e,r,n,t):isPromise(n)||isPromise(t)?promiseAll([n,t]).then(spread2(r)):r(n,t)},equals=function(r,e){return r==e},eq=ComparisonOperator(equals),greaterThan=(r,e)=>r>e,gt=ComparisonOperator(greaterThan),lessThan=(r,e)=>r<e,lt=ComparisonOperator(lessThan),greaterThanOrEqual=(r,e)=>r>=e,gte=ComparisonOperator(greaterThanOrEqual),lessThanOrEqual=(r,e)=>r<=e,lte=ComparisonOperator(lessThanOrEqual),memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;return s},_get=function(r,e,t){const n=null==r?void 0:getByPath(r,e);return void 0===n?"function"==typeof t?t(r):t:n},get=function(r,e,t){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,e):isPromise(r)?r.then(curry3(_get,__,e,t)):_get(r,e,t)},setByPath=function(r,e,t){if(!isObject(r))return r;const n=propertyPathToArray(t),o=n.length,s=o-1,i={...r};let c=i,u=-1;for(;++u<o;){const r=n[u];if(u==s)c[r]=e;else{const e=c[r],t=isArray(e)?e.slice():{...e};c[r]=t,c=t}}return i},_set=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(setByPath,r,__,e)):setByPath(r,n,e)}return isPromise(t)?t.then(curry3(setByPath,r,__,e)):setByPath(r,t,e)},set=function(r,e,t){return null==t?curry3(_set,__,r,e):isPromise(r)?r.then(curry3(_set,__,e,t)):_set(r,e,t)},_pick=function(r,e){if(null==r)return r;const t=e.length;let n={},o=-1;for(;++o<t;){const t=e[o],s=getByPath(r,t);null!=s&&(n=setByPath(n,s,t))}return n},pick=function(r,e){return null==e?curry2(_pick,__,r):isPromise(r)?r.then(curry2(_pick,__,e)):_pick(r,e)},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),n=t.length-1;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;const i=t[o];null!=s&&i in s&&delete s[i]},objectCopyDeep=function(r){const e={};for(const t in r){const n=r[t];isArray(n)?e[t]=arrayCopyDeep(n):null!=n&&n.constructor==Object?e[t]=objectCopyDeep(n):e[t]=n}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let n=-1;for(;++n<e;){const e=r[n];isArray(e)?t[n]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[n]=objectCopyDeep(e):t[n]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},_omit=function(r,e){const t=e.length,n=copyDeep(r);let o=-1;for(;++o<t;)deleteByPath(n,e[o]);return n},omit=function(r,e){return null==e?curry2(_omit,__,r):isPromise(r)?r.then(curry2(_omit,__,e)):_omit(r,e)},thunkify=(r,...e)=>function(){return areAnyValuesPromises(e)?promiseAll(e).then(curry2(funcApply,r,__)):r(...e)},curry=(r,...e)=>curryArity(r.length,r,e);curry.arity=function(r,e,...t){return curryArity(r,e,t)};const rubico={pipe:pipe,compose:compose,tap:tap,forEach:forEach,switchCase:switchCase,tryCatch:tryCatch,all:all,assign:assign,get:get,set:set,pick:pick,omit:omit,map:map,filter:filter,flatMap:flatMap,reduce:reduce,transform:transform,and:and,or:or,not:not,some:some,every:every,eq:eq,gt:gt,lt:lt,gte:gte,lte:lte,thunkify:thunkify,always:always,curry:curry,__:__};export{pipe,compose,tap,forEach,switchCase,tryCatch,all,assign,get,set,pick,omit,map,filter,reduce,transform,flatMap,and,or,not,some,every,eq,gt,lt,gte,lte,thunkify,always,curry,__};export default rubico;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/rubico.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/rubico.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/set.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 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.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const s=r(n);return t.set(n,s),t.size>e&&t.clear(),s};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],setByPath=function(r,e,t){if(!isObject(r))return r;const n=propertyPathToArray(t),s=n.length,i=s-1,o={...r};let c=o,u=-1;for(;++u<s;){const r=n[u];if(u==i)c[r]=e;else{const e=c[r],t=isArray(e)?e.slice():{...e};c[r]=t,c=t}}return o},__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},_set=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(setByPath,r,__,e)):setByPath(r,n,e)}return isPromise(t)?t.then(curry3(setByPath,r,__,e)):setByPath(r,t,e)},set=function(r,e,t){return null==t?curry3(_set,__,r,e):isPromise(r)?r.then(curry3(_set,__,e,t)):_set(r,e,t)};export default set;
package/dist/set.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/set.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/set.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/some.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.7.6
2
+ * rubico v2.7.8
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2025 Richard Tong
4
+ * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7