rubico 2.12.1 → 2.13.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 (363) hide show
  1. package/Transducer.js +57 -21
  2. package/_internal/functionArrayAllSeries.js +4 -3
  3. package/_internal/functionObjectAllSeries.js +65 -0
  4. package/_internal/genericTransform.js +0 -1
  5. package/all.js +36 -16
  6. package/and.js +3 -3
  7. package/assign.js +3 -3
  8. package/compose.js +6 -6
  9. package/dist/Transducer.es.js +1 -1
  10. package/dist/Transducer.es.min.js +1 -1
  11. package/dist/Transducer.js +1 -1
  12. package/dist/Transducer.min.js +1 -1
  13. package/dist/Transducer.mjs +1 -1
  14. package/dist/__.es.js +1 -1
  15. package/dist/__.es.min.js +1 -1
  16. package/dist/__.js +1 -1
  17. package/dist/__.min.js +1 -1
  18. package/dist/__.mjs +1 -1
  19. package/dist/all.es.js +112 -8
  20. package/dist/all.es.min.js +2 -2
  21. package/dist/all.js +112 -8
  22. package/dist/all.min.js +2 -2
  23. package/dist/all.mjs +112 -8
  24. package/dist/always.es.js +1 -1
  25. package/dist/always.es.min.js +1 -1
  26. package/dist/always.js +1 -1
  27. package/dist/always.min.js +1 -1
  28. package/dist/always.mjs +1 -1
  29. package/dist/and.es.js +1 -1
  30. package/dist/and.es.min.js +1 -1
  31. package/dist/and.js +1 -1
  32. package/dist/and.min.js +1 -1
  33. package/dist/and.mjs +1 -1
  34. package/dist/assign.es.js +1 -1
  35. package/dist/assign.es.min.js +1 -1
  36. package/dist/assign.js +1 -1
  37. package/dist/assign.min.js +1 -1
  38. package/dist/assign.mjs +1 -1
  39. package/dist/compose.es.js +1 -1
  40. package/dist/compose.es.min.js +1 -1
  41. package/dist/compose.js +1 -1
  42. package/dist/compose.min.js +1 -1
  43. package/dist/compose.mjs +1 -1
  44. package/dist/curry.es.js +1 -1
  45. package/dist/curry.es.min.js +1 -1
  46. package/dist/curry.js +1 -1
  47. package/dist/curry.min.js +1 -1
  48. package/dist/curry.mjs +1 -1
  49. package/dist/eq.es.js +1 -1
  50. package/dist/eq.es.min.js +1 -1
  51. package/dist/eq.js +1 -1
  52. package/dist/eq.min.js +1 -1
  53. package/dist/eq.mjs +1 -1
  54. package/dist/every.es.js +1 -1
  55. package/dist/every.es.min.js +1 -1
  56. package/dist/every.js +1 -1
  57. package/dist/every.min.js +1 -1
  58. package/dist/every.mjs +1 -1
  59. package/dist/filter.es.js +1 -1
  60. package/dist/filter.es.min.js +1 -1
  61. package/dist/filter.js +1 -1
  62. package/dist/filter.min.js +1 -1
  63. package/dist/filter.mjs +1 -1
  64. package/dist/flatMap.es.js +1 -1
  65. package/dist/flatMap.es.min.js +1 -1
  66. package/dist/flatMap.js +1 -1
  67. package/dist/flatMap.min.js +1 -1
  68. package/dist/flatMap.mjs +1 -1
  69. package/dist/forEach.es.js +1 -1
  70. package/dist/forEach.es.min.js +1 -1
  71. package/dist/forEach.js +1 -1
  72. package/dist/forEach.min.js +1 -1
  73. package/dist/forEach.mjs +1 -1
  74. package/dist/get.es.js +1 -1
  75. package/dist/get.es.min.js +1 -1
  76. package/dist/get.js +1 -1
  77. package/dist/get.min.js +1 -1
  78. package/dist/get.mjs +1 -1
  79. package/dist/gt.es.js +1 -1
  80. package/dist/gt.es.min.js +1 -1
  81. package/dist/gt.js +1 -1
  82. package/dist/gt.min.js +1 -1
  83. package/dist/gt.mjs +1 -1
  84. package/dist/gte.es.js +1 -1
  85. package/dist/gte.es.min.js +1 -1
  86. package/dist/gte.js +1 -1
  87. package/dist/gte.min.js +1 -1
  88. package/dist/gte.mjs +1 -1
  89. package/dist/lt.es.js +1 -1
  90. package/dist/lt.es.min.js +1 -1
  91. package/dist/lt.js +1 -1
  92. package/dist/lt.min.js +1 -1
  93. package/dist/lt.mjs +1 -1
  94. package/dist/lte.es.js +1 -1
  95. package/dist/lte.es.min.js +1 -1
  96. package/dist/lte.js +1 -1
  97. package/dist/lte.min.js +1 -1
  98. package/dist/lte.mjs +1 -1
  99. package/dist/map.es.js +1 -1
  100. package/dist/map.es.min.js +1 -1
  101. package/dist/map.js +1 -1
  102. package/dist/map.min.js +1 -1
  103. package/dist/map.mjs +1 -1
  104. package/dist/not.es.js +1 -1
  105. package/dist/not.es.min.js +1 -1
  106. package/dist/not.js +1 -1
  107. package/dist/not.min.js +1 -1
  108. package/dist/not.mjs +1 -1
  109. package/dist/omit.es.js +1 -1
  110. package/dist/omit.es.min.js +1 -1
  111. package/dist/omit.js +1 -1
  112. package/dist/omit.min.js +1 -1
  113. package/dist/omit.mjs +1 -1
  114. package/dist/or.es.js +1 -1
  115. package/dist/or.es.min.js +1 -1
  116. package/dist/or.js +1 -1
  117. package/dist/or.min.js +1 -1
  118. package/dist/or.mjs +1 -1
  119. package/dist/pick.es.js +1 -1
  120. package/dist/pick.es.min.js +1 -1
  121. package/dist/pick.js +1 -1
  122. package/dist/pick.min.js +1 -1
  123. package/dist/pick.mjs +1 -1
  124. package/dist/pipe.es.js +1 -1
  125. package/dist/pipe.es.min.js +1 -1
  126. package/dist/pipe.js +1 -1
  127. package/dist/pipe.min.js +1 -1
  128. package/dist/pipe.mjs +1 -1
  129. package/dist/reduce.es.js +1 -1
  130. package/dist/reduce.es.min.js +1 -1
  131. package/dist/reduce.js +1 -1
  132. package/dist/reduce.min.js +1 -1
  133. package/dist/reduce.mjs +1 -1
  134. package/dist/rubico.es.js +112 -61
  135. package/dist/rubico.es.min.js +2 -2
  136. package/dist/rubico.global.js +112 -61
  137. package/dist/rubico.global.min.js +2 -2
  138. package/dist/rubico.js +112 -61
  139. package/dist/rubico.min.js +2 -2
  140. package/dist/rubico.mjs +112 -61
  141. package/dist/set.es.js +1 -1
  142. package/dist/set.es.min.js +1 -1
  143. package/dist/set.js +1 -1
  144. package/dist/set.min.js +1 -1
  145. package/dist/set.mjs +1 -1
  146. package/dist/some.es.js +1 -1
  147. package/dist/some.es.min.js +1 -1
  148. package/dist/some.js +1 -1
  149. package/dist/some.min.js +1 -1
  150. package/dist/some.mjs +1 -1
  151. package/dist/switchCase.es.js +1 -1
  152. package/dist/switchCase.es.min.js +1 -1
  153. package/dist/switchCase.js +1 -1
  154. package/dist/switchCase.min.js +1 -1
  155. package/dist/switchCase.mjs +1 -1
  156. package/dist/tap.es.js +1 -1
  157. package/dist/tap.es.min.js +1 -1
  158. package/dist/tap.js +1 -1
  159. package/dist/tap.min.js +1 -1
  160. package/dist/tap.mjs +1 -1
  161. package/dist/thunkify.es.js +1 -1
  162. package/dist/thunkify.es.min.js +1 -1
  163. package/dist/thunkify.js +1 -1
  164. package/dist/thunkify.min.js +1 -1
  165. package/dist/thunkify.mjs +1 -1
  166. package/dist/transform.es.js +1 -3
  167. package/dist/transform.es.min.js +2 -2
  168. package/dist/transform.js +1 -3
  169. package/dist/transform.min.js +1 -1
  170. package/dist/transform.mjs +1 -3
  171. package/dist/tryCatch.es.js +1 -1
  172. package/dist/tryCatch.es.min.js +1 -1
  173. package/dist/tryCatch.js +1 -1
  174. package/dist/tryCatch.min.js +1 -1
  175. package/dist/tryCatch.mjs +1 -1
  176. package/dist/x/append.es.js +1 -1
  177. package/dist/x/append.es.min.js +1 -1
  178. package/dist/x/append.js +1 -1
  179. package/dist/x/append.min.js +1 -1
  180. package/dist/x/append.mjs +1 -1
  181. package/dist/x/callProp.es.js +1 -1
  182. package/dist/x/callProp.es.min.js +1 -1
  183. package/dist/x/callProp.js +1 -1
  184. package/dist/x/callProp.min.js +1 -1
  185. package/dist/x/callProp.mjs +1 -1
  186. package/dist/x/defaultsDeep.es.js +1 -1
  187. package/dist/x/defaultsDeep.es.min.js +1 -1
  188. package/dist/x/defaultsDeep.js +1 -1
  189. package/dist/x/defaultsDeep.min.js +1 -1
  190. package/dist/x/defaultsDeep.mjs +1 -1
  191. package/dist/x/differenceWith.es.js +1 -1
  192. package/dist/x/differenceWith.es.min.js +1 -1
  193. package/dist/x/differenceWith.js +1 -1
  194. package/dist/x/differenceWith.min.js +1 -1
  195. package/dist/x/differenceWith.mjs +1 -1
  196. package/dist/x/filterOut.es.js +1 -1
  197. package/dist/x/filterOut.es.min.js +1 -1
  198. package/dist/x/filterOut.js +1 -1
  199. package/dist/x/filterOut.min.js +1 -1
  200. package/dist/x/filterOut.mjs +1 -1
  201. package/dist/x/find.es.js +1 -1
  202. package/dist/x/find.es.min.js +1 -1
  203. package/dist/x/find.js +1 -1
  204. package/dist/x/find.min.js +1 -1
  205. package/dist/x/find.mjs +1 -1
  206. package/dist/x/findIndex.es.js +1 -1
  207. package/dist/x/findIndex.es.min.js +1 -1
  208. package/dist/x/findIndex.js +1 -1
  209. package/dist/x/findIndex.min.js +1 -1
  210. package/dist/x/findIndex.mjs +1 -1
  211. package/dist/x/first.es.js +1 -1
  212. package/dist/x/first.es.min.js +1 -1
  213. package/dist/x/first.js +1 -1
  214. package/dist/x/first.min.js +1 -1
  215. package/dist/x/first.mjs +1 -1
  216. package/dist/x/flatten.es.js +1 -1
  217. package/dist/x/flatten.es.min.js +1 -1
  218. package/dist/x/flatten.js +1 -1
  219. package/dist/x/flatten.min.js +1 -1
  220. package/dist/x/flatten.mjs +1 -1
  221. package/dist/x/groupBy.es.js +1 -1
  222. package/dist/x/groupBy.es.min.js +1 -1
  223. package/dist/x/groupBy.js +1 -1
  224. package/dist/x/groupBy.min.js +1 -1
  225. package/dist/x/groupBy.mjs +1 -1
  226. package/dist/x/has.es.js +1 -1
  227. package/dist/x/has.es.min.js +1 -1
  228. package/dist/x/has.js +1 -1
  229. package/dist/x/has.min.js +1 -1
  230. package/dist/x/has.mjs +1 -1
  231. package/dist/x/identity.es.js +1 -1
  232. package/dist/x/identity.es.min.js +1 -1
  233. package/dist/x/identity.js +1 -1
  234. package/dist/x/identity.min.js +1 -1
  235. package/dist/x/identity.mjs +1 -1
  236. package/dist/x/includes.es.js +1 -1
  237. package/dist/x/includes.es.min.js +1 -1
  238. package/dist/x/includes.js +1 -1
  239. package/dist/x/includes.min.js +1 -1
  240. package/dist/x/includes.mjs +1 -1
  241. package/dist/x/isDeepEqual.es.js +1 -1
  242. package/dist/x/isDeepEqual.es.min.js +1 -1
  243. package/dist/x/isDeepEqual.js +1 -1
  244. package/dist/x/isDeepEqual.min.js +1 -1
  245. package/dist/x/isDeepEqual.mjs +1 -1
  246. package/dist/x/isEmpty.es.js +1 -1
  247. package/dist/x/isEmpty.es.min.js +1 -1
  248. package/dist/x/isEmpty.js +1 -1
  249. package/dist/x/isEmpty.min.js +1 -1
  250. package/dist/x/isEmpty.mjs +1 -1
  251. package/dist/x/isEqual.es.js +1 -1
  252. package/dist/x/isEqual.es.min.js +1 -1
  253. package/dist/x/isEqual.js +1 -1
  254. package/dist/x/isEqual.min.js +1 -1
  255. package/dist/x/isEqual.mjs +1 -1
  256. package/dist/x/isFunction.es.js +1 -1
  257. package/dist/x/isFunction.es.min.js +1 -1
  258. package/dist/x/isFunction.js +1 -1
  259. package/dist/x/isFunction.min.js +1 -1
  260. package/dist/x/isFunction.mjs +1 -1
  261. package/dist/x/isIn.es.js +1 -1
  262. package/dist/x/isIn.es.min.js +1 -1
  263. package/dist/x/isIn.js +1 -1
  264. package/dist/x/isIn.min.js +1 -1
  265. package/dist/x/isIn.mjs +1 -1
  266. package/dist/x/isObject.es.js +1 -1
  267. package/dist/x/isObject.es.min.js +1 -1
  268. package/dist/x/isObject.js +1 -1
  269. package/dist/x/isObject.min.js +1 -1
  270. package/dist/x/isObject.mjs +1 -1
  271. package/dist/x/isString.es.js +1 -1
  272. package/dist/x/isString.es.min.js +1 -1
  273. package/dist/x/isString.js +1 -1
  274. package/dist/x/isString.min.js +1 -1
  275. package/dist/x/isString.mjs +1 -1
  276. package/dist/x/keys.es.js +1 -1
  277. package/dist/x/keys.es.min.js +1 -1
  278. package/dist/x/keys.js +1 -1
  279. package/dist/x/keys.min.js +1 -1
  280. package/dist/x/keys.mjs +1 -1
  281. package/dist/x/last.es.js +1 -1
  282. package/dist/x/last.es.min.js +1 -1
  283. package/dist/x/last.js +1 -1
  284. package/dist/x/last.min.js +1 -1
  285. package/dist/x/last.mjs +1 -1
  286. package/dist/x/maxBy.es.js +1 -1
  287. package/dist/x/maxBy.es.min.js +1 -1
  288. package/dist/x/maxBy.js +1 -1
  289. package/dist/x/maxBy.min.js +1 -1
  290. package/dist/x/maxBy.mjs +1 -1
  291. package/dist/x/noop.es.js +1 -1
  292. package/dist/x/noop.es.min.js +1 -1
  293. package/dist/x/noop.js +1 -1
  294. package/dist/x/noop.min.js +1 -1
  295. package/dist/x/noop.mjs +1 -1
  296. package/dist/x/pluck.es.js +1 -1
  297. package/dist/x/pluck.es.min.js +1 -1
  298. package/dist/x/pluck.js +1 -1
  299. package/dist/x/pluck.min.js +1 -1
  300. package/dist/x/pluck.mjs +1 -1
  301. package/dist/x/prepend.es.js +1 -1
  302. package/dist/x/prepend.es.min.js +1 -1
  303. package/dist/x/prepend.js +1 -1
  304. package/dist/x/prepend.min.js +1 -1
  305. package/dist/x/prepend.mjs +1 -1
  306. package/dist/x/size.es.js +1 -1
  307. package/dist/x/size.es.min.js +1 -1
  308. package/dist/x/size.js +1 -1
  309. package/dist/x/size.min.js +1 -1
  310. package/dist/x/size.mjs +1 -1
  311. package/dist/x/trace.es.js +1 -1
  312. package/dist/x/trace.es.min.js +1 -1
  313. package/dist/x/trace.js +1 -1
  314. package/dist/x/trace.min.js +1 -1
  315. package/dist/x/trace.mjs +1 -1
  316. package/dist/x/unionWith.es.js +1 -1
  317. package/dist/x/unionWith.es.min.js +1 -1
  318. package/dist/x/unionWith.js +1 -1
  319. package/dist/x/unionWith.min.js +1 -1
  320. package/dist/x/unionWith.mjs +1 -1
  321. package/dist/x/uniq.es.js +1 -1
  322. package/dist/x/uniq.es.min.js +1 -1
  323. package/dist/x/uniq.js +1 -1
  324. package/dist/x/uniq.min.js +1 -1
  325. package/dist/x/uniq.mjs +1 -1
  326. package/dist/x/unless.es.js +1 -1
  327. package/dist/x/unless.es.min.js +1 -1
  328. package/dist/x/unless.js +1 -1
  329. package/dist/x/unless.min.js +1 -1
  330. package/dist/x/unless.mjs +1 -1
  331. package/dist/x/values.es.js +1 -1
  332. package/dist/x/values.es.min.js +1 -1
  333. package/dist/x/values.js +1 -1
  334. package/dist/x/values.min.js +1 -1
  335. package/dist/x/values.mjs +1 -1
  336. package/dist/x/when.es.js +1 -1
  337. package/dist/x/when.es.min.js +1 -1
  338. package/dist/x/when.js +1 -1
  339. package/dist/x/when.min.js +1 -1
  340. package/dist/x/when.mjs +1 -1
  341. package/eq.js +7 -7
  342. package/es.js +112 -61
  343. package/every.js +2 -2
  344. package/filter.js +3 -3
  345. package/flatMap.js +3 -3
  346. package/forEach.js +6 -6
  347. package/gt.js +7 -7
  348. package/gte.js +7 -7
  349. package/index.js +112 -61
  350. package/lt.js +7 -7
  351. package/lte.js +7 -7
  352. package/map.js +11 -11
  353. package/not.js +3 -3
  354. package/or.js +3 -3
  355. package/package.json +1 -1
  356. package/pipe.js +6 -6
  357. package/reduce.js +8 -8
  358. package/some.js +2 -2
  359. package/switchCase.js +6 -6
  360. package/tap.js +7 -12
  361. package/transform.js +7 -7
  362. package/tryCatch.js +4 -7
  363. package/_internal/add.js +0 -12
