rubico 2.6.1 → 2.6.3

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 (345) hide show
  1. package/README.md +14 -14
  2. package/_internal/areAllValuesNonfunctions.js +16 -4
  3. package/_internal/areAnyValuesPromises.js +16 -4
  4. package/_internal/arrayMapPool.js +1 -1
  5. package/_internal/arrayMapRate.js +85 -0
  6. package/_internal/functionArrayAll.js +2 -1
  7. package/_internal/functionObjectAll.js +2 -1
  8. package/all.js +103 -34
  9. package/assign.js +19 -3
  10. package/dist/Transducer.es.js +1 -1
  11. package/dist/Transducer.es.min.js +1 -1
  12. package/dist/Transducer.js +1 -1
  13. package/dist/Transducer.min.js +1 -1
  14. package/dist/Transducer.mjs +1 -1
  15. package/dist/__.es.js +1 -1
  16. package/dist/__.es.min.js +1 -1
  17. package/dist/__.js +1 -1
  18. package/dist/__.min.js +1 -1
  19. package/dist/__.mjs +1 -1
  20. package/dist/all.es.js +107 -8
  21. package/dist/all.es.min.js +2 -2
  22. package/dist/all.js +107 -8
  23. package/dist/all.min.js +2 -2
  24. package/dist/all.mjs +107 -8
  25. package/dist/always.es.js +1 -1
  26. package/dist/always.es.min.js +1 -1
  27. package/dist/always.js +1 -1
  28. package/dist/always.min.js +1 -1
  29. package/dist/always.mjs +1 -1
  30. package/dist/and.es.js +30 -9
  31. package/dist/and.es.min.js +2 -2
  32. package/dist/and.js +30 -9
  33. package/dist/and.min.js +2 -2
  34. package/dist/and.mjs +30 -9
  35. package/dist/assign.es.js +3 -2
  36. package/dist/assign.es.min.js +2 -2
  37. package/dist/assign.js +3 -2
  38. package/dist/assign.min.js +2 -2
  39. package/dist/assign.mjs +3 -2
  40. package/dist/compose.es.js +17 -5
  41. package/dist/compose.es.min.js +2 -2
  42. package/dist/compose.js +17 -5
  43. package/dist/compose.min.js +2 -2
  44. package/dist/compose.mjs +17 -5
  45. package/dist/curry.es.js +1 -1
  46. package/dist/curry.es.min.js +1 -1
  47. package/dist/curry.js +1 -1
  48. package/dist/curry.min.js +1 -1
  49. package/dist/curry.mjs +1 -1
  50. package/dist/eq.es.js +17 -5
  51. package/dist/eq.es.min.js +2 -2
  52. package/dist/eq.js +17 -5
  53. package/dist/eq.min.js +2 -2
  54. package/dist/eq.mjs +17 -5
  55. package/dist/every.es.js +1 -1
  56. package/dist/every.es.min.js +1 -1
  57. package/dist/every.js +1 -1
  58. package/dist/every.min.js +1 -1
  59. package/dist/every.mjs +1 -1
  60. package/dist/filter.es.js +1 -1
  61. package/dist/filter.es.min.js +1 -1
  62. package/dist/filter.js +1 -1
  63. package/dist/filter.min.js +1 -1
  64. package/dist/filter.mjs +1 -1
  65. package/dist/flatMap.es.js +1 -1
  66. package/dist/flatMap.es.min.js +1 -1
  67. package/dist/flatMap.js +1 -1
  68. package/dist/flatMap.min.js +1 -1
  69. package/dist/flatMap.mjs +1 -1
  70. package/dist/forEach.es.js +1 -1
  71. package/dist/forEach.es.min.js +1 -1
  72. package/dist/forEach.js +1 -1
  73. package/dist/forEach.min.js +1 -1
  74. package/dist/forEach.mjs +1 -1
  75. package/dist/get.es.js +1 -1
  76. package/dist/get.es.min.js +1 -1
  77. package/dist/get.js +1 -1
  78. package/dist/get.min.js +1 -1
  79. package/dist/get.mjs +1 -1
  80. package/dist/gt.es.js +17 -5
  81. package/dist/gt.es.min.js +2 -2
  82. package/dist/gt.js +17 -5
  83. package/dist/gt.min.js +2 -2
  84. package/dist/gt.mjs +17 -5
  85. package/dist/gte.es.js +17 -5
  86. package/dist/gte.es.min.js +2 -2
  87. package/dist/gte.js +17 -5
  88. package/dist/gte.min.js +2 -2
  89. package/dist/gte.mjs +17 -5
  90. package/dist/lt.es.js +17 -5
  91. package/dist/lt.es.min.js +2 -2
  92. package/dist/lt.js +17 -5
  93. package/dist/lt.min.js +2 -2
  94. package/dist/lt.mjs +17 -5
  95. package/dist/lte.es.js +17 -5
  96. package/dist/lte.es.min.js +2 -2
  97. package/dist/lte.js +17 -5
  98. package/dist/lte.min.js +2 -2
  99. package/dist/lte.mjs +17 -5
  100. package/dist/map.es.js +1 -1
  101. package/dist/map.es.min.js +1 -1
  102. package/dist/map.js +1 -1
  103. package/dist/map.min.js +1 -1
  104. package/dist/map.mjs +1 -1
  105. package/dist/not.es.js +17 -5
  106. package/dist/not.es.min.js +2 -2
  107. package/dist/not.js +17 -5
  108. package/dist/not.min.js +2 -2
  109. package/dist/not.mjs +17 -5
  110. package/dist/omit.es.js +1 -1
  111. package/dist/omit.es.min.js +1 -1
  112. package/dist/omit.js +1 -1
  113. package/dist/omit.min.js +1 -1
  114. package/dist/omit.mjs +1 -1
  115. package/dist/or.es.js +30 -9
  116. package/dist/or.es.min.js +2 -2
  117. package/dist/or.js +30 -9
  118. package/dist/or.min.js +2 -2
  119. package/dist/or.mjs +30 -9
  120. package/dist/pick.es.js +1 -1
  121. package/dist/pick.es.min.js +1 -1
  122. package/dist/pick.js +1 -1
  123. package/dist/pick.min.js +1 -1
  124. package/dist/pick.mjs +1 -1
  125. package/dist/pipe.es.js +17 -5
  126. package/dist/pipe.es.min.js +2 -2
  127. package/dist/pipe.js +17 -5
  128. package/dist/pipe.min.js +2 -2
  129. package/dist/pipe.mjs +17 -5
  130. package/dist/reduce.es.js +1 -1
  131. package/dist/reduce.es.min.js +1 -1
  132. package/dist/reduce.js +1 -1
  133. package/dist/reduce.min.js +1 -1
  134. package/dist/reduce.mjs +1 -1
  135. package/dist/rubico.es.js +107 -44
  136. package/dist/rubico.es.min.js +2 -2
  137. package/dist/rubico.global.js +107 -44
  138. package/dist/rubico.global.min.js +2 -2
  139. package/dist/rubico.js +107 -44
  140. package/dist/rubico.min.js +2 -2
  141. package/dist/rubico.mjs +107 -44
  142. package/dist/set.es.js +1 -1
  143. package/dist/set.es.min.js +1 -1
  144. package/dist/set.js +1 -1
  145. package/dist/set.min.js +1 -1
  146. package/dist/set.mjs +1 -1
  147. package/dist/some.es.js +1 -1
  148. package/dist/some.es.min.js +1 -1
  149. package/dist/some.js +1 -1
  150. package/dist/some.min.js +1 -1
  151. package/dist/some.mjs +1 -1
  152. package/dist/switchCase.es.js +30 -9
  153. package/dist/switchCase.es.min.js +2 -2
  154. package/dist/switchCase.js +30 -9
  155. package/dist/switchCase.min.js +2 -2
  156. package/dist/switchCase.mjs +30 -9
  157. package/dist/tap.es.js +17 -5
  158. package/dist/tap.es.min.js +2 -2
  159. package/dist/tap.js +17 -5
  160. package/dist/tap.min.js +2 -2
  161. package/dist/tap.mjs +17 -5
  162. package/dist/thunkify.es.js +17 -5
  163. package/dist/thunkify.es.min.js +2 -2
  164. package/dist/thunkify.js +17 -5
  165. package/dist/thunkify.min.js +2 -2
  166. package/dist/thunkify.mjs +17 -5
  167. package/dist/transform.es.js +1 -1
  168. package/dist/transform.es.min.js +1 -1
  169. package/dist/transform.js +1 -1
  170. package/dist/transform.min.js +1 -1
  171. package/dist/transform.mjs +1 -1
  172. package/dist/tryCatch.es.js +17 -5
  173. package/dist/tryCatch.es.min.js +2 -2
  174. package/dist/tryCatch.js +17 -5
  175. package/dist/tryCatch.min.js +2 -2
  176. package/dist/tryCatch.mjs +17 -5
  177. package/dist/x/append.es.js +1 -1
  178. package/dist/x/append.es.min.js +1 -1
  179. package/dist/x/append.js +1 -1
  180. package/dist/x/append.min.js +1 -1
  181. package/dist/x/append.mjs +1 -1
  182. package/dist/x/callProp.es.js +1 -1
  183. package/dist/x/callProp.es.min.js +1 -1
  184. package/dist/x/callProp.js +1 -1
  185. package/dist/x/callProp.min.js +1 -1
  186. package/dist/x/callProp.mjs +1 -1
  187. package/dist/x/defaultsDeep.es.js +1 -1
  188. package/dist/x/defaultsDeep.es.min.js +1 -1
  189. package/dist/x/defaultsDeep.js +1 -1
  190. package/dist/x/defaultsDeep.min.js +1 -1
  191. package/dist/x/defaultsDeep.mjs +1 -1
  192. package/dist/x/differenceWith.es.js +1 -1
  193. package/dist/x/differenceWith.es.min.js +1 -1
  194. package/dist/x/differenceWith.js +1 -1
  195. package/dist/x/differenceWith.min.js +1 -1
  196. package/dist/x/differenceWith.mjs +1 -1
  197. package/dist/x/filterOut.es.js +15 -5
  198. package/dist/x/filterOut.es.min.js +2 -2
  199. package/dist/x/filterOut.js +15 -5
  200. package/dist/x/filterOut.min.js +2 -2
  201. package/dist/x/filterOut.mjs +15 -5
  202. package/dist/x/find.es.js +1 -1
  203. package/dist/x/find.es.min.js +1 -1
  204. package/dist/x/find.js +1 -1
  205. package/dist/x/find.min.js +1 -1
  206. package/dist/x/find.mjs +1 -1
  207. package/dist/x/findIndex.es.js +1 -1
  208. package/dist/x/findIndex.es.min.js +1 -1
  209. package/dist/x/findIndex.js +1 -1
  210. package/dist/x/findIndex.min.js +1 -1
  211. package/dist/x/findIndex.mjs +1 -1
  212. package/dist/x/first.es.js +1 -1
  213. package/dist/x/first.es.min.js +1 -1
  214. package/dist/x/first.js +1 -1
  215. package/dist/x/first.min.js +1 -1
  216. package/dist/x/first.mjs +1 -1
  217. package/dist/x/flatten.es.js +1 -1
  218. package/dist/x/flatten.es.min.js +1 -1
  219. package/dist/x/flatten.js +1 -1
  220. package/dist/x/flatten.min.js +1 -1
  221. package/dist/x/flatten.mjs +1 -1
  222. package/dist/x/groupBy.es.js +1 -1
  223. package/dist/x/groupBy.es.min.js +1 -1
  224. package/dist/x/groupBy.js +1 -1
  225. package/dist/x/groupBy.min.js +1 -1
  226. package/dist/x/groupBy.mjs +1 -1
  227. package/dist/x/has.es.js +1 -1
  228. package/dist/x/has.es.min.js +1 -1
  229. package/dist/x/has.js +1 -1
  230. package/dist/x/has.min.js +1 -1
  231. package/dist/x/has.mjs +1 -1
  232. package/dist/x/identity.es.js +1 -1
  233. package/dist/x/identity.es.min.js +1 -1
  234. package/dist/x/identity.js +1 -1
  235. package/dist/x/identity.min.js +1 -1
  236. package/dist/x/identity.mjs +1 -1
  237. package/dist/x/includes.es.js +1 -1
  238. package/dist/x/includes.es.min.js +1 -1
  239. package/dist/x/includes.js +1 -1
  240. package/dist/x/includes.min.js +1 -1
  241. package/dist/x/includes.mjs +1 -1
  242. package/dist/x/isDeepEqual.es.js +1 -1
  243. package/dist/x/isDeepEqual.es.min.js +1 -1
  244. package/dist/x/isDeepEqual.js +1 -1
  245. package/dist/x/isDeepEqual.min.js +1 -1
  246. package/dist/x/isDeepEqual.mjs +1 -1
  247. package/dist/x/isEmpty.es.js +1 -1
  248. package/dist/x/isEmpty.es.min.js +1 -1
  249. package/dist/x/isEmpty.js +1 -1
  250. package/dist/x/isEmpty.min.js +1 -1
  251. package/dist/x/isEmpty.mjs +1 -1
  252. package/dist/x/isEqual.es.js +1 -1
  253. package/dist/x/isEqual.es.min.js +1 -1
  254. package/dist/x/isEqual.js +1 -1
  255. package/dist/x/isEqual.min.js +1 -1
  256. package/dist/x/isEqual.mjs +1 -1
  257. package/dist/x/isFunction.es.js +1 -1
  258. package/dist/x/isFunction.es.min.js +1 -1
  259. package/dist/x/isFunction.js +1 -1
  260. package/dist/x/isFunction.min.js +1 -1
  261. package/dist/x/isFunction.mjs +1 -1
  262. package/dist/x/isIn.es.js +1 -1
  263. package/dist/x/isIn.es.min.js +1 -1
  264. package/dist/x/isIn.js +1 -1
  265. package/dist/x/isIn.min.js +1 -1
  266. package/dist/x/isIn.mjs +1 -1
  267. package/dist/x/isObject.es.js +1 -1
  268. package/dist/x/isObject.es.min.js +1 -1
  269. package/dist/x/isObject.js +1 -1
  270. package/dist/x/isObject.min.js +1 -1
  271. package/dist/x/isObject.mjs +1 -1
  272. package/dist/x/isString.es.js +1 -1
  273. package/dist/x/isString.es.min.js +1 -1
  274. package/dist/x/isString.js +1 -1
  275. package/dist/x/isString.min.js +1 -1
  276. package/dist/x/isString.mjs +1 -1
  277. package/dist/x/keys.es.js +1 -1
  278. package/dist/x/keys.es.min.js +1 -1
  279. package/dist/x/keys.js +1 -1
  280. package/dist/x/keys.min.js +1 -1
  281. package/dist/x/keys.mjs +1 -1
  282. package/dist/x/last.es.js +1 -1
  283. package/dist/x/last.es.min.js +1 -1
  284. package/dist/x/last.js +1 -1
  285. package/dist/x/last.min.js +1 -1
  286. package/dist/x/last.mjs +1 -1
  287. package/dist/x/maxBy.es.js +1 -1
  288. package/dist/x/maxBy.es.min.js +1 -1
  289. package/dist/x/maxBy.js +1 -1
  290. package/dist/x/maxBy.min.js +1 -1
  291. package/dist/x/maxBy.mjs +1 -1
  292. package/dist/x/noop.es.js +1 -1
  293. package/dist/x/noop.es.min.js +1 -1
  294. package/dist/x/noop.js +1 -1
  295. package/dist/x/noop.min.js +1 -1
  296. package/dist/x/noop.mjs +1 -1
  297. package/dist/x/pluck.es.js +1 -1
  298. package/dist/x/pluck.es.min.js +1 -1
  299. package/dist/x/pluck.js +1 -1
  300. package/dist/x/pluck.min.js +1 -1
  301. package/dist/x/pluck.mjs +1 -1
  302. package/dist/x/prepend.es.js +1 -1
  303. package/dist/x/prepend.es.min.js +1 -1
  304. package/dist/x/prepend.js +1 -1
  305. package/dist/x/prepend.min.js +1 -1
  306. package/dist/x/prepend.mjs +1 -1
  307. package/dist/x/size.es.js +1 -1
  308. package/dist/x/size.es.min.js +1 -1
  309. package/dist/x/size.js +1 -1
  310. package/dist/x/size.min.js +1 -1
  311. package/dist/x/size.mjs +1 -1
  312. package/dist/x/trace.es.js +17 -5
  313. package/dist/x/trace.es.min.js +2 -2
  314. package/dist/x/trace.js +17 -5
  315. package/dist/x/trace.min.js +2 -2
  316. package/dist/x/trace.mjs +17 -5
  317. package/dist/x/unionWith.es.js +1 -1
  318. package/dist/x/unionWith.es.min.js +1 -1
  319. package/dist/x/unionWith.js +1 -1
  320. package/dist/x/unionWith.min.js +1 -1
  321. package/dist/x/unionWith.mjs +1 -1
  322. package/dist/x/uniq.es.js +1 -1
  323. package/dist/x/uniq.es.min.js +1 -1
  324. package/dist/x/uniq.js +1 -1
  325. package/dist/x/uniq.min.js +1 -1
  326. package/dist/x/uniq.mjs +1 -1
  327. package/dist/x/unless.es.js +1 -1
  328. package/dist/x/unless.es.min.js +1 -1
  329. package/dist/x/unless.js +1 -1
  330. package/dist/x/unless.min.js +1 -1
  331. package/dist/x/unless.mjs +1 -1
  332. package/dist/x/values.es.js +1 -1
  333. package/dist/x/values.es.min.js +1 -1
  334. package/dist/x/values.js +1 -1
  335. package/dist/x/values.min.js +1 -1
  336. package/dist/x/values.mjs +1 -1
  337. package/dist/x/when.es.js +1 -1
  338. package/dist/x/when.es.min.js +1 -1
  339. package/dist/x/when.js +1 -1
  340. package/dist/x/when.min.js +1 -1
  341. package/dist/x/when.mjs +1 -1
  342. package/es.js +107 -44
  343. package/index.js +107 -44
  344. package/map.js +44 -24
  345. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -11,13 +11,25 @@