package/dist/rubico.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.12.1
2
+ * Rubico v2.13.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -368,7 +368,8 @@ const functionArrayAllSeries = function (funcs, args) {
368
368
  const funcsLength = funcs.length, result = []
369
369
  let funcsIndex = -1
370
370
  while (++funcsIndex < funcsLength) {
371
- const resultElement = funcs[funcsIndex](...args)
371
+ const f = funcs[funcsIndex]
372
+ const resultElement = typeof f == 'function' ? f(...args) : f
372
373
  if (isPromise(resultElement)) {
373
374
  return resultElement.then(funcConcat(
374
375
  curry3(objectSet, result, funcsIndex, __),
@@ -379,6 +380,90 @@ const functionArrayAllSeries = function (funcs, args) {
379
380
  return result
380
381
  }
381
382
 
383
+ // argument resolver for curry5
384
+ const curry5ResolveArg0 = (
385
+ baseFunc, arg1, arg2, arg3, arg4,
386
+ ) => function arg0Resolver(arg0) {
387
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
388
+ }
389
+
390
+ // argument resolver for curry5
391
+ const curry5ResolveArg1 = (
392
+ baseFunc, arg0, arg2, arg3, arg4,
393
+ ) => function arg1Resolver(arg1) {
394
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
395
+ }
396
+
397
+ // argument resolver for curry5
398
+ const curry5ResolveArg2 = (
399
+ baseFunc, arg0, arg1, arg3, arg4,
400
+ ) => function arg2Resolver(arg2) {
401
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
402
+ }
403
+
404
+ // argument resolver for curry5
405
+ const curry5ResolveArg3 = (
406
+ baseFunc, arg0, arg1, arg2, arg4,
407
+ ) => function arg3Resolver(arg3) {
408
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
409
+ }
410
+
411
+ // argument resolver for curry5
412
+ const curry5ResolveArg4 = (
413
+ baseFunc, arg0, arg1, arg2, arg3,
414
+ ) => function arg3Resolver(arg4) {
415
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
416
+ }
417
+
418
+ const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
419
+ if (arg0 == __) {
420
+ return curry5ResolveArg0(baseFunc, arg1, arg2, arg3, arg4)
421
+ }
422
+ if (arg1 == __) {
423
+ return curry5ResolveArg1(baseFunc, arg0, arg2, arg3, arg4)
424
+ }
425
+ if (arg2 == __) {
426
+ return curry5ResolveArg2(baseFunc, arg0, arg1, arg3, arg4)
427
+ }
428
+ if (arg3 == __) {
429
+ return curry5ResolveArg3(baseFunc, arg0, arg1, arg2, arg4)
430
+ }
431
+ return curry5ResolveArg4(baseFunc, arg0, arg1, arg2, arg3)
432
+ }
433
+
434
+ const asyncFunctionObjectAllSeries = async function (funcs, args, result, keys, keysIndex) {
435
+ const keysLength = keys.length
436
+ while (++keysIndex < keysLength) {
437
+ const key = keys[keysIndex]
438
+ const f = funcs[key]
439
+ let resultElement = typeof f == 'function' ? f(...args) : f
440
+ if (isPromise(resultElement)) {
441
+ resultElement = await resultElement
442
+ }
443
+ result[key] = resultElement
444
+ }
445
+ return result
446
+ }
447
+
448
+ const functionObjectAllSeries = function (funcs, args) {
449
+ const result = {}
450
+ const keys = Object.keys(funcs)
451
+ const keysLength = keys.length
452
+ let keysIndex = -1
453
+ while (++keysIndex < keysLength) {
454
+ const key = keys[keysIndex]
455
+ const f = funcs[key]
456
+ const resultElement = typeof f == 'function' ? f(...args) : f
457
+ if (isPromise(resultElement)) {
458
+ return resultElement.then(funcConcat(
459
+ curry3(objectSet, result, key, __),
460
+ curry5(asyncFunctionObjectAllSeries, funcs, args, __, keys, keysIndex)))
461
+ }
462
+ result[key] = resultElement
463
+ }
464
+ return result
465
+ }
466
+
382
467
  const functionObjectAll = function (funcs, args) {
383
468
  const result = {}, promises = []
384
469
  for (const key in funcs) {
@@ -435,14 +520,33 @@ const all = function (...args) {
435
520
  }
436
521
 
437
522
  all.series = function allSeries(...args) {
438
- const funcs = args.pop()
439
- if (args.length == 0) {
440
- return curryArgs2(functionArrayAllSeries, funcs, __)
523
+ if (args.length == 1) {
524
+ const resolversOrValues = args[0]
525
+ if (isPromise(resolversOrValues)) {
526
+ return resolversOrValues.then(_allValues)
527
+ }
528
+ if (areAllValuesNonfunctions(resolversOrValues)) {
529
+ return _allValues(resolversOrValues)
530
+ }
531
+ return isArray(resolversOrValues)
532
+ ? curryArgs2(functionArrayAllSeries, resolversOrValues, __)
533
+ : curryArgs2(functionObjectAllSeries, resolversOrValues, __)
441
534
  }
442
- if (areAnyValuesPromises(args)) {
443
- return promiseAll(args).then(curry2(functionArrayAllSeries, funcs, __))
535
+
536
+ const resolversOrValues = args[args.length - 1]
537
+ const argValues = args.slice(0, -1)
538
+
539
+ if (areAnyValuesPromises(argValues)) {
540
+ return isArray(resolversOrValues)
541
+ ? promiseAll(argValues)
542
+ .then(curry2(functionArrayAllSeries, resolversOrValues, __))
543
+ : promiseAll(argValues)
544
+ .then(curry2(functionObjectAllSeries, resolversOrValues, __))
444
545
  }
445
- return functionArrayAllSeries(funcs, args)
546
+
547
+ return isArray(resolversOrValues)
548
+ ? functionArrayAllSeries(resolversOrValues, argValues)
549
+ : functionObjectAllSeries(resolversOrValues, argValues)
446
550
  }
447
551
 
448
552
  const objectAssign = Object.assign
@@ -1791,57 +1895,6 @@ const arrayReduce = function (array, reducer, result) {
1791
1895
  return result
1792
1896
  }
1793
1897
 
1794
- // argument resolver for curry5
1795
- const curry5ResolveArg0 = (
1796
- baseFunc, arg1, arg2, arg3, arg4,
1797
- ) => function arg0Resolver(arg0) {
1798
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1799
- }
1800
-
1801
- // argument resolver for curry5
1802
- const curry5ResolveArg1 = (
1803
- baseFunc, arg0, arg2, arg3, arg4,
1804
- ) => function arg1Resolver(arg1) {
1805
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1806
- }
1807
-
1808
- // argument resolver for curry5
1809
- const curry5ResolveArg2 = (
1810
- baseFunc, arg0, arg1, arg3, arg4,
1811
- ) => function arg2Resolver(arg2) {
1812
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1813
- }
1814
-
1815
- // argument resolver for curry5
1816
- const curry5ResolveArg3 = (
1817
- baseFunc, arg0, arg1, arg2, arg4,
1818
- ) => function arg3Resolver(arg3) {
1819
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1820
- }
1821
-
1822
- // argument resolver for curry5
1823
- const curry5ResolveArg4 = (
1824
- baseFunc, arg0, arg1, arg2, arg3,
1825
- ) => function arg3Resolver(arg4) {
1826
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1827
- }
1828
-
1829
- const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
1830
- if (arg0 == __) {
1831
- return curry5ResolveArg0(baseFunc, arg1, arg2, arg3, arg4)
1832
- }
1833
- if (arg1 == __) {
1834
- return curry5ResolveArg1(baseFunc, arg0, arg2, arg3, arg4)
1835
- }
1836
- if (arg2 == __) {
1837
- return curry5ResolveArg2(baseFunc, arg0, arg1, arg3, arg4)
1838
- }
1839
- if (arg3 == __) {
1840
- return curry5ResolveArg3(baseFunc, arg0, arg1, arg2, arg4)
1841
- }
1842
- return curry5ResolveArg4(baseFunc, arg0, arg1, arg2, arg3)
1843
- }
1844
-
1845
1898
  const objectKeys = Object.keys
1846
1899
 
1847
1900
  const objectReduceAsync = async function (object, reducer, result, keys, index) {
@@ -1976,8 +2029,6 @@ const reduce = function (...args) {
1976
2029
 
1977
2030
  const isBinary = ArrayBuffer.isView
1978
2031
 
1979
- const add = (a, b) => a + b
1980
-
1981
2032
  const _arrayExtend = function (array, values) {
1982
2033
  const arrayLength = array.length,
1983
2034
  valuesLength = values.length
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Rubico v2.12.1
2
+ * Rubico v2.13.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
6
6
  * Rubico may be freely distributed under the CFOSS license.
7
7
  */
8
- 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}}}),promiseRace=Promise.race.bind(Promise);class LinkedList{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const r=this.first;if(null!=r)return r.next?this.first=r.next:this.first=null,this.length-=1,r.value}append(r){const e={value:r};null==this.first&&(this.first=e),null==this.last||(this.last.next=e),this.last=e,this.length+=1}}const symbolAsyncIterator=Symbol.asyncIterator,arrayPush=function(r,e){return r.push(e),r},sleep=r=>new Promise((e=>{setTimeout(e,r)})),MappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}await sleep(10)}if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}return{value:void 0,done:!0}}}},SerialMappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;let r=e(o);isPromise(r)&&(r=await r),t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0)return{value:t.popFirst(),done:!1};await sleep(10)}return t.length>0?{value:t.popFirst(),done:!1}:{value:void 0,done:!0}}}},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]},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},funcApply2=(r,e,t)=>r.apply(e,t),_curryArity=(r,e,t,n)=>function(...o){const s=n.length,i=o.length,c=[];let u=-1,a=-1,l=0;for(;(u+=1)<s;){const s=n[u];if(s==__&&(a+=1)<i){const r=o[a];r==__&&(l+=1),c.push(r)}else c.push(s);if(c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}for(;(a+=1)<i;){const n=o[a];if(n==__&&(l+=1),c.push(n),c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}return areAnyValuesPromises(c)?promiseAll(c).then(curry4(curryArity,r,e,t,__)):curryArity(r,e,t,c)},curryArity=function(r,e,t,n){const o=n.length;if(o<r)return _curryArity(r,e,t,n);let s=-1;for(;(s+=1)<o;){if(n[s]==__)return _curryArity(r,e,t,n)}return e.apply(t,n)},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,this,[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,this,[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):"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):"function"==typeof r.map?r.map(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 functor ${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("function"==typeof r[symbolIterator])return MappingIterator(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return SerialMappingAsyncIterator(r[symbolAsyncIterator](),e);if("function"==typeof r.map)return r.map(e);if(r.constructor==Object)return objectMapSeries(r,e);throw new TypeError(`invalid functor ${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)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append([r,o])}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;)if(t.length>0){let[r,e]=t.popFirst();if(isPromise(r)&&(r=await r),r)return{value:e,done:!1}}else await sleep(10);for(;t.length>0;){let[r,e]=t.popFirst();if(isPromise(r)&&(r=await r),r)return{value:e,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[symbolIterator]?FilteringIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),e):"function"==typeof r.filter?r.filter(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])},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}}}},FlatMappingAsyncIterator=function(r,e){const t=[],n=new Set;let o=!1,s=!1;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async _consumeAsyncIterator(){for await(const o of r){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)}}}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s||n.size>0;){if(t.length>0)return{value:t.shift(),done:!1};n.size>0?await promiseRace(n):await sleep(10)}return t.length>0?{value:t.shift(),done:!1}:{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],o,r);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],n,r);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],n,r);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],n,r);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(;!t.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[symbolIterator]?iteratorForEach(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),e):"function"==typeof r.forEach?(r.forEach(e),r):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)||isPromise(t)?promiseAll([r,e,t]).then(curry2(funcApply,_get,__)):_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)};function _thunkifyArgs(r,e,t){return function(){return r.apply(e,t)}}const thunkify=function(r,...e){return areAnyValuesPromises(e)?promiseAll(e).then(curry3(_thunkifyArgs,r,this,__)):_thunkifyArgs(r,this,e)};thunkify.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry3(_thunkifyArgs,r,e,__)):_thunkifyArgs(r,e,t)};const curry=(r,...e)=>areAnyValuesPromises(e)?promiseAll(e).then(curry4(curryArity,r.length,r,this,__)):curryArity(r.length,r,this,e);curry.arity=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r,e,this,__)):curryArity(r,e,this,t)},curry.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r.length,r,e,__)):curryArity(r.length,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;
8
+ 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],s="function"==typeof t?t(...e):t;if(isPromise(s))return s.then(funcConcat(curry3(objectSet,n,o,__),curry4(asyncFunctionArrayAllSeries,r,e,__,o)));n[o]=s}return n},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)},asyncFunctionObjectAllSeries=async function(r,e,t,n,o){const s=n.length;for(;++o<s;){const s=n[o],i=r[s];let c="function"==typeof i?i(...e):i;isPromise(c)&&(c=await c),t[s]=c}return t},functionObjectAllSeries=function(r,e){const t={},n=Object.keys(r),o=n.length;let s=-1;for(;++s<o;){const o=n[s],i=r[o],c="function"==typeof i?i(...e):i;if(isPromise(c))return c.then(funcConcat(curry3(objectSet,t,o,__),curry5(asyncFunctionObjectAllSeries,r,e,__,n,s)));t[o]=c}return t},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){if(1==r.length){const e=r[0];return isPromise(e)?e.then(_allValues):areAllValuesNonfunctions(e)?_allValues(e):isArray(e)?curryArgs2(functionArrayAllSeries,e,__):curryArgs2(functionObjectAllSeries,e,__)}const e=r[r.length-1],t=r.slice(0,-1);return areAnyValuesPromises(t)?isArray(e)?promiseAll(t).then(curry2(functionArrayAllSeries,e,__)):promiseAll(t).then(curry2(functionObjectAllSeries,e,__)):isArray(e)?functionArrayAllSeries(e,t):functionObjectAllSeries(e,t)};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}}}),promiseRace=Promise.race.bind(Promise);class LinkedList{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const r=this.first;if(null!=r)return r.next?this.first=r.next:this.first=null,this.length-=1,r.value}append(r){const e={value:r};null==this.first&&(this.first=e),null==this.last||(this.last.next=e),this.last=e,this.length+=1}}const symbolAsyncIterator=Symbol.asyncIterator,arrayPush=function(r,e){return r.push(e),r},sleep=r=>new Promise((e=>{setTimeout(e,r)})),MappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}await sleep(10)}if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}return{value:void 0,done:!0}}}},SerialMappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;let r=e(o);isPromise(r)&&(r=await r),t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0)return{value:t.popFirst(),done:!1};await sleep(10)}return t.length>0?{value:t.popFirst(),done:!1}:{value:void 0,done:!0}}}},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]},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},funcApply2=(r,e,t)=>r.apply(e,t),_curryArity=(r,e,t,n)=>function(...o){const s=n.length,i=o.length,c=[];let u=-1,a=-1,l=0;for(;(u+=1)<s;){const s=n[u];if(s==__&&(a+=1)<i){const r=o[a];r==__&&(l+=1),c.push(r)}else c.push(s);if(c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}for(;(a+=1)<i;){const n=o[a];if(n==__&&(l+=1),c.push(n),c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}return areAnyValuesPromises(c)?promiseAll(c).then(curry4(curryArity,r,e,t,__)):curryArity(r,e,t,c)},curryArity=function(r,e,t,n){const o=n.length;if(o<r)return _curryArity(r,e,t,n);let s=-1;for(;(s+=1)<o;){if(n[s]==__)return _curryArity(r,e,t,n)}return e.apply(t,n)},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,this,[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,this,[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):"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):"function"==typeof r.map?r.map(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 functor ${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("function"==typeof r[symbolIterator])return MappingIterator(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return SerialMappingAsyncIterator(r[symbolAsyncIterator](),e);if("function"==typeof r.map)return r.map(e);if(r.constructor==Object)return objectMapSeries(r,e);throw new TypeError(`invalid functor ${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)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append([r,o])}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;)if(t.length>0){let[r,e]=t.popFirst();if(isPromise(r)&&(r=await r),r)return{value:e,done:!1}}else await sleep(10);for(;t.length>0;){let[r,e]=t.popFirst();if(isPromise(r)&&(r=await r),r)return{value:e,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[symbolIterator]?FilteringIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),e):"function"==typeof r.filter?r.filter(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},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,_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])},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}}}},FlatMappingAsyncIterator=function(r,e){const t=[],n=new Set;let o=!1,s=!1;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async _consumeAsyncIterator(){for await(const o of r){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)}}}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s||n.size>0;){if(t.length>0)return{value:t.shift(),done:!1};n.size>0?await promiseRace(n):await sleep(10)}return t.length>0?{value:t.shift(),done:!1}:{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],o,r);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],n,r);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],n,r);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],n,r);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(;!t.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[symbolIterator]?iteratorForEach(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),e):"function"==typeof r.forEach?(r.forEach(e),r):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)||isPromise(t)?promiseAll([r,e,t]).then(curry2(funcApply,_get,__)):_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)};function _thunkifyArgs(r,e,t){return function(){return r.apply(e,t)}}const thunkify=function(r,...e){return areAnyValuesPromises(e)?promiseAll(e).then(curry3(_thunkifyArgs,r,this,__)):_thunkifyArgs(r,this,e)};thunkify.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry3(_thunkifyArgs,r,e,__)):_thunkifyArgs(r,e,t)};const curry=(r,...e)=>areAnyValuesPromises(e)?promiseAll(e).then(curry4(curryArity,r.length,r,this,__)):curryArity(r.length,r,this,e);curry.arity=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r,e,this,__)):curryArity(r,e,this,t)},curry.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r.length,r,e,__)):curryArity(r.length,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,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.12.1
2
+ * Rubico v2.13.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -374,7 +374,8 @@ const functionArrayAllSeries = function (funcs, args) {
374
374
  const funcsLength = funcs.length, result = []
375
375
  let funcsIndex = -1
376
376
  while (++funcsIndex < funcsLength) {
377
- const resultElement = funcs[funcsIndex](...args)
377
+ const f = funcs[funcsIndex]
378
+ const resultElement = typeof f == 'function' ? f(...args) : f
378
379
  if (isPromise(resultElement)) {
379
380
  return resultElement.then(funcConcat(
380
381
  curry3(objectSet, result, funcsIndex, __),
@@ -385,6 +386,90 @@ const functionArrayAllSeries = function (funcs, args) {
385
386
  return result
386
387
  }
387
388
 
389
+ // argument resolver for curry5
390
+ const curry5ResolveArg0 = (
391
+ baseFunc, arg1, arg2, arg3, arg4,
392
+ ) => function arg0Resolver(arg0) {
393
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
394
+ }
395
+
396
+ // argument resolver for curry5
397
+ const curry5ResolveArg1 = (
398
+ baseFunc, arg0, arg2, arg3, arg4,
399
+ ) => function arg1Resolver(arg1) {
400
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
401
+ }
402
+
403
+ // argument resolver for curry5
404
+ const curry5ResolveArg2 = (
405
+ baseFunc, arg0, arg1, arg3, arg4,
406
+ ) => function arg2Resolver(arg2) {
407
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
408
+ }
409
+
410
+ // argument resolver for curry5
411
+ const curry5ResolveArg3 = (
412
+ baseFunc, arg0, arg1, arg2, arg4,
413
+ ) => function arg3Resolver(arg3) {
414
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
415
+ }
416
+
417
+ // argument resolver for curry5
418
+ const curry5ResolveArg4 = (
419
+ baseFunc, arg0, arg1, arg2, arg3,
420
+ ) => function arg3Resolver(arg4) {
421
+ return baseFunc(arg0, arg1, arg2, arg3, arg4)
422
+ }
423
+
424
+ const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
425
+ if (arg0 == __) {
426
+ return curry5ResolveArg0(baseFunc, arg1, arg2, arg3, arg4)
427
+ }
428
+ if (arg1 == __) {
429
+ return curry5ResolveArg1(baseFunc, arg0, arg2, arg3, arg4)
430
+ }
431
+ if (arg2 == __) {
432
+ return curry5ResolveArg2(baseFunc, arg0, arg1, arg3, arg4)
433
+ }
434
+ if (arg3 == __) {
435
+ return curry5ResolveArg3(baseFunc, arg0, arg1, arg2, arg4)
436
+ }
437
+ return curry5ResolveArg4(baseFunc, arg0, arg1, arg2, arg3)
438
+ }
439
+
440
+ const asyncFunctionObjectAllSeries = async function (funcs, args, result, keys, keysIndex) {
441
+ const keysLength = keys.length
442
+ while (++keysIndex < keysLength) {
443
+ const key = keys[keysIndex]
444
+ const f = funcs[key]
445
+ let resultElement = typeof f == 'function' ? f(...args) : f
446
+ if (isPromise(resultElement)) {
447
+ resultElement = await resultElement
448
+ }
449
+ result[key] = resultElement
450
+ }
451
+ return result
452
+ }
453
+
454
+ const functionObjectAllSeries = function (funcs, args) {
455
+ const result = {}
456
+ const keys = Object.keys(funcs)
457
+ const keysLength = keys.length
458
+ let keysIndex = -1
459
+ while (++keysIndex < keysLength) {
460
+ const key = keys[keysIndex]
461
+ const f = funcs[key]
462
+ const resultElement = typeof f == 'function' ? f(...args) : f
463
+ if (isPromise(resultElement)) {
464
+ return resultElement.then(funcConcat(
465
+ curry3(objectSet, result, key, __),
466
+ curry5(asyncFunctionObjectAllSeries, funcs, args, __, keys, keysIndex)))
467
+ }
468
+ result[key] = resultElement
469
+ }
470
+ return result
471
+ }
472
+
388
473
  const functionObjectAll = function (funcs, args) {
389
474
  const result = {}, promises = []
390
475
  for (const key in funcs) {
@@ -441,14 +526,33 @@ const all = function (...args) {
441
526
  }
442
527
 
443
528
  all.series = function allSeries(...args) {
444
- const funcs = args.pop()
445
- if (args.length == 0) {
446
- return curryArgs2(functionArrayAllSeries, funcs, __)
529
+ if (args.length == 1) {
530
+ const resolversOrValues = args[0]
531
+ if (isPromise(resolversOrValues)) {
532
+ return resolversOrValues.then(_allValues)
533
+ }
534
+ if (areAllValuesNonfunctions(resolversOrValues)) {
535
+ return _allValues(resolversOrValues)
536
+ }
537
+ return isArray(resolversOrValues)
538
+ ? curryArgs2(functionArrayAllSeries, resolversOrValues, __)
539
+ : curryArgs2(functionObjectAllSeries, resolversOrValues, __)
447
540
  }
448
- if (areAnyValuesPromises(args)) {
449
- return promiseAll(args).then(curry2(functionArrayAllSeries, funcs, __))
541
+
542
+ const resolversOrValues = args[args.length - 1]
543
+ const argValues = args.slice(0, -1)
544
+
545
+ if (areAnyValuesPromises(argValues)) {
546
+ return isArray(resolversOrValues)
547
+ ? promiseAll(argValues)
548
+ .then(curry2(functionArrayAllSeries, resolversOrValues, __))
549
+ : promiseAll(argValues)
550
+ .then(curry2(functionObjectAllSeries, resolversOrValues, __))
450
551
  }
451
- return functionArrayAllSeries(funcs, args)
552
+
553
+ return isArray(resolversOrValues)
554
+ ? functionArrayAllSeries(resolversOrValues, argValues)
555
+ : functionObjectAllSeries(resolversOrValues, argValues)
452
556
  }
453
557
 
454
558
  const objectAssign = Object.assign
@@ -1797,57 +1901,6 @@ const arrayReduce = function (array, reducer, result) {
1797
1901
  return result
1798
1902
  }
1799
1903
 
1800
- // argument resolver for curry5
1801
- const curry5ResolveArg0 = (
1802
- baseFunc, arg1, arg2, arg3, arg4,
1803
- ) => function arg0Resolver(arg0) {
1804
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1805
- }
1806
-
1807
- // argument resolver for curry5
1808
- const curry5ResolveArg1 = (
1809
- baseFunc, arg0, arg2, arg3, arg4,
1810
- ) => function arg1Resolver(arg1) {
1811
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1812
- }
1813
-
1814
- // argument resolver for curry5
1815
- const curry5ResolveArg2 = (
1816
- baseFunc, arg0, arg1, arg3, arg4,
1817
- ) => function arg2Resolver(arg2) {
1818
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1819
- }
1820
-
1821
- // argument resolver for curry5
1822
- const curry5ResolveArg3 = (
1823
- baseFunc, arg0, arg1, arg2, arg4,
1824
- ) => function arg3Resolver(arg3) {
1825
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1826
- }
1827
-
1828
- // argument resolver for curry5
1829
- const curry5ResolveArg4 = (
1830
- baseFunc, arg0, arg1, arg2, arg3,
1831
- ) => function arg3Resolver(arg4) {
1832
- return baseFunc(arg0, arg1, arg2, arg3, arg4)
1833
- }
1834
-
1835
- const curry5 = function (baseFunc, arg0, arg1, arg2, arg3, arg4) {
1836
- if (arg0 == __) {
1837
- return curry5ResolveArg0(baseFunc, arg1, arg2, arg3, arg4)
1838
- }
1839
- if (arg1 == __) {
1840
- return curry5ResolveArg1(baseFunc, arg0, arg2, arg3, arg4)
1841
- }
1842
- if (arg2 == __) {
1843
- return curry5ResolveArg2(baseFunc, arg0, arg1, arg3, arg4)
1844
- }
1845
- if (arg3 == __) {
1846
- return curry5ResolveArg3(baseFunc, arg0, arg1, arg2, arg4)
1847
- }
1848
- return curry5ResolveArg4(baseFunc, arg0, arg1, arg2, arg3)
1849
- }
1850
-
1851
1904
  const objectKeys = Object.keys
1852
1905
 
1853
1906
  const objectReduceAsync = async function (object, reducer, result, keys, index) {
@@ -1982,8 +2035,6 @@ const reduce = function (...args) {
1982
2035
 
1983
2036
  const isBinary = ArrayBuffer.isView
1984
2037
 
1985
- const add = (a, b) => a + b
1986
-
1987
2038
  const _arrayExtend = function (array, values) {
1988
2039
  const arrayLength = array.length,
1989
2040
  valuesLength = values.length