11
11
  }
12
12
  }(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
13
13
 
14
+ const isArray = Array.isArray
15
+
14
16
  const isPromise = value => value != null && typeof value.then == 'function'
15
17
 
16
18
  const areAnyValuesPromises = function (values) {
17
- const length = values.length
18
- let index = -1
19
- while (++index < length) {
20
- const value = values[index]
19
+ if (isArray(values)) {
20
+ const length = values.length
21
+ let index = -1
22
+ while (++index < length) {
23
+ const value = values[index]
24
+ if (isPromise(value)) {
25
+ return true
26
+ }
27
+ }
28
+ return false
29
+ }
30
+
31
+ for (const key in values) {
32
+ const value = values[key]
21
33
  if (isPromise(value)) {
22
34
  return true
23
35
  }
@@ -234,14 +246,58 @@ tap.if = function (...args) {
234
246
  return _tapIf(predicate, f, args)
235
247
  }
236
248
 
237
- const isArray = Array.isArray
249
+ const areAllValuesNonfunctions = function (values) {
250
+ if (isArray(values)) {
251
+ const length = values.length
252
+ let index = -1
253
+ while (++index < length) {
254
+ if (typeof values[index] == 'function') {
255
+ return false
256
+ }
257
+ }
258
+ return true
259
+ }
260
+
261
+ for (const key in values) {
262
+ if (typeof values[key] == 'function') {
263
+ return false
264
+ }
265
+ }
266
+ return true
267
+ }
268
+
269
+ const promiseObjectAllExecutor = object => function executor(resolve) {
270
+ const result = {}
271
+ let numPromises = 0
272
+ for (const key in object) {
273
+ const value = object[key]
274
+ if (isPromise(value)) {
275
+ numPromises += 1
276
+ value.then((key => function (res) {
277
+ result[key] = res
278
+ numPromises -= 1
279
+ if (numPromises == 0) {
280
+ resolve(result)
281
+ }
282
+ })(key))
283
+ } else {
284
+ result[key] = value
285
+ }
286
+ }
287
+ if (numPromises == 0) {
288
+ resolve(result)
289
+ }
290
+ }
291
+
292
+ const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
238
293
 
239
294
  const functionArrayAll = function (funcs, args) {
240
295
  const funcsLength = funcs.length,
241
296
  result = Array(funcsLength)
242
297
  let funcsIndex = -1, isAsync = false
243
298
  while (++funcsIndex < funcsLength) {
244
- const resultItem = funcs[funcsIndex](...args)
299
+ const f = funcs[funcsIndex]
300
+ const resultItem = typeof f == 'function' ? f(...args) : f
245
301
  if (isPromise(resultItem)) {
246
302
  isAsync = true
247
303
  }
@@ -323,7 +379,8 @@ const functionArrayAllSeries = function (funcs, args) {
323
379
  const functionObjectAll = function (funcs, args) {
324
380
  const result = {}, promises = []
325
381
  for (const key in funcs) {
326
- const resultItem = funcs[key](...args)
382
+ const f = funcs[key]
383
+ const resultItem = typeof f == 'function' ? f(...args) : f
327
384
  if (isPromise(resultItem)) {
328
385
  promises.push(resultItem.then(curry3(objectSet, result, key, __)))
329
386
  } else {
@@ -333,7 +390,48 @@ const functionObjectAll = function (funcs, args) {
333
390
  return promises.length == 0 ? result : promiseAll(promises).then(always(result))
334
391
  }
335
392
 
393
+ const _allValues = function (values) {
394
+ if (isArray(values)) {
395
+ return areAnyValuesPromises(values)
396
+ ? promiseAll(values)
397
+ : values
398
+ }
399
+ return areAnyValuesPromises(values)
400
+ ? promiseObjectAll(values)
401
+ : values
402
+ }
403
+
336
404
  const all = function (...args) {
405
+ if (args.length == 1) {
406
+ const resolversOrValues = args[0]
407
+ if (isPromise(resolversOrValues)) {
408
+ return resolversOrValues.then(_allValues)
409
+ }
410
+ if (areAllValuesNonfunctions(resolversOrValues)) {
411
+ return _allValues(resolversOrValues)
412
+ }
413
+ return isArray(resolversOrValues)
414
+ ? curryArgs2(functionArrayAll, resolversOrValues, __)
415
+ : curryArgs2(functionObjectAll, resolversOrValues, __)
416
+ }
417
+
418
+ const resolversOrValues = args[args.length - 1]
419
+ const argValues = args.slice(0, -1)
420
+
421
+ if (areAnyValuesPromises(argValues)) {
422
+ return isArray(resolversOrValues)
423
+ ? promiseAll(argValues)
424
+ .then(curry2(functionArrayAll, resolversOrValues, __))
425
+ : promiseAll(argValues)
426
+ .then(curry2(functionObjectAll, resolversOrValues, __))
427
+ }
428
+
429
+ return isArray(resolversOrValues)
430
+ ? functionArrayAll(resolversOrValues, argValues)
431
+ : functionObjectAll(resolversOrValues, argValues)
432
+
433
+ /*
434
+ ////////////////////////////////////////////////////////////////
337
435
  const funcs = args.pop()
338
436
  if (args.length == 0) {
339
437
  return isArray(funcs)
@@ -350,6 +448,7 @@ const all = function (...args) {
350
448
  return isArray(funcs)
351
449
  ? functionArrayAll(funcs, args)
352
450
  : functionObjectAll(funcs, args)
451
+ */
353
452
  }
354
453
 
355
454
  all.series = function allSeries(...args) {
@@ -460,17 +559,6 @@ const arrayConditional = function (array, args, funcsIndex) {
460
559
  : defaultResolverOrValue
461
560
  }
462
561
 
463
- const areAllValuesNonfunctions = function (values) {
464
- const length = values.length
465
- let index = -1
466
- while (++index < length) {
467
- if (typeof values[index] == 'function') {
468
- return false
469
- }
470
- }
471
- return true
472
- }
473
-
474
562
  const thunkify2 = (func, arg0, arg1) => function thunk() {
475
563
  return func(arg0, arg1)
476
564
  }
@@ -619,31 +707,6 @@ const mapMap = function (value, mapper) {
619
707
  : promiseAll(promises).then(always(result))
620
708
  }
621
709
 
622
- const promiseObjectAllExecutor = object => function executor(resolve) {
623
- const result = {}
624
- let numPromises = 0
625
- for (const key in object) {
626
- const value = object[key]
627
- if (isPromise(value)) {
628
- numPromises += 1
629
- value.then((key => function (res) {
630
- result[key] = res
631
- numPromises -= 1
632
- if (numPromises == 0) {
633
- resolve(result)
634
- }
635
- })(key))
636
- } else {
637
- result[key] = value
638
- }
639
- }
640
- if (numPromises == 0) {
641
- resolve(result)
642
- }
643
- }
644
-
645
- const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
646
-
647
710
  const objectMap = function (object, mapper) {
648
711
  const result = {}
649
712
  let isAsync = false
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
- !function(n,t){for(const e in t)n[e]=t[e]}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=function(t){const e=t.length;let o=-1;for(;++o<e;){const e=t[o];if(n(e))return!0}return!1},e=Promise.all.bind(Promise),o=(t,e)=>function(...o){const r=t(...o);return n(r)?r.then(e):e(r)},r=(n,t)=>n(...t),u=Symbol.for("placeholder"),c=function(n,t,e){return t==u?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},i=(n,t)=>function(){return n(...t)},s=(n,t,e)=>n?t():e(),l=function(n,t,e,o){return t==u?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},h=function(n,t,e){return t==u?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},a=function(n,t,e,o){return t==u?((n,t,e)=>function(...o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(...o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(...o){return n(t,e,o)})(n,t,e)},p=function(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},d=function(...n){const o=n.pop();return 0==n.length?h(p,u,o):t(n)?e(n).then(c(p,u,o)):p(n,o)},y=function(t,e,o){const r=t(...o);if(n(r))return r.then(l(s,u,i(d(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};d.if=function(...n){if(2==n.length)return a(y,n[0],n[1],u);const o=n.length,r=n[o-1],c=n[o-2],f=n.slice(0,-2);return t(f)?e(f).then(l(y,c,r,u)):y(c,r,n)};const g=Array.isArray,w=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=t[c](...o);n(e)&&(f=!0),u[c]=e}return f?e(u):u},v=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},x=function(n,t,e){return n[t]=e,n},j=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=t[r](...e);o[r]=n(u)?await u:u}return o},b=function(t,e){const r=t.length,c=[];let f=-1;for(;++f<r;){const r=t[f](...e);if(n(r))return r.then(o(l(x,c,f,u),v(j,t,e,u,f)));c[f]=r}return c},S=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(x,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},M=function(...n){const o=n.pop();return 0==n.length?g(o)?h(w,o,u):h(S,o,u):t(n)?g(o)?e(n).then(c(w,o,u)):e(n).then(c(S,o,u)):g(o)?w(o,n):S(o,n)};M.series=function(...n){const o=n.pop();return 0==n.length?h(b,o,u):t(n)?e(n).then(c(b,o,u)):b(o,n)};const O=Object.assign,m=function(t,e){const o=S(e,[t]);return n(o)?o.then(l(O,{},t,u)):{...t,...o}},z=function(n,t,e){return n(t,...e)},A=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(z,e,u,o)):r}catch(n){return e(n,...o)}},E=(n,t,e,o)=>function(){return n(t,e,o)},T=function(t,e,o){const r=t.length-1;for(;(o+=2)<r;){const r=t[o],c=t[o+1],h="function"==typeof r?r(...e):r;if(n(h))return h.then(l(s,u,"function"==typeof c?i(c,e):f(c),E(T,t,e,o)));if(h)return"function"==typeof c?c(...e):c}if(o==t.length)return;const c=t[r];return"function"==typeof c?c(...e):c},I=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},D=(n,t,e)=>function(){return n(t,e)},P=function(t,e){const o=t.length,r=o-1;for(;(e+=2)<r;){const o=t[e],r=t[e+1];if(n(o))return o.then(l(s,u,f(r),D(P,t,e)));if(o)return r}if(e!=o)return t[e]},B=Symbol.iterator,$=(n,t)=>({toString:()=>"[object MappingIterator]",[B](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),k=n=>({value:n,done:!1}),C=Symbol.asyncIterator,_=(t,e)=>({[C](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(k):{value:r,done:!1}}}),q=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=o(t[c],c,t);n(e)&&(f=!0),u[c]=e}return f?e(u):u},F=(n,t,e)=>n[t](e),R=function(t,o){const r=new Set,c=[];for(const e of t){const f=o(e,e,t);n(f)?c.push(f.then(l(F,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},V=(n,t,e,o)=>n[t](e,o),G=t=>new Promise((t=>function(e){const o={};let r=0;for(const u in t){const c=t[u];n(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(t)),H=function(t,e){const o={};let r=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(r=!0),o[u]=c}return r?G(o):o},J=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=e(t[r],r);o[r]=n(u)?await u:u}return o},K=function(t,e){const r=t.length,c=Array(r);let f=-1;for(;++f<r;){const r=e(t[f],f);if(n(r))return r.then(o(l(x,c,f,u),v(J,t,e,u,f)));c[f]=r}return c},L=(n,t,e,o,r)=>function(){return n(t,e,o,r)},N=async function(t,e,o,r){for(const u in t){if(u in r)continue;let c=e(t[u]);n(c)&&(c=await c),o[u]=c}return o},Q=function(n,t){return n.add(t),n},U=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value);n(u)&&(u=await u),o.add(u),r=t.next()}return o},W=function(n,t,e){return n.set(t,e)},X=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value[1]);n(u)&&(u=await u),o.set(r.value[0],u),r=t.next()}return o},Y=n=>function(...t){return n(...t),t[0]},Z=Promise.race.bind(Promise),nn=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await Z(f);const e=o(t[c]);if(n(e)){const n=e.then(Y((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},tn=function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(t[c]);if(n(r)){const n=new Set,f=r.then(Y((()=>n.delete(f))));return n.add(f),u[c]=f,nn(t,o,e,u,c,n)}u[c]=r}return u},en=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await Z(f);const e=u(i.value,i.value,t);if(n(e)){const n=e.then((t=>{f.delete(n),c.add(t)}));f.add(n)}else c.add(e);i=o.next()}return f.size>0&&await e(f),c},on=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await Z(f);const e=i.value[0],s=u(i.value[1],e,t);if(n(s)){c.set(e,s);const n=s.then((t=>{f.delete(n),c.set(e,t)}));f.add(n)}else c.set(e,s);i=o.next()}return f.size>0&&await e(f),c},rn=async function(t,o,r,u,c,f){for(const e in t){if(e in c)continue;f.size>=o&&await Z(f);const i=r(t[e],e,t);if(n(i)){u[e]=i;const n=i.then((t=>{f.delete(n),u[e]=t}));f.add(n)}else u[e]=i}return f.size>0&&await e(f),u},un=(n,t,e)=>function(...o){const r=e.length,c=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==u&&(s+=1)<c){const n=o[s];n==u&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):cn(n,t,f)}for(;++s<c;){const e=o[s];if(e==u&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):cn(n,t,f)}return cn(n,t,f)},cn=function(n,t,e){const o=e.length;if(o<n)return un(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return un(n,t,e)}return t(...e)},fn=n=>function([t,e]){return n(t,e)},sn=function(t,o){const r=new Map,u=[];return t.forEach(((t,e,o)=>function(r,u){const c=t([u,r]);n(c)?o.push(c.then(fn(cn(3,W,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},ln=function(t,o){return g(t)?q(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const o=q(t,e);return n(o)?o.then(l(F,u,"join","")):o.join("")}(t,o):t.constructor==Set?R(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(v(V,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[B]?$(t[B](),o):"function"==typeof t[C]?_(t[C](),o):t.constructor==Object?H(t,o):o(t)},hn=function(t,e){return null==e?c(ln,u,t):n(t)?t.then(c(ln,u,e)):ln(t,e)},an=(t,o)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,o){const r={},u=[];for(const e in t){const c=o([e,t[e]]);n(c)?u.push(c.then(fn(cn(3,x,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return sn(t,o);throw new TypeError("value is not an Object or Map")};hn.entries=function(t,e){return null==e?c(an,u,t):n(t)?t.then(c(an,u,e)):an(t,e)};const pn=function(t,e){if(g(t))return K(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e){const o=K(t,e);return n(o)?o.then(l(F,u,"join","")):o.join("")}(t,e);if(t.constructor==Set)return function(t,e){const r=new Set,f=t[B]();let i=f.next();for(;!i.done;){const t=e(i.value);if(n(t))return t.then(o(c(Q,r,u),E(U,f,e,r)));r.add(t),i=f.next()}return r}(t,e);if(t.constructor==Map)return function(t,e){const r=new Map,c=t[B]();let f=c.next();for(;!f.done;){const t=f.value[0],i=e(f.value[1]);if(n(i))return i.then(o(l(W,r,t,u),E(X,c,e,r)));r.set(t,i),f=c.next()}return r}(t,e);if(t.constructor==Object)return function(t,e){const r={},c={};for(const f in t){c[f]=!0;const i=e(t[f],f,t);if(n(i))return i.then(o(l(x,r,f,u),L(N,t,e,r,c)));r[f]=i}return r}(t,e);throw new TypeError(`invalid collection ${t}`)};hn.series=function(t,e){return null==e?c(pn,u,t):n(t)?t.then(c(pn,u,e)):pn(t,e)};const dn=function(t,e,o){if(g(t))return tn(t,e,o);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e,o){const r=tn(t,e,o);return n(r)?r.then(l(F,u,"join","")):r.join("")}(t,e,o);if(t.constructor==Set)return function(t,e,o){const r=new Set,u=t[B]();let c=u.next();for(;!c.done;){const f=o(c.value,c.value,t);if(n(f)){const n=new Set,c=f.then((t=>{n.delete(c),r.add(t)}));return n.add(c),en(t,u,e,o,r,n)}r.add(f),c=u.next()}return r}(t,e,o);if(t.constructor==Map)return function(t,e,o){const r=new Map,u=t[B]();let c=u.next();for(;!c.done;){const f=c.value[0],i=o(c.value[1],f,t);if(n(i)){const n=new Set;r.set(f,i);const c=i.then((t=>{n.delete(c),r.set(f,t)}));return n.add(c),on(t,u,e,o,r,n)}r.set(f,i),c=u.next()}return r}(t,e,o);if(t.constructor==Object)return function(t,e,o){const r={},u={};for(const c in t){u[c]=!0;const f=o(t[c],c,t);if(n(f)){const n=new Set;r[c]=f;const i=f.then((t=>{n.delete(i),r[c]=t}));return n.add(i),rn(t,e,o,r,u,n)}r[c]=f}return r}(t,e,o);throw new TypeError(`invalid collection ${t}`)};hn.pool=function(t,e,o){return null==o?l(dn,u,t,e):n(t)?t.then(l(dn,u,e,o)):dn(t,e,o)};const yn=(n,t)=>({[B](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),gn=(t,e)=>({isAsyncIteratorDone:!1,[C](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await t.next();if(r)this.isAsyncIteratorDone=!0;else{const t=e(o);if(n(t)?await t:t)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),wn=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},vn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},xn=function(t,o){const r=t.length,c=[];let f=-1,i=-1;for(;++f<r;){const r=t[f],s=o(r,f,t);if(n(s))return e(wn([s],t,o,f)).then(v(vn,t,c,f-1,u));s&&(c[++i]=r)}return c},jn=(n,t)=>function(){return n(t)},bn=function(){},Sn=function(n,t,e,o){o&&(n[t]=e)},Mn=function(t,o){return g(t)?xn(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=xn(t,e);return n(o)?o.then(l(F,u,"join","")):o.join("")}(t,o):t.constructor==Set?function(t,o){const r=new Set,c=r.add.bind(r),i=[];for(const e of t){const f=o(e,e,t);n(f)?i.push(f.then(l(s,u,jn(c,e),bn))):f&&r.add(e)}return 0==i.length?r:e(i).then(f(r))}(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(l(s,u,L(V,r,"set",e,f),bn))):i&&r.set(e,f)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t.filter?t.filter(o):"function"==typeof t[B]?yn(t[B](),o):"function"==typeof t[C]?gn(t[C](),o):t.constructor==Object?function(t,o){const r={},c=[];for(const e in t){const f=t[e],i=o(f,e,t);n(i)?c.push(i.then(v(Sn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},On=Object.values,mn=(Object.prototype.toString,async function(t,e,o){let r=t.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),n(o)&&(o=await o),r=t.next();return o}),zn=async function(t,e,o,r){const u=t.length;for(;++r<u;)o=e(o,t[r],r,t),n(o)&&(o=await o);return o},An=Object.keys,En=async function(t,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,t[c],c,t),n(o)&&(o=await o)}return o},Tn=async function(t,e,o,r){for(const[u,c]of r)o=e(o,c,u,t),n(o)&&(o=await o);return o},In=function(t,e,o){return g(t)?function(t,e,o){const r=t.length;let c=-1;for(void 0===o&&(o=t[++c]);++c<r;)if(o=e(o,t[c],c,t),n(o))return o.then(v(zn,t,e,u,c));return o}(t,e,o):null==t?void 0===o?c(e,t,u):e(o,t):t.constructor==Map?function(t,e,o){const r=t.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[c,f]of r)if(o=e(o,f,c,t),n(o))return o.then(v(Tn,t,e,u,r));return o}(t,e,o):"function"==typeof t[B]?function(t,e,o){let r=t.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=t.next());!r.done;){if(o=e(o,r.value),n(o))return o.then(l(mn,t,e,u));r=t.next()}return o}(t[B](),e,o):"function"==typeof t[C]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(t[C](),e,o):"function"==typeof t.reduce?t.reduce(e,o):"function"==typeof t.chain?t.chain(c(e,o,u)):"function"==typeof t.flatMap?t.flatMap(c(e,o,u)):t.constructor==Object?function(t,e,o){const r=An(t),c=r.length;let f=-1;for(void 0===o&&(o=t[r[++f]]);++f<c;){const c=r[f];if(o=e(o,t[c],c,t),n(o))return o.then((i=En,l=e,h=u,a=r,p=f,(s=t)==u?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==u?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==u?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==u?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(t,e,o):void 0===o?c(e,t,u):e(o,t)},Dn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(In,t,e,u)):In(t,e,r)}return n(o)?o.then(l(In,t,e,u)):In(t,e,o)},Pn=ArrayBuffer.isView,Bn=function(n,t){return g(t)||Pn(t)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n)},$n="function"==typeof Buffer,kn=$n?Buffer.alloc:bn,Cn=function(n,t){const e=n.length,o=$n&&n.constructor==Buffer?kn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},_n=function(n,t){return g(t)||Pn(t)?Cn(n,t):Cn(n,[t])},qn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",jn(e,n)),t.on("error",o)})(n,t)),Fn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?qn(n,t):(n.write(t),n);var e},Rn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Vn=function(n,t){return n.concat(t)},Gn=function(t,e,o){const r=In(t,e(bn),null);return n(r)?r.then(f(o)):o},Hn=function(t,e,o){if(g(o))return In(t,e(Bn),o);if(Pn(o)){const r=In(t,e(Bn),[]);return n(r)?r.then(c(_n,o,u)):_n(o,r)}if(null==o)return Gn(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=In(t,e(Bn),[o]);return n(r)?r.then(l(F,u,"join","")):r.join("")}return"function"==typeof o.concat?In(t,e(Vn),o):"function"==typeof o.write?In(t,e(Fn),o):r==Set?In(t,e(Rn),o):r==Object?In(t,e(O),o):Gn(t,e,o)},Jn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Hn,t,e,u)):Hn(t,e,r)}return n(o)?o.then(l(Hn,t,e,u)):Hn(t,e,o)},Kn=function(n,t){return n.push(t),n},Ln=n=>new Promise((t=>{setTimeout(t,n)})),Nn=(n,t)=>t,Qn=n=>n,Un=(n,t)=>function(...e){return t(n(...e))},Wn=async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))},Xn=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(g(e)){const n=e.length;let t=-1;for(;++t<n;)i.push(e[t])}else if(null==e)i.push(e);else if("function"==typeof e.then)r.push(e.then(c(Kn,i,u)));else if("function"==typeof e[B])for(const n of e)i.push(n);else if("function"==typeof e[C])r.push(Wn(e[C](),c(Kn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Qn);n(t)?r.push(t.then(c(Kn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Qn);n(t)?r.push(t.then(c(Kn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Un(Nn,c(Kn,i,u)),null);n(t)&&r.push(t)}else if(e.constructor==Object)for(const n in e)i.push(e[n]);else i.push(e)}return 0==r.length?i:e(r).then(f(i))},Yn=function(t){const o=[],r={},f=c(O,r,u),i=Un(Nn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[B])for(const n of u)O(r,n);else if("function"==typeof u[C])o.push(Wn(u[C](),f));else if("function"==typeof u.chain){const t=u.chain(Qn);n(t)?o.push(t.then(f)):O(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Qn);n(t)?o.push(t.then(f)):f(t)}else if("function"==typeof u.reduce){const t=u.reduce(i,null);n(t)&&o.push(t)}else O(r,u)}return 0==o.length?r:e(o).then((()=>r))},Zn=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(F,r,"add",u);for(const e of t)if(g(e)){const n=e.length;let t=-1;for(;++t<n;)r.add(e[t])}else if(null==e)r.add(e);else if("function"==typeof e[B])for(const n of e)r.add(n);else if("function"==typeof e[C])o.push(Wn(e[C](),f));else if("function"==typeof e.chain){const t=e.chain(Qn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Qn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.reduce){const t=e.reduce(c,null);n(t)&&o.push(t)}else if(e.constructor==Object)for(const n in e)r.add(e[n]);else r.add(e);return 0==o.length?r:e(o).then((()=>r))},nt=o(Xn,c(((n,t)=>n.join(t)),u,"")),tt=function(t,e){if(g(t))return function(t,e){const o=q(t,e);return n(o)?o.then(Xn):Xn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return B in t?function(n,t){let e=[],o=0;return{[B](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=In(t(r.value),Kn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(t,e):function(t,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[C](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:c,done:f}=await t.next();if(f)this.isAsyncIteratorDone=f;else{const t=e(c);if(n(t)){const n=t.then(l(In,u,Kn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=In(t,Kn,o);if(n(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await Z([Ln(1e3),...r])}return{value:void 0,done:!0}}}}(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const o=t.constructor;return o==Object?function(t,e){const o=H(t,e);return n(o)?o.then(Yn):Yn(o)}(t,e):o==Set?function(t,e){const o=R(t,e);return n(o)?o.then(Zn):Zn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=q(t,e);return n(o)?o.then(nt):nt(o)}(t,e):e(t)},et=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},ot=async function(t,e,o){for(const r in t){if(r in o)continue;const u=e(t[r]);n(u)&&await u}return t},rt=async function(t,e){let o=t.next();for(;!o.done;){const r=e(o.value);n(r)&&await r,o=t.next()}return t},ut=function(t,o){return g(t)?function(t,o){const r=t.length,u=[];let c=-1;for(;++c<r;){const e=o(t[c]);n(e)&&u.push(e)}return 0==u.length?t:e(u).then(f(t))}(t,o):null==t?t:"function"==typeof t.forEach?(t.forEach(o),t):"function"==typeof t[B]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))}(t[B](),o):"function"==typeof t[C]?Wn(t[C](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const u=o(t[e]);n(u)&&r.push(u)}return 0==r.length?t:e(r).then(f(t))}(t,o):t},ct=function(t,e){return"function"==typeof t?c(ut,u,t):n(t)?t.then(c(ut,u,e)):ut(t,e)},ft=function(t,e){if(g(t))return function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return o.then(E(et,t,e,r))}return t}(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("function"==typeof t[B])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(D(rt,t,e));o=t.next()}return t}(t[B](),e);if("function"==typeof t[C])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[C](),e);if(t.constructor==Object)return function(t,e){const o={};for(const r in t){o[r]=!0;const u=e(t[r]);if(n(u))return u.then(E(ot,t,e,o))}return t}(t,e);throw new TypeError(`invalid collection ${t}`)};ct.series=function(t,e){return"function"==typeof t?c(ft,u,t):n(t)?t.then(c(ft,u,e)):ft(t,e)};const it=function(n){const t=n.then((n=>[n,t]));return t},st=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(it(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await Z(r);if(r.delete(t),n)return!0}return!1},lt=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return st(t,e,r,new Set([it(o)]));if(o)return!0}return!1},ht=async function(t,e,o,r=20){let u=t.next();for(n(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await Z(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(it(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await Z(o);if(o.delete(t),n)return!0}return!1},at=function(t,e){return g(t)?lt(t,e):null==t?e(t):"function"==typeof t[B]?function(t,e){for(const o of t){const r=e(o);if(n(r))return ht(t,e,new Set([it(r)]));if(r)return!0}return!1}(t[B](),e):"function"==typeof t[C]?ht(t[C](),e,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!0===e?e:n(e)?e.then(c((n=>function(t,e){return!!t||n(e)})(t),u,o)):!!e||t(o)})(e),!1):t.constructor==Object?lt(On(t),e):e(t)},pt=function(t,o){const r=t.length,c=[];let f=-1;for(;++f<r;){const e=o(t[f]);if(n(e))c.push(e);else if(!e)return!1}return 0==c.length||e(c).then(l(F,u,"every",Boolean))},dt=(n,t,e)=>!!t&&n(e),yt=function(t,o){return g(t)?pt(t,o):null==t?o(t):"function"==typeof t[B]?function(t,o){const r=[];for(const e of t){const t=o(e);if(n(t))r.push(t);else if(!t)return!1}return 0==r.length||e(r).then(l(F,u,"every",Boolean))}(t[B](),o):"function"==typeof t[C]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await Z(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(it(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await Z(o);if(o.delete(t),!n)return!1}return!0}(t[C](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(dt,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?pt(On(t),o):o(t)},gt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,D(gt,t,e),f(!1)));if(!o)return!1}return!0},wt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),!r)return!1}return!0},vt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,E(wt,t,e,r),f(!1)));if(!o)return!1}return!0},xt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,f(!0),D(xt,t,e)));if(o)return!0}return!1},jt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),r)return!0}return!1},bt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,f(!0),E(jt,t,e,r)));if(o)return!0}return!1},St=n=>!n,Mt=function(t,e){const o=e(...t);return n(o)?o.then(St):!o},Ot=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},mt=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(fn(o)):o(c,f)},zt=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(fn(o)):o(c,u)},At=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(fn(o)):o(r,c)},Et=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?Ot(mt,u,o,f,c):t(r)?e(r).then(v(mt,u,o,f,c)):mt(r,o,f,c):i?0==r.length?Ot(zt,u,o,f,c):t(r)?e(r).then(v(zt,u,o,f,c)):zt(r,o,f,c):s?0==r.length?Ot(At,u,o,f,c):t(r)?e(r).then(v(At,u,o,f,c)):At(r,o,f,c):n(f)||n(c)?e([f,c]).then(fn(o)):o(f,c)},Tt=Et((function(n,t){return n==t})),It=Et(((n,t)=>n>t)),Dt=Et(((n,t)=>n<t)),Pt=Et(((n,t)=>n>=t)),Bt=Et(((n,t)=>n<=t)),$t=/[.|[|\]]+/,kt=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split($t):e?n.slice(1).split($t):o?n.slice(0,t).split($t):n.split($t)}),500),Ct=n=>g(n)?n:"string"==typeof n?kt(n):[n],_t=function(n,t){const e=Ct(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},qt=function(n,t,e){const o=null==n?void 0:_t(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Ft=function(n,t,e){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(n))return n;const o=Ct(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=g(t)?t.slice():{...t};f[n]=e,f=e}}return c},Rt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Ft,t,u,e)):Ft(t,r,e)}return n(o)?o.then(l(Ft,t,u,e)):Ft(t,o,e)},Vt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=_t(n,e);null!=u&&(o=Ft(o,u,e))}return o},Gt=function(n,t){if(null==n)return;const e=Ct(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Ht=function(n){const t={};for(const e in n){const o=n[e];g(o)?t[e]=Jt(o):null!=o&&o.constructor==Object?t[e]=Ht(o):t[e]=o}return t},Jt=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];g(t)?e[o]=Jt(t):null!=t&&t.constructor==Object?e[o]=Ht(t):e[o]=t}return e},Kt=function(n,t){const e=t.length,o=g(r=n)?Jt(r):null==r?r:r.constructor==Object?Ht(r):r;var r;let u=-1;for(;++u<e;)Gt(o,t[u]);return o},Lt=(n,...t)=>cn(n.length,n,t);Lt.arity=function(n,t,...e){return cn(n,t,e)};return{pipe:function(...n){const f=n.pop().reduce(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},compose:function(...n){const f=n.pop().reduceRight(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},tap:d,forEach:ct,switchCase:(...n)=>{const o=n.pop();return I(o)?P(o,-2):0==n.length?a(T,o,u,-2):t(n)?e(n).then(l(T,o,u,-2)):T(o,n,-2)},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(A,r,o,u)):A(r,o,n)}const o=n[0],r=n[1];return function(...n){return A(o,r,n)}},all:M,assign:function(t,e){return null==e?c(m,u,t):n(t)?t.then(c(m,u,e)):m(t,e)},get:function(t,e,o){return"string"==typeof t||"number"==typeof t||g(t)?l(qt,u,t,e):n(t)?t.then(l(qt,u,e,o)):qt(t,e,o)},set:function(t,e,o){return null==o?l(Rt,u,t,e):n(t)?t.then(l(Rt,u,e,o)):Rt(t,e,o)},pick:function(t,e){return null==e?c(Vt,u,t):n(t)?t.then(c(Vt,u,e)):Vt(t,e)},omit:function(t,e){return null==e?c(Kt,u,t):n(t)?t.then(c(Kt,u,e)):Kt(t,e)},map:hn,filter:function(n,t){return"function"==typeof n?c(Mn,u,n):Mn(n,t)},flatMap:(t,e)=>"function"==typeof t?c(tt,u,t):n(t)?t.then(c(tt,u,e)):tt(t,e),reduce:function(...t){return"function"==typeof t[0]?l(Dn,u,t[0],t[1]):n(t[0])?t[0].then(l(Dn,u,t[1],t[2])):Dn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Jn,u,t[0],t[1]):n(t[0])?t[0].then(l(Jn,u,t[1],t[2])):Jn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return I(o)?gt(o,-1):0==n.length?h(vt,u,o):t(n)?e(n).then(c(vt,u,o)):vt(n,o)},or:function(...n){const o=n.pop();return I(o)?xt(o,-1):0==n.length?h(bt,u,o):t(n)?e(n).then(c(bt,u,o)):bt(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(Mt,u,o):t(n)?e(n).then(c(Mt,u,o)):Mt(n,o):!o},some:function(t,e){return"function"==typeof t?c(at,u,t):n(t)?t.then(c(at,u,e)):at(t,e)},every:function(t,e){return"function"==typeof t?c(yt,u,t):n(t)?t.then(c(yt,u,e)):yt(t,e)},eq:Tt,gt:It,lt:Dt,gte:Pt,lte:Bt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Lt,__:u}}());
8
+ !function(n,t){for(const e in t)n[e]=t[e]}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,e=function(e){if(n(e)){const n=e.length;let o=-1;for(;++o<n;){const n=e[o];if(t(n))return!0}return!1}for(const n in e){const o=e[n];if(t(o))return!0}return!1},o=Promise.all.bind(Promise),r=(n,e)=>function(...o){const r=n(...o);return t(r)?r.then(e):e(r)},u=(n,t)=>n(...t),c=Symbol.for("placeholder"),f=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},i=n=>function(){return n},s=(n,t)=>function(){return n(...t)},l=(n,t,e)=>n?t():e(),h=function(n,t,e,o){return t==c?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==c?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},a=function(n,t,e){return t==c?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},p=function(n,t,e,o){return t==c?((n,t,e)=>function(...o){return n(o,t,e)})(n,e,o):e==c?((n,t,e)=>function(...o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(...o){return n(t,e,o)})(n,t,e)},d=function(n,e){const o=n[0],r=e(...n);return t(r)?r.then(i(o)):o},y=function(...n){const t=n.pop();return 0==n.length?a(d,c,t):e(n)?o(n).then(f(d,c,t)):d(n,t)},g=function(n,e,o){const r=n(...o);if(t(r))return r.then(h(l,c,s(y(e),o),i(o[0])));if(r){const n=e(...o);if(t(n))return n.then(i(o[0]))}return o[0]};y.if=function(...n){if(2==n.length)return p(g,n[0],n[1],c);const t=n.length,r=n[t-1],u=n[t-2],f=n.slice(0,-2);return e(f)?o(f).then(h(g,u,r,c)):g(u,r,n)};const w=function(t){if(n(t)){const n=t.length;let e=-1;for(;++e<n;)if("function"==typeof t[e])return!1;return!0}for(const n in t)if("function"==typeof t[n])return!1;return!0},v=n=>new Promise((n=>function(e){const o={};let r=0;for(const u in n){const c=n[u];t(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(n)),x=function(n,e){const r=n.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const o=n[c],r="function"==typeof o?o(...e):o;t(r)&&(f=!0),u[c]=r}return f?o(u):u},j=function(n,t,e,o,r){return t==c?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==c?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==c?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},b=function(n,t,e){return n[t]=e,n},S=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=n[r](...e);o[r]=t(u)?await u:u}return o},M=function(n,e){const o=n.length,u=[];let f=-1;for(;++f<o;){const o=n[f](...e);if(t(o))return o.then(r(h(b,u,f,c),j(S,n,e,c,f)));u[f]=o}return u},O=function(n,e){const r={},u=[];for(const o in n){const f=n[o],i="function"==typeof f?f(...e):f;t(i)?u.push(i.then(h(b,r,o,c))):r[o]=i}return 0==u.length?r:o(u).then(i(r))},m=function(t){return n(t)?e(t)?o(t):t:e(t)?v(t):t},z=function(...r){if(1==r.length){const e=r[0];return t(e)?e.then(m):w(e)?m(e):n(e)?a(x,e,c):a(O,e,c)}const u=r[r.length-1],i=r.slice(0,-1);return e(i)?n(u)?o(i).then(f(x,u,c)):o(i).then(f(O,u,c)):n(u)?x(u,i):O(u,i)};z.series=function(...n){const t=n.pop();return 0==n.length?a(M,t,c):e(n)?o(n).then(f(M,t,c)):M(t,n)};const A=Object.assign,E=function(n,e){const o=O(e,[n]);return t(o)?o.then(h(A,{},n,c)):{...n,...o}},T=function(n,t,e){return n(t,...e)},I=function(n,e,o){try{const r=n(...o);return t(r)?r.catch(h(T,e,c,o)):r}catch(n){return e(n,...o)}},D=(n,t,e,o)=>function(){return n(t,e,o)},P=function(n,e,o){const r=n.length-1;for(;(o+=2)<r;){const r=n[o],u=n[o+1],f="function"==typeof r?r(...e):r;if(t(f))return f.then(h(l,c,"function"==typeof u?s(u,e):i(u),D(P,n,e,o)));if(f)return"function"==typeof u?u(...e):u}if(o==n.length)return;const u=n[r];return"function"==typeof u?u(...e):u},B=(n,t,e)=>function(){return n(t,e)},$=function(n,e){const o=n.length,r=o-1;for(;(e+=2)<r;){const o=n[e],r=n[e+1];if(t(o))return o.then(h(l,c,i(r),B($,n,e)));if(o)return r}if(e!=o)return n[e]},k=Symbol.iterator,C=(n,t)=>({toString:()=>"[object MappingIterator]",[k](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),_=n=>({value:n,done:!1}),q=Symbol.asyncIterator,F=(n,e)=>({[q](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(_):{value:r,done:!1}}}),R=function(n,e){const r=n.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const o=e(n[c],c,n);t(o)&&(f=!0),u[c]=o}return f?o(u):u},V=(n,t,e)=>n[t](e),G=function(n,e){const r=new Set,u=[];for(const o of n){const f=e(o,o,n);t(f)?u.push(f.then(h(V,r,"add",c))):r.add(f)}return 0==u.length?r:o(u).then(i(r))},H=(n,t,e,o)=>n[t](e,o),J=function(n,e){const o={};let r=!1;for(const u in n){const c=e(n[u],u,n);t(c)&&(r=!0),o[u]=c}return r?v(o):o},K=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=e(n[r],r);o[r]=t(u)?await u:u}return o},L=function(n,e){const o=n.length,u=Array(o);let f=-1;for(;++f<o;){const o=e(n[f],f);if(t(o))return o.then(r(h(b,u,f,c),j(K,n,e,c,f)));u[f]=o}return u},N=(n,t,e,o,r)=>function(){return n(t,e,o,r)},Q=async function(n,e,o,r){for(const u in n){if(u in r)continue;let c=e(n[u]);t(c)&&(c=await c),o[u]=c}return o},U=function(n,t){return n.add(t),n},W=async function(n,e,o){let r=n.next();for(;!r.done;){let u=e(r.value);t(u)&&(u=await u),o.add(u),r=n.next()}return o},X=function(n,t,e){return n.set(t,e)},Y=async function(n,e,o){let r=n.next();for(;!r.done;){let u=e(r.value[1]);t(u)&&(u=await u),o.set(r.value[0],u),r=n.next()}return o},Z=n=>function(...t){return n(...t),t[0]},nn=Promise.race.bind(Promise),tn=async function(n,e,r,u,c,f){const i=n.length;for(;++c<i;){f.size>=r&&await nn(f);const o=e(n[c]);if(t(o)){const n=o.then(Z((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=o}return o(u)},en=function(n,e,o){const r=n.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(n[c]);if(t(r)){const t=new Set,f=r.then(Z((()=>t.delete(f))));return t.add(f),u[c]=f,tn(n,o,e,u,c,t)}u[c]=r}return u},on=async function(n,e,r,u,c,f){let i=e.next();for(;!i.done;){f.size>=r&&await nn(f);const o=u(i.value,i.value,n);if(t(o)){const n=o.then((t=>{f.delete(n),c.add(t)}));f.add(n)}else c.add(o);i=e.next()}return f.size>0&&await o(f),c},rn=async function(n,e,r,u,c,f){let i=e.next();for(;!i.done;){f.size>=r&&await nn(f);const o=i.value[0],s=u(i.value[1],o,n);if(t(s)){c.set(o,s);const n=s.then((t=>{f.delete(n),c.set(o,t)}));f.add(n)}else c.set(o,s);i=e.next()}return f.size>0&&await o(f),c},un=async function(n,e,r,u,c,f){for(const o in n){if(o in c)continue;f.size>=e&&await nn(f);const i=r(n[o],o,n);if(t(i)){u[o]=i;const n=i.then((t=>{f.delete(n),u[o]=t}));f.add(n)}else u[o]=i}return f.size>0&&await o(f),u},cn=(n,t,e)=>function(...o){const r=e.length,u=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==c&&(s+=1)<u){const n=o[s];n==c&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):fn(n,t,f)}for(;++s<u;){const e=o[s];if(e==c&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):fn(n,t,f)}return fn(n,t,f)},fn=function(n,t,e){const o=e.length;if(o<n)return cn(n,t,e);let r=-1;for(;++r<o;){if(e[r]==c)return cn(n,t,e)}return t(...e)},sn=n=>function([t,e]){return n(t,e)},ln=function(n,e){const r=new Map,u=[];return n.forEach(((n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(sn(fn(3,X,[e])))):e.set(c[0],c[1])})(e,r,u)),0==u.length?r:o(u).then(i(r))},hn=function(e,r){return n(e)?R(e,r):null==e?e:"function"==typeof e.then?e.then(r):"function"==typeof e.map?e.map(r):"string"==typeof e||e.constructor==String?function(n,e){const o=R(n,e);return t(o)?o.then(h(V,c,"join","")):o.join("")}(e,r):e.constructor==Set?G(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,f]of n){const i=e(f,o,n);t(i)?u.push(i.then(j(H,r,"set",o,c))):r.set(o,i)}return 0==u.length?r:o(u).then(i(r))}(e,r):"function"==typeof e[k]?C(e[k](),r):"function"==typeof e[q]?F(e[q](),r):e.constructor==Object?J(e,r):r(e)},an=function(n,e){return null==e?f(hn,c,n):t(n)?n.then(f(hn,c,e)):hn(n,e)},pn=(n,e)=>{if(null==n)throw new TypeError("value is not an Object or Map");if(n.constructor==Object)return function(n,e){const r={},u=[];for(const o in n){const c=e([o,n[o]]);t(c)?u.push(c.then(sn(fn(3,b,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(i(r))}(n,e);if(n.constructor==Map)return ln(n,e);throw new TypeError("value is not an Object or Map")};an.entries=function(n,e){return null==e?f(pn,c,n):t(n)?n.then(f(pn,c,e)):pn(n,e)};const dn=function(e,o){if(n(e))return L(e,o);if(null==e)throw new TypeError(`invalid collection ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e){const o=L(n,e);return t(o)?o.then(h(V,c,"join","")):o.join("")}(e,o);if(e.constructor==Set)return function(n,e){const o=new Set,u=n[k]();let i=u.next();for(;!i.done;){const n=e(i.value);if(t(n))return n.then(r(f(U,o,c),D(W,u,e,o)));o.add(n),i=u.next()}return o}(e,o);if(e.constructor==Map)return function(n,e){const o=new Map,u=n[k]();let f=u.next();for(;!f.done;){const n=f.value[0],i=e(f.value[1]);if(t(i))return i.then(r(h(X,o,n,c),D(Y,u,e,o)));o.set(n,i),f=u.next()}return o}(e,o);if(e.constructor==Object)return function(n,e){const o={},u={};for(const f in n){u[f]=!0;const i=e(n[f],f,n);if(t(i))return i.then(r(h(b,o,f,c),N(Q,n,e,o,u)));o[f]=i}return o}(e,o);throw new TypeError(`invalid collection ${e}`)};an.series=function(n,e){return null==e?f(dn,c,n):t(n)?n.then(f(dn,c,e)):dn(n,e)};const yn=function(e,o,r){if(n(e))return en(e,o,r);if(null==e)throw new TypeError(`invalid collection ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e,o){const r=en(n,e,o);return t(r)?r.then(h(V,c,"join","")):r.join("")}(e,o,r);if(e.constructor==Set)return function(n,e,o){const r=new Set,u=n[k]();let c=u.next();for(;!c.done;){const f=o(c.value,c.value,n);if(t(f)){const t=new Set,c=f.then((n=>{t.delete(c),r.add(n)}));return t.add(c),on(n,u,e,o,r,t)}r.add(f),c=u.next()}return r}(e,o,r);if(e.constructor==Map)return function(n,e,o){const r=new Map,u=n[k]();let c=u.next();for(;!c.done;){const f=c.value[0],i=o(c.value[1],f,n);if(t(i)){const t=new Set;r.set(f,i);const c=i.then((n=>{t.delete(c),r.set(f,n)}));return t.add(c),rn(n,u,e,o,r,t)}r.set(f,i),c=u.next()}return r}(e,o,r);if(e.constructor==Object)return function(n,e,o){const r={},u={};for(const c in n){u[c]=!0;const f=o(n[c],c,n);if(t(f)){const t=new Set;r[c]=f;const i=f.then((n=>{t.delete(i),r[c]=n}));return t.add(i),un(n,e,o,r,u,t)}r[c]=f}return r}(e,o,r);throw new TypeError(`invalid collection ${e}`)};an.pool=function(n,e,o){return null==o?h(yn,c,n,e):t(n)?n.then(h(yn,c,e,o)):yn(n,e,o)};const gn=(n,t)=>({[k](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),wn=(n,e)=>({isAsyncIteratorDone:!1,[q](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await n.next();if(r)this.isAsyncIteratorDone=!0;else{const n=e(o);if(t(n)?await n:n)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),vn=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},xn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},jn=function(n,e){const r=n.length,u=[];let f=-1,i=-1;for(;++f<r;){const r=n[f],s=e(r,f,n);if(t(s))return o(vn([s],n,e,f)).then(j(xn,n,u,f-1,c));s&&(u[++i]=r)}return u},bn=(n,t)=>function(){return n(t)},Sn=function(){},Mn=function(n,t,e,o){o&&(n[t]=e)},On=function(e,r){return n(e)?jn(e,r):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=jn(n,e);return t(o)?o.then(h(V,c,"join","")):o.join("")}(e,r):e.constructor==Set?function(n,e){const r=new Set,u=r.add.bind(r),f=[];for(const o of n){const i=e(o,o,n);t(i)?f.push(i.then(h(l,c,bn(u,o),Sn))):i&&r.add(o)}return 0==f.length?r:o(f).then(i(r))}(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,f]of n){const i=e(f,o,n);t(i)?u.push(i.then(h(l,c,N(H,r,"set",o,f),Sn))):i&&r.set(o,f)}return 0==u.length?r:o(u).then(i(r))}(e,r):"function"==typeof e.filter?e.filter(r):"function"==typeof e[k]?gn(e[k](),r):"function"==typeof e[q]?wn(e[q](),r):e.constructor==Object?function(n,e){const r={},u=[];for(const o in n){const f=n[o],i=e(f,o,n);t(i)?u.push(i.then(j(Mn,r,o,n[o],c))):i&&(r[o]=f)}return 0==u.length?r:o(u).then(i(r))}(e,r):e},mn=Object.values,zn=(Object.prototype.toString,async function(n,e,o){let r=n.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),t(o)&&(o=await o),r=n.next();return o}),An=async function(n,e,o,r){const u=n.length;for(;++r<u;)o=e(o,n[r],r,n),t(o)&&(o=await o);return o},En=Object.keys,Tn=async function(n,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,n[c],c,n),t(o)&&(o=await o)}return o},In=async function(n,e,o,r){for(const[u,c]of r)o=e(o,c,u,n),t(o)&&(o=await o);return o},Dn=function(e,o,r){return n(e)?function(n,e,o){const r=n.length;let u=-1;for(void 0===o&&(o=n[++u]);++u<r;)if(o=e(o,n[u],u,n),t(o))return o.then(j(An,n,e,c,u));return o}(e,o,r):null==e?void 0===r?f(o,e,c):o(r,e):e.constructor==Map?function(n,e,o){const r=n.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[u,f]of r)if(o=e(o,f,u,n),t(o))return o.then(j(In,n,e,c,r));return o}(e,o,r):"function"==typeof e[k]?function(n,e,o){let r=n.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=n.next());!r.done;){if(o=e(o,r.value),t(o))return o.then(h(zn,n,e,c));r=n.next()}return o}(e[k](),o,r):"function"==typeof e[q]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(e[q](),o,r):"function"==typeof e.reduce?e.reduce(o,r):"function"==typeof e.chain?e.chain(f(o,r,c)):"function"==typeof e.flatMap?e.flatMap(f(o,r,c)):e.constructor==Object?function(n,e,o){const r=En(n),u=r.length;let f=-1;for(void 0===o&&(o=n[r[++f]]);++f<u;){const u=r[f];if(o=e(o,n[u],u,n),t(o))return o.then((i=Tn,l=e,h=c,a=r,p=f,(s=n)==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(e,o,r):void 0===r?f(o,e,c):o(r,e)},Pn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Dn,n,e,c)):Dn(n,e,r)}return t(o)?o.then(h(Dn,n,e,c)):Dn(n,e,o)},Bn=ArrayBuffer.isView,$n=function(t,e){return n(e)||Bn(e)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(t,e):(t.push(e),t)},kn="function"==typeof Buffer,Cn=kn?Buffer.alloc:Sn,_n=function(n,t){const e=n.length,o=kn&&n.constructor==Buffer?Cn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},qn=function(t,e){return n(e)||Bn(e)?_n(t,e):_n(t,[e])},Fn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",bn(e,n)),t.on("error",o)})(n,t)),Rn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Fn(n,t):(n.write(t),n);var e},Vn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Gn=function(n,t){return n.concat(t)},Hn=function(n,e,o){const r=Dn(n,e(Sn),null);return t(r)?r.then(i(o)):o},Jn=function(e,o,r){if(n(r))return Dn(e,o($n),r);if(Bn(r)){const n=Dn(e,o($n),[]);return t(n)?n.then(f(qn,r,c)):qn(r,n)}if(null==r)return Hn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=Dn(e,o($n),[r]);return t(n)?n.then(h(V,c,"join","")):n.join("")}return"function"==typeof r.concat?Dn(e,o(Gn),r):"function"==typeof r.write?Dn(e,o(Rn),r):u==Set?Dn(e,o(Vn),r):u==Object?Dn(e,o(A),r):Hn(e,o,r)},Kn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Jn,n,e,c)):Jn(n,e,r)}return t(o)?o.then(h(Jn,n,e,c)):Jn(n,e,o)},Ln=function(n,t){return n.push(t),n},Nn=n=>new Promise((t=>{setTimeout(t,n)})),Qn=(n,t)=>t,Un=n=>n,Wn=(n,t)=>function(...e){return t(n(...e))},Xn=async function(n,e){const r=[];for await(const o of n){const n=e(o);t(n)&&r.push(n)}return 0==r.length?n:o(r).then(i(n))},Yn=function(e){const r=e.length,u=[],s=[];let l=-1;for(;++l<r;){const o=e[l];if(n(o)){const n=o.length;let t=-1;for(;++t<n;)s.push(o[t])}else if(null==o)s.push(o);else if("function"==typeof o.then)u.push(o.then(f(Ln,s,c)));else if("function"==typeof o[k])for(const n of o)s.push(n);else if("function"==typeof o[q])u.push(Xn(o[q](),f(Ln,s,c)));else if("function"==typeof o.chain){const n=o.chain(Un);t(n)?u.push(n.then(f(Ln,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Un);t(n)?u.push(n.then(f(Ln,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Wn(Qn,f(Ln,s,c)),null);t(n)&&u.push(n)}else if(o.constructor==Object)for(const n in o)s.push(o[n]);else s.push(o)}return 0==u.length?s:o(u).then(i(s))},Zn=function(n){const e=[],r={},u=f(A,r,c),i=Wn(Qn,u);for(const o in n){const c=n[o];if(null!=c)if("function"==typeof c[k])for(const n of c)A(r,n);else if("function"==typeof c[q])e.push(Xn(c[q](),u));else if("function"==typeof c.chain){const n=c.chain(Un);t(n)?e.push(n.then(u)):A(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Un);t(n)?e.push(n.then(u)):u(n)}else if("function"==typeof c.reduce){const n=c.reduce(i,null);t(n)&&e.push(n)}else A(r,c)}return 0==e.length?r:o(e).then((()=>r))},nt=function(e){e.size;const r=[],u=new Set,f=(n,t)=>u.add(t),i=h(V,u,"add",c);for(const o of e)if(n(o)){const n=o.length;let t=-1;for(;++t<n;)u.add(o[t])}else if(null==o)u.add(o);else if("function"==typeof o[k])for(const n of o)u.add(n);else if("function"==typeof o[q])r.push(Xn(o[q](),i));else if("function"==typeof o.chain){const n=o.chain(Un);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Un);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.reduce){const n=o.reduce(f,null);t(n)&&r.push(n)}else if(o.constructor==Object)for(const n in o)u.add(o[n]);else u.add(o);return 0==r.length?u:o(r).then((()=>u))},tt=r(Yn,f(((n,t)=>n.join(t)),c,"")),et=function(e,o){if(n(e))return function(n,e){const o=R(n,e);return t(o)?o.then(Yn):Yn(o)}(e,o);if(null==e)return o(e);if("function"==typeof e.then)return e.then(o);if("function"==typeof e.next)return k in e?function(n,t){let e=[],o=0;return{[k](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=Dn(t(r.value),Ln,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(e,o):function(n,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[q](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:u,done:f}=await n.next();if(f)this.isAsyncIteratorDone=f;else{const n=e(u);if(t(n)){const t=n.then(h(Dn,c,Ln,o)).then((()=>r.delete(t)));r.add(t)}else{const e=Dn(n,Ln,o);if(t(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await nn([Nn(1e3),...r])}return{value:void 0,done:!0}}}}(e,o);if("function"==typeof e.chain)return e.chain(o);if("function"==typeof e.flatMap)return e.flatMap(o);const r=e.constructor;return r==Object?function(n,e){const o=J(n,e);return t(o)?o.then(Zn):Zn(o)}(e,o):r==Set?function(n,e){const o=G(n,e);return t(o)?o.then(nt):nt(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=R(n,e);return t(o)?o.then(tt):tt(o)}(e,o):o(e)},ot=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},rt=async function(n,e,o){for(const r in n){if(r in o)continue;const u=e(n[r]);t(u)&&await u}return n},ut=async function(n,e){let o=n.next();for(;!o.done;){const r=e(o.value);t(r)&&await r,o=n.next()}return n},ct=function(e,r){return n(e)?function(n,e){const r=n.length,u=[];let c=-1;for(;++c<r;){const o=e(n[c]);t(o)&&u.push(o)}return 0==u.length?n:o(u).then(i(n))}(e,r):null==e?e:"function"==typeof e.forEach?(e.forEach(r),e):"function"==typeof e[k]?function(n,e){const r=[];for(const o of n){const n=e(o);t(n)&&r.push(n)}return 0==r.length?n:o(r).then(i(n))}(e[k](),r):"function"==typeof e[q]?Xn(e[q](),r):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o]);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(i(n))}(e,r):e},ft=function(n,e){return"function"==typeof n?f(ct,c,n):t(n)?n.then(f(ct,c,e)):ct(n,e)},it=function(e,o){if(n(e))return function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return o.then(D(ot,n,e,r))}return n}(e,o);if(null==e)throw new TypeError(`invalid collection ${e}`);if("function"==typeof e[k])return function(n,e){let o=n.next();for(;!n.done;){const r=e(o.value);if(t(r))return r.then(B(ut,n,e));o=n.next()}return n}(e[k](),o);if("function"==typeof e[q])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[q](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r]);if(t(u))return u.then(D(rt,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};ft.series=function(n,e){return"function"==typeof n?f(it,c,n):t(n)?n.then(f(it,c,e)):it(n,e)};const st=function(n){const t=n.then((n=>[n,t]));return t},lt=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(st(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await nn(r);if(r.delete(t),n)return!0}return!1},ht=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return lt(n,e,r,new Set([st(o)]));if(o)return!0}return!1},at=async function(n,e,o,r=20){let u=n.next();for(t(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await nn(o);if(o.delete(t),n)return!0}const c=e(u.value);if(t(c))o.add(st(c));else if(c)return!0;u=n.next(),t(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await nn(o);if(o.delete(t),n)return!0}return!1},pt=function(e,o){return n(e)?ht(e,o):null==e?o(e):"function"==typeof e[k]?function(n,e){for(const o of n){const r=e(o);if(t(r))return at(n,e,new Set([st(r)]));if(r)return!0}return!1}(e[k](),o):"function"==typeof e[q]?at(e[q](),o,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!0===e?e:t(e)?e.then(f((n=>function(t,e){return!!t||n(e)})(n),c,o)):!!e||n(o)})(o),!1):e.constructor==Object?ht(mn(e),o):o(e)},dt=function(n,e){const r=n.length,u=[];let f=-1;for(;++f<r;){const o=e(n[f]);if(t(o))u.push(o);else if(!o)return!1}return 0==u.length||o(u).then(h(V,c,"every",Boolean))},yt=(n,t,e)=>!!t&&n(e),gt=function(e,r){return n(e)?dt(e,r):null==e?r(e):"function"==typeof e[k]?function(n,e){const r=[];for(const o of n){const n=e(o);if(t(n))r.push(n);else if(!n)return!1}return 0==r.length||o(r).then(h(V,c,"every",Boolean))}(e[k](),r):"function"==typeof e[q]?async function(n,e,o,r=20){let u=await n.next();for(;!u.done;){if(o.size>=r){const[n,t]=await nn(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(t(c))o.add(st(c));else if(!c)return!1;u=await n.next()}for(;o.size>0;){const[n,t]=await nn(o);if(o.delete(t),!n)return!1}return!0}(e[q](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(yt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?dt(mn(e),r):r(e)},wt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(wt,n,e),i(!1)));if(!o)return!1}return!0},vt=async function(n,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...n)),t(r)&&(r=await r),!r)return!1}return!0},xt=function(n,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...n)),t(o))return o.then(h(l,c,D(vt,n,e,r),i(!1)));if(!o)return!1}return!0},jt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,i(!0),B(jt,n,e)));if(o)return!0}return!1},bt=async function(n,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...n)),t(r)&&(r=await r),r)return!0}return!1},St=function(n,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...n)),t(o))return o.then(h(l,c,i(!0),D(bt,n,e,r)));if(o)return!0}return!1},Mt=n=>!n,Ot=function(n,e){const o=e(...n);return t(o)?o.then(Mt):!o},mt=function(n,t,e,o,r){return t==c?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==c?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==c?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},zt=function(n,e,r,u){const c=r(...n),f=u(...n);return t(c)||t(f)?o([c,f]).then(sn(e)):e(c,f)},At=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(sn(e)):e(c,u)},Et=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(sn(e)):e(r,c)},Tt=n=>function(...r){const u=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof u;return i&&s?0==r.length?mt(zt,c,n,f,u):e(r)?o(r).then(j(zt,c,n,f,u)):zt(r,n,f,u):i?0==r.length?mt(At,c,n,f,u):e(r)?o(r).then(j(At,c,n,f,u)):At(r,n,f,u):s?0==r.length?mt(Et,c,n,f,u):e(r)?o(r).then(j(Et,c,n,f,u)):Et(r,n,f,u):t(f)||t(u)?o([f,u]).then(sn(n)):n(f,u)},It=Tt((function(n,t){return n==t})),Dt=Tt(((n,t)=>n>t)),Pt=Tt(((n,t)=>n<t)),Bt=Tt(((n,t)=>n>=t)),$t=Tt(((n,t)=>n<=t)),kt=/[.|[|\]]+/,Ct=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split(kt):e?n.slice(1).split(kt):o?n.slice(0,t).split(kt):n.split(kt)}),500),_t=t=>n(t)?t:"string"==typeof t?Ct(t):[t],qt=function(n,t){const e=_t(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Ft=function(n,t,e){const o=null==n?void 0:qt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Rt=function(t,e,o){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(t))return t;const r=_t(o),u=r.length,c=u-1,f={...t};let i=f,s=-1;for(;++s<u;){const t=r[s];if(s==c)i[t]=e;else{const e=i[t],o=n(e)?e.slice():{...e};i[t]=o,i=o}}return f},Vt=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Rt,n,c,e)):Rt(n,r,e)}return t(o)?o.then(h(Rt,n,c,e)):Rt(n,o,e)},Gt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=qt(n,e);null!=u&&(o=Rt(o,u,e))}return o},Ht=function(n,t){if(null==n)return;const e=_t(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Jt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Kt(r):null!=r&&r.constructor==Object?e[o]=Jt(r):e[o]=r}return e},Kt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Kt(e):null!=e&&e.constructor==Object?o[r]=Jt(e):o[r]=e}return o},Lt=function(t,e){const o=e.length,r=n(u=t)?Kt(u):null==u?u:u.constructor==Object?Jt(u):u;var u;let c=-1;for(;++c<o;)Ht(r,e[c]);return r},Nt=(n,...t)=>fn(n.length,n,t);Nt.arity=function(n,t,...e){return fn(n,t,e)};return{pipe:function(...n){const t=n.pop().reduce(r);return 0==n.length?t:e(n)?o(n).then(f(u,t,c)):t(...n)},compose:function(...n){const t=n.pop().reduceRight(r);return 0==n.length?t:e(n)?o(n).then(f(u,t,c)):t(...n)},tap:y,forEach:ft,switchCase:(...n)=>{const t=n.pop();return w(t)?$(t,-2):0==n.length?p(P,t,c,-2):e(n)?o(n).then(h(P,t,c,-2)):P(t,n,-2)},tryCatch:function(...n){if(n.length>2){const t=n.pop(),r=n.pop();return e(n)?o(n).then(h(I,r,t,c)):I(r,t,n)}const t=n[0],r=n[1];return function(...n){return I(t,r,n)}},all:z,assign:function(n,e){return null==e?f(E,c,n):t(n)?n.then(f(E,c,e)):E(n,e)},get:function(e,o,r){return"string"==typeof e||"number"==typeof e||n(e)?h(Ft,c,e,o):t(e)?e.then(h(Ft,c,o,r)):Ft(e,o,r)},set:function(n,e,o){return null==o?h(Vt,c,n,e):t(n)?n.then(h(Vt,c,e,o)):Vt(n,e,o)},pick:function(n,e){return null==e?f(Gt,c,n):t(n)?n.then(f(Gt,c,e)):Gt(n,e)},omit:function(n,e){return null==e?f(Lt,c,n):t(n)?n.then(f(Lt,c,e)):Lt(n,e)},map:an,filter:function(n,t){return"function"==typeof n?f(On,c,n):On(n,t)},flatMap:(n,e)=>"function"==typeof n?f(et,c,n):t(n)?n.then(f(et,c,e)):et(n,e),reduce:function(...n){return"function"==typeof n[0]?h(Pn,c,n[0],n[1]):t(n[0])?n[0].then(h(Pn,c,n[1],n[2])):Pn(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Kn,c,n[0],n[1]):t(n[0])?n[0].then(h(Kn,c,n[1],n[2])):Kn(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?wt(t,-1):0==n.length?a(xt,c,t):e(n)?o(n).then(f(xt,c,t)):xt(n,t)},or:function(...n){const t=n.pop();return w(t)?jt(t,-1):0==n.length?a(St,c,t):e(n)?o(n).then(f(St,c,t)):St(n,t)},not:function(...n){const t=n.pop();return"function"==typeof t?0==n.length?a(Ot,c,t):e(n)?o(n).then(f(Ot,c,t)):Ot(n,t):!t},some:function(n,e){return"function"==typeof n?f(pt,c,n):t(n)?n.then(f(pt,c,e)):pt(n,e)},every:function(n,e){return"function"==typeof n?f(gt,c,n):t(n)?n.then(f(gt,c,e)):gt(n,e)},eq:It,gt:Dt,lt:Pt,gte:Bt,lte:$t,thunkify:(n,...t)=>function(){return e(t)?o(t).then(f(u,n,c)):n(...t)},always:i,curry:Nt,__:c}}());
package/dist/rubico.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -11,13 +11,25 @@
11
11
  else (root.rubico = rubico) // Browser
12
12
  }(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
13
13
 
14
+ const isArray = Array.isArray
15
+
14
16
  const isPromise = value => value != null && typeof value.then == 'function'
15
17
 
16
18
  const areAnyValuesPromises = function (values) {
17
- const length = values.length
18
- let index = -1
19
- while (++index < length) {
20
- const value = values[index]
19
+ if (isArray(values)) {
20
+ const length = values.length
21
+ let index = -1
22
+ while (++index < length) {
23
+ const value = values[index]
24
+ if (isPromise(value)) {
25
+ return true
26
+ }
27
+ }
28
+ return false
29
+ }
30
+
31
+ for (const key in values) {
32
+ const value = values[key]
21
33
  if (isPromise(value)) {
22
34
  return true
23
35
  }
@@ -234,14 +246,58 @@ tap.if = function (...args) {
234
246
  return _tapIf(predicate, f, args)
235
247
  }
236
248
 
237
- const isArray = Array.isArray
249
+ const areAllValuesNonfunctions = function (values) {
250
+ if (isArray(values)) {
251
+ const length = values.length
252
+ let index = -1
253
+ while (++index < length) {
254
+ if (typeof values[index] == 'function') {
255
+ return false
256
+ }
257
+ }
258
+ return true
259
+ }
260
+
261
+ for (const key in values) {
262
+ if (typeof values[key] == 'function') {
263
+ return false
264
+ }
265
+ }
266
+ return true
267
+ }
268
+
269
+ const promiseObjectAllExecutor = object => function executor(resolve) {
270
+ const result = {}
271
+ let numPromises = 0
272
+ for (const key in object) {
273
+ const value = object[key]
274
+ if (isPromise(value)) {
275
+ numPromises += 1
276
+ value.then((key => function (res) {
277
+ result[key] = res
278
+ numPromises -= 1
279
+ if (numPromises == 0) {
280
+ resolve(result)
281
+ }
282
+ })(key))
283
+ } else {
284
+ result[key] = value
285
+ }
286
+ }
287
+ if (numPromises == 0) {
288
+ resolve(result)
289
+ }
290
+ }
291
+
292
+ const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
238
293
 
239
294
  const functionArrayAll = function (funcs, args) {
240
295
  const funcsLength = funcs.length,
241
296
  result = Array(funcsLength)
242
297
  let funcsIndex = -1, isAsync = false
243
298
  while (++funcsIndex < funcsLength) {
244
- const resultItem = funcs[funcsIndex](...args)
299
+ const f = funcs[funcsIndex]
300
+ const resultItem = typeof f == 'function' ? f(...args) : f
245
301
  if (isPromise(resultItem)) {
246
302
  isAsync = true
247
303
  }
@@ -323,7 +379,8 @@ const functionArrayAllSeries = function (funcs, args) {
323
379
  const functionObjectAll = function (funcs, args) {
324
380
  const result = {}, promises = []
325
381
  for (const key in funcs) {
326
- const resultItem = funcs[key](...args)
382
+ const f = funcs[key]
383
+ const resultItem = typeof f == 'function' ? f(...args) : f
327
384
  if (isPromise(resultItem)) {
328
385
  promises.push(resultItem.then(curry3(objectSet, result, key, __)))
329
386
  } else {
@@ -333,7 +390,48 @@ const functionObjectAll = function (funcs, args) {
333
390
  return promises.length == 0 ? result : promiseAll(promises).then(always(result))
334
391
  }
335
392
 
393
+ const _allValues = function (values) {
394
+ if (isArray(values)) {
395
+ return areAnyValuesPromises(values)
396
+ ? promiseAll(values)
397
+ : values
398
+ }
399
+ return areAnyValuesPromises(values)
400
+ ? promiseObjectAll(values)
401
+ : values
402
+ }
403
+
336
404
  const all = function (...args) {
405
+ if (args.length == 1) {
406
+ const resolversOrValues = args[0]
407
+ if (isPromise(resolversOrValues)) {
408
+ return resolversOrValues.then(_allValues)
409
+ }
410
+ if (areAllValuesNonfunctions(resolversOrValues)) {
411
+ return _allValues(resolversOrValues)
412
+ }
413
+ return isArray(resolversOrValues)
414
+ ? curryArgs2(functionArrayAll, resolversOrValues, __)
415
+ : curryArgs2(functionObjectAll, resolversOrValues, __)
416
+ }
417
+
418
+ const resolversOrValues = args[args.length - 1]
419
+ const argValues = args.slice(0, -1)
420
+
421
+ if (areAnyValuesPromises(argValues)) {
422
+ return isArray(resolversOrValues)
423
+ ? promiseAll(argValues)
424
+ .then(curry2(functionArrayAll, resolversOrValues, __))
425
+ : promiseAll(argValues)
426
+ .then(curry2(functionObjectAll, resolversOrValues, __))
427
+ }
428
+
429
+ return isArray(resolversOrValues)
430
+ ? functionArrayAll(resolversOrValues, argValues)
431
+ : functionObjectAll(resolversOrValues, argValues)
432
+
433
+ /*
434
+ ////////////////////////////////////////////////////////////////
337
435
  const funcs = args.pop()
338
436
  if (args.length == 0) {
339
437
  return isArray(funcs)
@@ -350,6 +448,7 @@ const all = function (...args) {
350
448
  return isArray(funcs)
351
449
  ? functionArrayAll(funcs, args)
352
450
  : functionObjectAll(funcs, args)
451
+ */
353
452
  }
354
453
 
355
454
  all.series = function allSeries(...args) {
@@ -460,17 +559,6 @@ const arrayConditional = function (array, args, funcsIndex) {
460
559
  : defaultResolverOrValue
461
560
  }
462
561
 
463
- const areAllValuesNonfunctions = function (values) {
464
- const length = values.length
465
- let index = -1
466
- while (++index < length) {
467
- if (typeof values[index] == 'function') {
468
- return false
469
- }
470
- }
471
- return true
472
- }
473
-
474
562
  const thunkify2 = (func, arg0, arg1) => function thunk() {
475
563
  return func(arg0, arg1)
476
564
  }
@@ -619,31 +707,6 @@ const mapMap = function (value, mapper) {
619
707
  : promiseAll(promises).then(always(result))
620
708
  }
621
709
 
622
- const promiseObjectAllExecutor = object => function executor(resolve) {
623
- const result = {}
624
- let numPromises = 0
625
- for (const key in object) {
626
- const value = object[key]
627
- if (isPromise(value)) {
628
- numPromises += 1
629
- value.then((key => function (res) {
630
- result[key] = res
631
- numPromises -= 1
632
- if (numPromises == 0) {
633
- resolve(result)
634
- }
635
- })(key))
636
- } else {
637
- result[key] = value
638
- }
639
- }
640
- if (numPromises == 0) {
641
- resolve(result)
642
- }
643
- }
644
-
645
- const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
646
-
647
710
  const objectMap = function (object, mapper) {
648
711
  const result = {}
649
712
  let isAsync = false