rubico 2.4.2 → 2.6.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 (375) hide show
  1. package/README.md +3 -0
  2. package/_internal/arrayMapPool.js +11 -19
  3. package/_internal/mapMapPool.js +80 -0
  4. package/_internal/mapMapSeries.js +62 -0
  5. package/_internal/objectForEachSeries.js +6 -4
  6. package/_internal/objectMapPool.js +77 -0
  7. package/_internal/objectMapSeries.js +62 -0
  8. package/_internal/setAdd.js +14 -0
  9. package/_internal/setMapPool.js +79 -0
  10. package/_internal/setMapSeries.js +61 -0
  11. package/_internal/stringMap.js +1 -1
  12. package/_internal/stringMapPool.js +22 -0
  13. package/_internal/stringMapSeries.js +31 -0
  14. package/all.js +11 -1
  15. package/and.js +9 -0
  16. package/assign.js +14 -1
  17. package/compose.js +8 -0
  18. package/dist/Transducer.es.js +1 -1
  19. package/dist/Transducer.es.min.js +1 -1
  20. package/dist/Transducer.js +1 -1
  21. package/dist/Transducer.min.js +1 -1
  22. package/dist/Transducer.mjs +1 -1
  23. package/dist/__.es.js +1 -1
  24. package/dist/__.es.min.js +1 -1
  25. package/dist/__.js +1 -1
  26. package/dist/__.min.js +1 -1
  27. package/dist/__.mjs +1 -1
  28. package/dist/all.es.js +1 -1
  29. package/dist/all.es.min.js +1 -1
  30. package/dist/all.js +1 -1
  31. package/dist/all.min.js +1 -1
  32. package/dist/all.mjs +1 -1
  33. package/dist/always.es.js +1 -1
  34. package/dist/always.es.min.js +1 -1
  35. package/dist/always.js +1 -1
  36. package/dist/always.min.js +1 -1
  37. package/dist/always.mjs +1 -1
  38. package/dist/and.es.js +1 -1
  39. package/dist/and.es.min.js +1 -1
  40. package/dist/and.js +1 -1
  41. package/dist/and.min.js +1 -1
  42. package/dist/and.mjs +1 -1
  43. package/dist/assign.es.js +1 -1
  44. package/dist/assign.es.min.js +1 -1
  45. package/dist/assign.js +1 -1
  46. package/dist/assign.min.js +1 -1
  47. package/dist/assign.mjs +1 -1
  48. package/dist/compose.es.js +1 -1
  49. package/dist/compose.es.min.js +1 -1
  50. package/dist/compose.js +1 -1
  51. package/dist/compose.min.js +1 -1
  52. package/dist/compose.mjs +1 -1
  53. package/dist/curry.es.js +1 -1
  54. package/dist/curry.es.min.js +1 -1
  55. package/dist/curry.js +1 -1
  56. package/dist/curry.min.js +1 -1
  57. package/dist/curry.mjs +1 -1
  58. package/dist/eq.es.js +1 -1
  59. package/dist/eq.es.min.js +1 -1
  60. package/dist/eq.js +1 -1
  61. package/dist/eq.min.js +1 -1
  62. package/dist/eq.mjs +1 -1
  63. package/dist/every.es.js +1 -1
  64. package/dist/every.es.min.js +1 -1
  65. package/dist/every.js +1 -1
  66. package/dist/every.min.js +1 -1
  67. package/dist/every.mjs +1 -1
  68. package/dist/filter.es.js +1 -1
  69. package/dist/filter.es.min.js +1 -1
  70. package/dist/filter.js +1 -1
  71. package/dist/filter.min.js +1 -1
  72. package/dist/filter.mjs +1 -1
  73. package/dist/flatMap.es.js +1 -1
  74. package/dist/flatMap.es.min.js +1 -1
  75. package/dist/flatMap.js +1 -1
  76. package/dist/flatMap.min.js +1 -1
  77. package/dist/flatMap.mjs +1 -1
  78. package/dist/forEach.es.js +11 -8
  79. package/dist/forEach.es.min.js +2 -2
  80. package/dist/forEach.js +11 -8
  81. package/dist/forEach.min.js +2 -2
  82. package/dist/forEach.mjs +11 -8
  83. package/dist/get.es.js +1 -1
  84. package/dist/get.es.min.js +1 -1
  85. package/dist/get.js +1 -1
  86. package/dist/get.min.js +1 -1
  87. package/dist/get.mjs +1 -1
  88. package/dist/gt.es.js +1 -1
  89. package/dist/gt.es.min.js +1 -1
  90. package/dist/gt.js +1 -1
  91. package/dist/gt.min.js +1 -1
  92. package/dist/gt.mjs +1 -1
  93. package/dist/gte.es.js +1 -1
  94. package/dist/gte.es.min.js +1 -1
  95. package/dist/gte.js +1 -1
  96. package/dist/gte.min.js +1 -1
  97. package/dist/gte.mjs +1 -1
  98. package/dist/lt.es.js +1 -1
  99. package/dist/lt.es.min.js +1 -1
  100. package/dist/lt.js +1 -1
  101. package/dist/lt.min.js +1 -1
  102. package/dist/lt.mjs +1 -1
  103. package/dist/lte.es.js +1 -1
  104. package/dist/lte.es.min.js +1 -1
  105. package/dist/lte.js +1 -1
  106. package/dist/lte.min.js +1 -1
  107. package/dist/lte.mjs +1 -1
  108. package/dist/map.es.js +382 -51
  109. package/dist/map.es.min.js +2 -2
  110. package/dist/map.js +382 -51
  111. package/dist/map.min.js +2 -2
  112. package/dist/map.mjs +382 -51
  113. package/dist/not.es.js +1 -1
  114. package/dist/not.es.min.js +1 -1
  115. package/dist/not.js +1 -1
  116. package/dist/not.min.js +1 -1
  117. package/dist/not.mjs +1 -1
  118. package/dist/omit.es.js +1 -1
  119. package/dist/omit.es.min.js +1 -1
  120. package/dist/omit.js +1 -1
  121. package/dist/omit.min.js +1 -1
  122. package/dist/omit.mjs +1 -1
  123. package/dist/or.es.js +1 -1
  124. package/dist/or.es.min.js +1 -1
  125. package/dist/or.js +1 -1
  126. package/dist/or.min.js +1 -1
  127. package/dist/or.mjs +1 -1
  128. package/dist/pick.es.js +1 -1
  129. package/dist/pick.es.min.js +1 -1
  130. package/dist/pick.js +1 -1
  131. package/dist/pick.min.js +1 -1
  132. package/dist/pick.mjs +1 -1
  133. package/dist/pipe.es.js +1 -1
  134. package/dist/pipe.es.min.js +1 -1
  135. package/dist/pipe.js +1 -1
  136. package/dist/pipe.min.js +1 -1
  137. package/dist/pipe.mjs +1 -1
  138. package/dist/reduce.es.js +1 -1
  139. package/dist/reduce.es.min.js +1 -1
  140. package/dist/reduce.js +1 -1
  141. package/dist/reduce.min.js +1 -1
  142. package/dist/reduce.mjs +1 -1
  143. package/dist/rubico.es.js +362 -33
  144. package/dist/rubico.es.min.js +2 -2
  145. package/dist/rubico.global.js +362 -33
  146. package/dist/rubico.global.min.js +2 -2
  147. package/dist/rubico.js +362 -33
  148. package/dist/rubico.min.js +2 -2
  149. package/dist/rubico.mjs +362 -33
  150. package/dist/set.es.js +1 -1
  151. package/dist/set.es.min.js +1 -1
  152. package/dist/set.js +1 -1
  153. package/dist/set.min.js +1 -1
  154. package/dist/set.mjs +1 -1
  155. package/dist/some.es.js +1 -1
  156. package/dist/some.es.min.js +1 -1
  157. package/dist/some.js +1 -1
  158. package/dist/some.min.js +1 -1
  159. package/dist/some.mjs +1 -1
  160. package/dist/switchCase.es.js +1 -1
  161. package/dist/switchCase.es.min.js +1 -1
  162. package/dist/switchCase.js +1 -1
  163. package/dist/switchCase.min.js +1 -1
  164. package/dist/switchCase.mjs +1 -1
  165. package/dist/tap.es.js +38 -1
  166. package/dist/tap.es.min.js +2 -2
  167. package/dist/tap.js +38 -1
  168. package/dist/tap.min.js +2 -2
  169. package/dist/tap.mjs +38 -1
  170. package/dist/thunkify.es.js +1 -1
  171. package/dist/thunkify.es.min.js +1 -1
  172. package/dist/thunkify.js +1 -1
  173. package/dist/thunkify.min.js +1 -1
  174. package/dist/thunkify.mjs +1 -1
  175. package/dist/transform.es.js +1 -1
  176. package/dist/transform.es.min.js +1 -1
  177. package/dist/transform.js +1 -1
  178. package/dist/transform.min.js +1 -1
  179. package/dist/transform.mjs +1 -1
  180. package/dist/tryCatch.es.js +1 -1
  181. package/dist/tryCatch.es.min.js +1 -1
  182. package/dist/tryCatch.js +1 -1
  183. package/dist/tryCatch.min.js +1 -1
  184. package/dist/tryCatch.mjs +1 -1
  185. package/dist/x/append.es.js +1 -1
  186. package/dist/x/append.es.min.js +1 -1
  187. package/dist/x/append.js +1 -1
  188. package/dist/x/append.min.js +1 -1
  189. package/dist/x/append.mjs +1 -1
  190. package/dist/x/callProp.es.js +1 -1
  191. package/dist/x/callProp.es.min.js +1 -1
  192. package/dist/x/callProp.js +1 -1
  193. package/dist/x/callProp.min.js +1 -1
  194. package/dist/x/callProp.mjs +1 -1
  195. package/dist/x/defaultsDeep.es.js +1 -1
  196. package/dist/x/defaultsDeep.es.min.js +1 -1
  197. package/dist/x/defaultsDeep.js +1 -1
  198. package/dist/x/defaultsDeep.min.js +1 -1
  199. package/dist/x/defaultsDeep.mjs +1 -1
  200. package/dist/x/differenceWith.es.js +1 -1
  201. package/dist/x/differenceWith.es.min.js +1 -1
  202. package/dist/x/differenceWith.js +1 -1
  203. package/dist/x/differenceWith.min.js +1 -1
  204. package/dist/x/differenceWith.mjs +1 -1
  205. package/dist/x/filterOut.es.js +1 -1
  206. package/dist/x/filterOut.es.min.js +1 -1
  207. package/dist/x/filterOut.js +1 -1
  208. package/dist/x/filterOut.min.js +1 -1
  209. package/dist/x/filterOut.mjs +1 -1
  210. package/dist/x/find.es.js +1 -1
  211. package/dist/x/find.es.min.js +1 -1
  212. package/dist/x/find.js +1 -1
  213. package/dist/x/find.min.js +1 -1
  214. package/dist/x/find.mjs +1 -1
  215. package/dist/x/findIndex.es.js +1 -1
  216. package/dist/x/findIndex.es.min.js +1 -1
  217. package/dist/x/findIndex.js +1 -1
  218. package/dist/x/findIndex.min.js +1 -1
  219. package/dist/x/findIndex.mjs +1 -1
  220. package/dist/x/first.es.js +1 -1
  221. package/dist/x/first.es.min.js +1 -1
  222. package/dist/x/first.js +1 -1
  223. package/dist/x/first.min.js +1 -1
  224. package/dist/x/first.mjs +1 -1
  225. package/dist/x/flatten.es.js +1 -1
  226. package/dist/x/flatten.es.min.js +1 -1
  227. package/dist/x/flatten.js +1 -1
  228. package/dist/x/flatten.min.js +1 -1
  229. package/dist/x/flatten.mjs +1 -1
  230. package/dist/x/groupBy.es.js +1 -1
  231. package/dist/x/groupBy.es.min.js +1 -1
  232. package/dist/x/groupBy.js +1 -1
  233. package/dist/x/groupBy.min.js +1 -1
  234. package/dist/x/groupBy.mjs +1 -1
  235. package/dist/x/has.es.js +1 -1
  236. package/dist/x/has.es.min.js +1 -1
  237. package/dist/x/has.js +1 -1
  238. package/dist/x/has.min.js +1 -1
  239. package/dist/x/has.mjs +1 -1
  240. package/dist/x/identity.es.js +1 -1
  241. package/dist/x/identity.es.min.js +1 -1
  242. package/dist/x/identity.js +1 -1
  243. package/dist/x/identity.min.js +1 -1
  244. package/dist/x/identity.mjs +1 -1
  245. package/dist/x/includes.es.js +1 -1
  246. package/dist/x/includes.es.min.js +1 -1
  247. package/dist/x/includes.js +1 -1
  248. package/dist/x/includes.min.js +1 -1
  249. package/dist/x/includes.mjs +1 -1
  250. package/dist/x/isDeepEqual.es.js +1 -1
  251. package/dist/x/isDeepEqual.es.min.js +1 -1
  252. package/dist/x/isDeepEqual.js +1 -1
  253. package/dist/x/isDeepEqual.min.js +1 -1
  254. package/dist/x/isDeepEqual.mjs +1 -1
  255. package/dist/x/isEmpty.es.js +1 -1
  256. package/dist/x/isEmpty.es.min.js +1 -1
  257. package/dist/x/isEmpty.js +1 -1
  258. package/dist/x/isEmpty.min.js +1 -1
  259. package/dist/x/isEmpty.mjs +1 -1
  260. package/dist/x/isEqual.es.js +1 -1
  261. package/dist/x/isEqual.es.min.js +1 -1
  262. package/dist/x/isEqual.js +1 -1
  263. package/dist/x/isEqual.min.js +1 -1
  264. package/dist/x/isEqual.mjs +1 -1
  265. package/dist/x/isFunction.es.js +1 -1
  266. package/dist/x/isFunction.es.min.js +1 -1
  267. package/dist/x/isFunction.js +1 -1
  268. package/dist/x/isFunction.min.js +1 -1
  269. package/dist/x/isFunction.mjs +1 -1
  270. package/dist/x/isIn.es.js +1 -1
  271. package/dist/x/isIn.es.min.js +1 -1
  272. package/dist/x/isIn.js +1 -1
  273. package/dist/x/isIn.min.js +1 -1
  274. package/dist/x/isIn.mjs +1 -1
  275. package/dist/x/isObject.es.js +1 -1
  276. package/dist/x/isObject.es.min.js +1 -1
  277. package/dist/x/isObject.js +1 -1
  278. package/dist/x/isObject.min.js +1 -1
  279. package/dist/x/isObject.mjs +1 -1
  280. package/dist/x/isString.es.js +1 -1
  281. package/dist/x/isString.es.min.js +1 -1
  282. package/dist/x/isString.js +1 -1
  283. package/dist/x/isString.min.js +1 -1
  284. package/dist/x/isString.mjs +1 -1
  285. package/dist/x/keys.es.js +1 -1
  286. package/dist/x/keys.es.min.js +1 -1
  287. package/dist/x/keys.js +1 -1
  288. package/dist/x/keys.min.js +1 -1
  289. package/dist/x/keys.mjs +1 -1
  290. package/dist/x/last.es.js +1 -1
  291. package/dist/x/last.es.min.js +1 -1
  292. package/dist/x/last.js +1 -1
  293. package/dist/x/last.min.js +1 -1
  294. package/dist/x/last.mjs +1 -1
  295. package/dist/x/maxBy.es.js +1 -1
  296. package/dist/x/maxBy.es.min.js +1 -1
  297. package/dist/x/maxBy.js +1 -1
  298. package/dist/x/maxBy.min.js +1 -1
  299. package/dist/x/maxBy.mjs +1 -1
  300. package/dist/x/noop.es.js +1 -1
  301. package/dist/x/noop.es.min.js +1 -1
  302. package/dist/x/noop.js +1 -1
  303. package/dist/x/noop.min.js +1 -1
  304. package/dist/x/noop.mjs +1 -1
  305. package/dist/x/pluck.es.js +382 -51
  306. package/dist/x/pluck.es.min.js +2 -2
  307. package/dist/x/pluck.js +382 -51
  308. package/dist/x/pluck.min.js +2 -2
  309. package/dist/x/pluck.mjs +382 -51
  310. package/dist/x/prepend.es.js +1 -1
  311. package/dist/x/prepend.es.min.js +1 -1
  312. package/dist/x/prepend.js +1 -1
  313. package/dist/x/prepend.min.js +1 -1
  314. package/dist/x/prepend.mjs +1 -1
  315. package/dist/x/size.es.js +1 -1
  316. package/dist/x/size.es.min.js +1 -1
  317. package/dist/x/size.js +1 -1
  318. package/dist/x/size.min.js +1 -1
  319. package/dist/x/size.mjs +1 -1
  320. package/dist/x/trace.es.js +38 -1
  321. package/dist/x/trace.es.min.js +2 -2
  322. package/dist/x/trace.js +38 -1
  323. package/dist/x/trace.min.js +2 -2
  324. package/dist/x/trace.mjs +38 -1
  325. package/dist/x/unionWith.es.js +1 -1
  326. package/dist/x/unionWith.es.min.js +1 -1
  327. package/dist/x/unionWith.js +1 -1
  328. package/dist/x/unionWith.min.js +1 -1
  329. package/dist/x/unionWith.mjs +1 -1
  330. package/dist/x/uniq.es.js +1 -1
  331. package/dist/x/uniq.es.min.js +1 -1
  332. package/dist/x/uniq.js +1 -1
  333. package/dist/x/uniq.min.js +1 -1
  334. package/dist/x/uniq.mjs +1 -1
  335. package/dist/x/unless.es.js +1 -1
  336. package/dist/x/unless.es.min.js +1 -1
  337. package/dist/x/unless.js +1 -1
  338. package/dist/x/unless.min.js +1 -1
  339. package/dist/x/unless.mjs +1 -1
  340. package/dist/x/values.es.js +1 -1
  341. package/dist/x/values.es.min.js +1 -1
  342. package/dist/x/values.js +1 -1
  343. package/dist/x/values.min.js +1 -1
  344. package/dist/x/values.mjs +1 -1
  345. package/dist/x/when.es.js +1 -1
  346. package/dist/x/when.es.min.js +1 -1
  347. package/dist/x/when.js +1 -1
  348. package/dist/x/when.min.js +1 -1
  349. package/dist/x/when.mjs +1 -1
  350. package/eq.js +6 -0
  351. package/es.js +362 -33
  352. package/every.js +6 -0
  353. package/filter.js +9 -0
  354. package/flatMap.js +7 -0
  355. package/forEach.js +22 -3
  356. package/get.js +6 -0
  357. package/gt.js +6 -0
  358. package/gte.js +6 -0
  359. package/index.js +362 -33
  360. package/lt.js +6 -0
  361. package/lte.js +6 -0
  362. package/map.js +172 -44
  363. package/not.js +8 -0
  364. package/omit.js +7 -0
  365. package/or.js +9 -0
  366. package/package.json +1 -1
  367. package/pick.js +7 -0
  368. package/pipe.js +8 -0
  369. package/reduce.js +8 -0
  370. package/set.js +6 -0
  371. package/some.js +6 -0
  372. package/switchCase.js +12 -0
  373. package/tap.js +11 -0
  374. package/transform.js +38 -10
  375. package/tryCatch.js +14 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.2
2
+ * rubico v2.6.0
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.
@@ -164,6 +164,9 @@ const tap = function (...args) {
164
164
  if (args.length == 0) {
165
165
  return curryArgs2(_tap, __, func)
166
166
  }
167
+ if (areAnyValuesPromises(args)) {
168
+ return promiseAll(args).then(curry2(_tap, __, func))
169
+ }
167
170
  return _tap(args, func)
168
171
  }
169
172
 
@@ -664,6 +667,136 @@ const arrayMapSeries = function (array, mapper) {
664
667
  return result
665
668
  }
666
669
 
670
+ const stringMapSeries = function (string, mapper) {
671
+ const result = arrayMapSeries(string, mapper)
672
+ return isPromise(result)
673
+ ? result.then(curry3(callPropUnary, __, 'join', ''))
674
+ : result.join('')
675
+ }
676
+
677
+ const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
678
+ return func(arg0, arg1, arg2, arg3)
679
+ }
680
+
681
+ // _objectMapSeriesAsync(
682
+ // object Object,
683
+ // f function,
684
+ // result Object,
685
+ // doneKeys Object
686
+ // ) -> Promise<object>
687
+ const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
688
+ for (const key in object) {
689
+ if (key in doneKeys) {
690
+ continue
691
+ }
692
+ let resultItem = f(object[key])
693
+ if (isPromise(resultItem)) {
694
+ resultItem = await resultItem
695
+ }
696
+ result[key] = resultItem
697
+ }
698
+ return result
699
+ }
700
+
701
+ const objectMapSeries = function (object, f) {
702
+ const result = {}
703
+ const doneKeys = {}
704
+ for (const key in object) {
705
+ doneKeys[key] = true
706
+ const resultItem = f(object[key], key, object)
707
+ if (isPromise(resultItem)) {
708
+ return resultItem.then(funcConcat(
709
+ curry3(objectSet, result, key, __),
710
+ thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
711
+ ))
712
+ }
713
+ result[key] = resultItem
714
+ }
715
+ return result
716
+ }
717
+
718
+ const setAdd = function (set, value) {
719
+ set.add(value)
720
+ return set
721
+ }
722
+
723
+ // _setMapSeriesAsync(
724
+ // iterator Iterator,
725
+ // f function,
726
+ // result Set,
727
+ // ) -> Promise<Set>
728
+ const _setMapSeriesAsync = async function (iterator, f, result) {
729
+ let iteration = iterator.next()
730
+ while (!iteration.done) {
731
+ let resultItem = f(iteration.value)
732
+ if (isPromise(resultItem)) {
733
+ resultItem = await resultItem
734
+ }
735
+ result.add(resultItem)
736
+ iteration = iterator.next()
737
+ }
738
+ return result
739
+ }
740
+
741
+ const setMapSeries = function (set, f) {
742
+ const result = new Set()
743
+ const iterator = set[symbolIterator]()
744
+ let iteration = iterator.next()
745
+ while (!iteration.done) {
746
+ const resultItem = f(iteration.value)
747
+ if (isPromise(resultItem)) {
748
+ return resultItem.then(funcConcat(
749
+ curry2(setAdd, result, __),
750
+ thunkify3(_setMapSeriesAsync, iterator, f, result),
751
+ ))
752
+ }
753
+ result.add(resultItem)
754
+ iteration = iterator.next()
755
+ }
756
+ return result
757
+ }
758
+
759
+ const mapSet = function setting(source, key, value) {
760
+ return source.set(key, value)
761
+ }
762
+
763
+ // _mapMapSeriesAsync(
764
+ // iterator Iterator,
765
+ // f function,
766
+ // result Map,
767
+ // ) -> Promise<Map>
768
+ const _mapMapSeriesAsync = async function (iterator, f, result) {
769
+ let iteration = iterator.next()
770
+ while (!iteration.done) {
771
+ let resultItem = f(iteration.value[1])
772
+ if (isPromise(resultItem)) {
773
+ resultItem = await resultItem
774
+ }
775
+ result.set(iteration.value[0], resultItem)
776
+ iteration = iterator.next()
777
+ }
778
+ return result
779
+ }
780
+
781
+ const mapMapSeries = function (map, f) {
782
+ const result = new Map()
783
+ const iterator = map[symbolIterator]()
784
+ let iteration = iterator.next()
785
+ while (!iteration.done) {
786
+ const key = iteration.value[0]
787
+ const resultItem = f(iteration.value[1])
788
+ if (isPromise(resultItem)) {
789
+ return resultItem.then(funcConcat(
790
+ curry3(mapSet, result, key, __),
791
+ thunkify3(_mapMapSeriesAsync, iterator, f, result),
792
+ ))
793
+ }
794
+ result.set(key, resultItem)
795
+ iteration = iterator.next()
796
+ }
797
+ return result
798
+ }
799
+
667
800
  const tapSync = func => function tapping(...args) {
668
801
  func(...args)
669
802
  return args[0]
@@ -672,15 +805,14 @@ const tapSync = func => function tapping(...args) {
672
805
  const promiseRace = Promise.race.bind(Promise)
673
806
 
674
807
  const arrayMapPoolAsync = async function (
675
- array, mapper, concurrencyLimit, result, index, promises,
808
+ array, f, concurrencyLimit, result, index, promises,
676
809
  ) {
677
810
  const arrayLength = array.length
678
811
  while (++index < arrayLength) {
679
812
  if (promises.size >= concurrencyLimit) {
680
813
  await promiseRace(promises)
681
814
  }
682
-
683
- const resultItem = mapper(array[index])
815
+ const resultItem = f(array[index])
684
816
  if (isPromise(resultItem)) {
685
817
  const selfDeletingPromise = resultItem.then(
686
818
  tapSync(() => promises.delete(selfDeletingPromise)))
@@ -693,13 +825,12 @@ const arrayMapPoolAsync = async function (
693
825
  return promiseAll(result)
694
826
  }
695
827
 
696
- const arrayMapPool = function (array, mapper, concurrentLimit) {
828
+ const arrayMapPool = function (array, concurrency, f) {
697
829
  const arrayLength = array.length,
698
830
  result = Array(arrayLength)
699
831
  let index = -1
700
832
  while (++index < arrayLength) {
701
-
702
- const resultItem = mapper(array[index])
833
+ const resultItem = f(array[index])
703
834
  if (isPromise(resultItem)) {
704
835
  const promises = new Set(),
705
836
  selfDeletingPromise = resultItem.then(
@@ -707,13 +838,167 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
707
838
  promises.add(selfDeletingPromise)
708
839
  result[index] = selfDeletingPromise
709
840
  return arrayMapPoolAsync(
710
- array, mapper, concurrentLimit, result, index, promises)
841
+ array, f, concurrency, result, index, promises)
711
842
  }
712
843
  result[index] = resultItem
713
844
  }
714
845
  return result
715
846
  }
716
847
 
848
+ const stringMapPool = function (s, concurrency, f) {
849
+ const result = arrayMapPool(s, concurrency, f)
850
+ return isPromise(result)
851
+ ? result.then(curry3(callPropUnary, __, 'join', ''))
852
+ : result.join('')
853
+ }
854
+
855
+ const _setMapPoolAsync = async function (
856
+ s, iterator, concurrency, f, result, promises,
857
+ ) {
858
+ let iteration = iterator.next()
859
+ while (!iteration.done) {
860
+ if (promises.size >= concurrency) {
861
+ await promiseRace(promises)
862
+ }
863
+ const resultItem = f(iteration.value, iteration.value, s)
864
+ if (isPromise(resultItem)) {
865
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
866
+ promises.delete(selfDeletingPromise)
867
+ result.add(resolvedValue)
868
+ })
869
+ promises.add(selfDeletingPromise)
870
+ } else {
871
+ result.add(resultItem)
872
+ }
873
+ iteration = iterator.next()
874
+ }
875
+ if (promises.size > 0) {
876
+ await promiseAll(promises)
877
+ }
878
+ return result
879
+ }
880
+
881
+ const setMapPool = function (s, concurrency, f) {
882
+ const result = new Set()
883
+ const iterator = s[symbolIterator]()
884
+ let iteration = iterator.next()
885
+ while (!iteration.done) {
886
+ const resultItem = f(iteration.value, iteration.value, s)
887
+ if (isPromise(resultItem)) {
888
+ const promises = new Set()
889
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
890
+ promises.delete(selfDeletingPromise)
891
+ result.add(resolvedValue)
892
+ })
893
+ promises.add(selfDeletingPromise)
894
+ return _setMapPoolAsync(s, iterator, concurrency, f, result, promises)
895
+ }
896
+ result.add(resultItem)
897
+ iteration = iterator.next()
898
+ }
899
+ return result
900
+ }
901
+
902
+ const _mapMapPoolAsync = async function (
903
+ m, iterator, concurrency, f, result, promises,
904
+ ) {
905
+ let iteration = iterator.next()
906
+ while (!iteration.done) {
907
+ if (promises.size >= concurrency) {
908
+ await promiseRace(promises)
909
+ }
910
+ const key = iteration.value[0]
911
+ const resultItem = f(iteration.value[1], key, m)
912
+ if (isPromise(resultItem)) {
913
+ result.set(key, resultItem)
914
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
915
+ promises.delete(selfDeletingPromise)
916
+ result.set(key, resolvedValue)
917
+ })
918
+ promises.add(selfDeletingPromise)
919
+ } else {
920
+ result.set(key, resultItem)
921
+ }
922
+ iteration = iterator.next()
923
+ }
924
+ if (promises.size > 0) {
925
+ await promiseAll(promises)
926
+ }
927
+ return result
928
+ }
929
+
930
+ const mapMapPool = function (m, concurrency, f) {
931
+ const result = new Map()
932
+ const iterator = m[symbolIterator]()
933
+ let iteration = iterator.next()
934
+ while (!iteration.done) {
935
+ const key = iteration.value[0]
936
+ const resultItem = f(iteration.value[1], key, m)
937
+ if (isPromise(resultItem)) {
938
+ const promises = new Set()
939
+ result.set(key, resultItem)
940
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
941
+ promises.delete(selfDeletingPromise)
942
+ result.set(key, resolvedValue)
943
+ })
944
+ promises.add(selfDeletingPromise)
945
+ return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
946
+ }
947
+ result.set(key, resultItem)
948
+ iteration = iterator.next()
949
+ }
950
+ return result
951
+ }
952
+
953
+ const _objectMapPoolAsync = async function (
954
+ o, concurrency, f, result, doneKeys, promises,
955
+ ) {
956
+ for (const key in o) {
957
+ if (key in doneKeys) {
958
+ continue
959
+ }
960
+ if (promises.size >= concurrency) {
961
+ await promiseRace(promises)
962
+ }
963
+ const resultItem = f(o[key], key, o)
964
+ if (isPromise(resultItem)) {
965
+ result[key] = resultItem
966
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
967
+ promises.delete(selfDeletingPromise)
968
+ result[key] = resolvedValue
969
+ })
970
+ promises.add(selfDeletingPromise)
971
+ } else {
972
+ result[key] = resultItem
973
+ }
974
+ }
975
+ if (promises.size > 0) {
976
+ await promiseAll(promises)
977
+ }
978
+ return result
979
+ }
980
+
981
+ const objectMapPool = function (o, concurrency, f) {
982
+ const result = {}
983
+ const doneKeys = {}
984
+ for (const key in o) {
985
+ doneKeys[key] = true
986
+ const resultItem = f(o[key], key, o)
987
+ if (isPromise(resultItem)) {
988
+ const promises = new Set()
989
+ result[key] = resultItem
990
+ const selfDeletingPromise = resultItem.then(resolvedValue => {
991
+ promises.delete(selfDeletingPromise)
992
+ result[key] = resolvedValue
993
+ })
994
+ promises.add(selfDeletingPromise)
995
+ return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
996
+ }
997
+ result[key] = resultItem
998
+ }
999
+ return result
1000
+ }
1001
+
717
1002
  const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
718
1003
  const argsLength = args.length,
719
1004
  curriedArgsLength = curriedArgs.length,
@@ -792,10 +1077,6 @@ const objectMapEntries = function (object, mapper) {
792
1077
  : promiseAll(promises).then(always(result))
793
1078
  }
794
1079
 
795
- const mapSet = function setting(source, key, value) {
796
- return source.set(key, value)
797
- }
798
-
799
1080
  // (mapper function, result Map, promises Array<Promise>) => (key any, value any) => ()
800
1081
  const mapMapEntriesForEachCallback = (
801
1082
  mapper, result, promises,
@@ -853,7 +1134,7 @@ const _map = function (value, mapper) {
853
1134
  }
854
1135
 
855
1136
  const map = function (arg0, arg1) {
856
- if (typeof arg0 == 'function') {
1137
+ if (arg1 == null) {
857
1138
  return curry2(_map, __, arg0)
858
1139
  }
859
1140
  return isPromise(arg0)
@@ -876,7 +1157,7 @@ const _mapEntries = (value, mapper) => {
876
1157
  }
877
1158
 
878
1159
  map.entries = function mapEntries(arg0, arg1) {
879
- if (typeof arg0 == 'function') {
1160
+ if (arg1 == null) {
880
1161
  return curry2(_mapEntries, __, arg0)
881
1162
  }
882
1163
  return isPromise(arg0)
@@ -884,18 +1165,67 @@ map.entries = function mapEntries(arg0, arg1) {
884
1165
  : _mapEntries(arg0, arg1)
885
1166
  }
886
1167
 
887
- map.series = mapper => function mappingInSeries(value) {
888
- if (isArray(value)) {
889
- return arrayMapSeries(value, mapper)
1168
+ const _mapSeries = function (collection, f) {
1169
+ if (isArray(collection)) {
1170
+ return arrayMapSeries(collection, f)
1171
+ }
1172
+ if (collection == null) {
1173
+ throw new TypeError(`invalid collection ${collection}`)
890
1174
  }
891
- throw new TypeError(`${value} is not an Array`)
1175
+
1176
+ if (typeof collection == 'string' || collection.constructor == String) {
1177
+ return stringMapSeries(collection, f)
1178
+ }
1179
+ if (collection.constructor == Set) {
1180
+ return setMapSeries(collection, f)
1181
+ }
1182
+ if (collection.constructor == Map) {
1183
+ return mapMapSeries(collection, f)
1184
+ }
1185
+ if (collection.constructor == Object) {
1186
+ return objectMapSeries(collection, f)
1187
+ }
1188
+ throw new TypeError(`invalid collection ${collection}`)
892
1189
  }
893
1190
 
894
- map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
895
- if (isArray(value)) {
896
- return arrayMapPool(value, mapper, concurrencyLimit)
1191
+ map.series = function mapSeries(arg0, arg1) {
1192
+ if (arg1 == null) {
1193
+ return curry2(_mapSeries, __, arg0)
1194
+ }
1195
+ return isPromise(arg0)
1196
+ ? arg0.then(curry2(_mapSeries, __, arg1))
1197
+ : _mapSeries(arg0, arg1)
1198
+ }
1199
+
1200
+ const _mapPool = function (collection, concurrency, f) {
1201
+ if (isArray(collection)) {
1202
+ return arrayMapPool(collection, concurrency, f)
1203
+ }
1204
+ if (collection == null) {
1205
+ throw new TypeError(`invalid collection ${collection}`)
1206
+ }
1207
+ if (typeof collection == 'string' || collection.constructor == String) {
1208
+ return stringMapPool(collection, concurrency, f)
1209
+ }
1210
+ if (collection.constructor == Set) {
1211
+ return setMapPool(collection, concurrency, f)
1212
+ }
1213
+ if (collection.constructor == Map) {
1214
+ return mapMapPool(collection, concurrency, f)
1215
+ }
1216
+ if (collection.constructor == Object) {
1217
+ return objectMapPool(collection, concurrency, f)
897
1218
  }
898
- throw new TypeError(`${value} is not an Array`)
1219
+ throw new TypeError(`invalid collection ${collection}`)
1220
+ }
1221
+
1222
+ map.pool = function mapPool(arg0, arg1, arg2) {
1223
+ if (arg2 == null) {
1224
+ return curry3(_mapPool, __, arg0, arg1)
1225
+ }
1226
+ return isPromise(arg0)
1227
+ ? arg0.then(curry3(_mapPool, __, arg1, arg2))
1228
+ : _mapPool(arg0, arg1, arg2)
899
1229
  }
900
1230
 
901
1231
  const FilteringIterator = (iterator, predicate) => ({
@@ -1011,10 +1341,6 @@ const setFilter = function (value, predicate) {
1011
1341
  : promiseAll(promises).then(always(result))
1012
1342
  }
1013
1343
 
1014
- const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
1015
- return func(arg0, arg1, arg2, arg3)
1016
- }
1017
-
1018
1344
  const mapFilter = function (map, predicate) {
1019
1345
  const result = new Map(),
1020
1346
  promises = []
@@ -1929,11 +2255,11 @@ const arrayForEachSeries = function (array, callback) {
1929
2255
  // _objectForEachSeriesAsync(
1930
2256
  // object Object,
1931
2257
  // callback function,
1932
- // firstKey string
2258
+ // doneKeys Object,
1933
2259
  // ) -> Promise<object>
1934
- const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
2260
+ const _objectForEachSeriesAsync = async function (object, callback, doneKeys) {
1935
2261
  for (const key in object) {
1936
- if (key == firstKey) {
2262
+ if (key in doneKeys) {
1937
2263
  continue
1938
2264
  }
1939
2265
  const operation = callback(object[key])
@@ -1945,11 +2271,13 @@ const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
1945
2271
  }
1946
2272
 
1947
2273
  const objectForEachSeries = function (object, callback) {
2274
+ const doneKeys = {}
1948
2275
  for (const key in object) {
2276
+ doneKeys[key] = true
1949
2277
  const operation = callback(object[key])
1950
2278
  if (isPromise(operation)) {
1951
2279
  return operation
1952
- .then(thunkify3(_objectForEachSeriesAsync, object, callback, key))
2280
+ .then(thunkify3(_objectForEachSeriesAsync, object, callback, doneKeys))
1953
2281
  }
1954
2282
  }
1955
2283
  return object
@@ -2004,7 +2332,8 @@ const _forEach = function (collection, callback) {
2004
2332
  return collection
2005
2333
  }
2006
2334
  if (typeof collection.forEach == 'function') {
2007
- return collection.forEach(callback)
2335
+ collection.forEach(callback)
2336
+ return collection
2008
2337
  }
2009
2338
  if (typeof collection[symbolIterator] == 'function') {
2010
2339
  return iteratorForEach(collection[symbolIterator](), callback)
@@ -2032,7 +2361,7 @@ const _forEachSeries = function (collection, callback) {
2032
2361
  return arrayForEachSeries(collection, callback)
2033
2362
  }
2034
2363
  if (collection == null) {
2035
- throw new Error(`invalid collection ${collection}`)
2364
+ throw new TypeError(`invalid collection ${collection}`)
2036
2365
  }
2037
2366
  if (typeof collection[symbolIterator] == 'function') {
2038
2367
  return iteratorForEachSeries(collection[symbolIterator](), callback)
@@ -2043,7 +2372,7 @@ const _forEachSeries = function (collection, callback) {
2043
2372
  if (collection.constructor == Object) {
2044
2373
  return objectForEachSeries(collection, callback)
2045
2374
  }
2046
- throw new Error(`invalid collection ${collection}`)
2375
+ throw new TypeError(`invalid collection ${collection}`)
2047
2376
  }
2048
2377
 
2049
2378
  forEach.series = function forEachSeries(arg0, arg1) {
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.4.2
2
+ * rubico v2.6.0
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(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},p=function(...n){const t=n.pop();return 0==n.length?h(a,u,t):a(n,t)};p.if=(t,e)=>function(...o){const r=t(...o);if(n(r))return r.then(l(s,u,i(p(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};const y=Array.isArray,d=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},g=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)},w=function(n,t,e){return n[t]=e,n},v=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(w,c,f,u),g(v,t,e,u,f)));c[f]=r}return c},j=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(w,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},x=function(...n){const o=n.pop();return 0==n.length?y(o)?h(d,o,u):h(j,o,u):t(n)?y(o)?e(n).then(c(d,o,u)):e(n).then(c(j,o,u)):y(o)?d(o,n):j(o,n)};x.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 S=Object.assign,M=function(t,e){const o=j(e,[t]);return n(o)?o.then(l(S,{},t,u)):{...t,...o}},O=function(n,t,e){return n(t,...e)},m=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(O,e,u,o)):r}catch(n){return e(n,...o)}},A=(n,t,e,o)=>function(){return n(t,e,o)},z=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),A(z,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},E=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},I=(n,t,e)=>function(){return n(t,e)},D=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),I(D,t,e)));if(o)return r}if(e!=o)return t[e]},P=Symbol.iterator,T=(n,t)=>({toString:()=>"[object MappingIterator]",[P](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),B=n=>({value:n,done:!1}),$=Symbol.asyncIterator,k=(t,e)=>({[$](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(B):{value:r,done:!1}}}),C=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},_=(n,t,e)=>n[t](e),q=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(_,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},F=(n,t,e,o)=>n[t](e,o),R=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)),V=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?R(o):o},G=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},H=n=>function(...t){return n(...t),t[0]},J=Promise.race.bind(Promise),K=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await J(f);const e=o(t[c]);if(n(e)){const n=e.then(H((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},L=(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):N(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):N(n,t,f)}return N(n,t,f)},N=function(n,t,e){const o=e.length;if(o<n)return L(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return L(n,t,e)}return t(...e)},Q=n=>function([t,e]){return n(t,e)},U=function(n,t,e){return n.set(t,e)},W=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(Q(N(3,U,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},X=function(t,o){return y(t)?C(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=C(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?q(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(g(F,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[P]?T(t[P](),o):"function"==typeof t[$]?k(t[$](),o):t.constructor==Object?V(t,o):o(t)},Y=function(t,e){return"function"==typeof t?c(X,u,t):n(t)?t.then(c(X,u,e)):X(t,e)},Z=(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(Q(N(3,w,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return W(t,o);throw new TypeError("value is not an Object or Map")};Y.entries=function(t,e){return"function"==typeof t?c(Z,u,t):n(t)?t.then(c(Z,u,e)):Z(t,e)},Y.series=t=>function(e){if(y(e))return 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(w,c,f,u),g(G,t,e,u,f)));c[f]=r}return c}(e,t);throw new TypeError(`${e} is not an Array`)},Y.pool=(t,e)=>function(o){if(y(o))return function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=e(t[c]);if(n(r)){const n=new Set,f=r.then(H((()=>n.delete(f))));return n.add(f),u[c]=f,K(t,e,o,u,c,n)}u[c]=r}return u}(o,e,t);throw new TypeError(`${o} is not an Array`)};const nn=(n,t)=>({[P](){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}}),tn=(t,e)=>({isAsyncIteratorDone:!1,[$](){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}}}),en=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},on=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},rn=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(en([s],t,o,f)).then(g(on,t,c,f-1,u));s&&(c[++i]=r)}return c},un=(n,t)=>function(){return n(t)},cn=function(){},fn=(n,t,e,o,r)=>function(){return n(t,e,o,r)},sn=function(n,t,e,o){o&&(n[t]=e)},ln=function(t,o){return y(t)?rn(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=rn(t,e);return n(o)?o.then(l(_,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,un(c,e),cn))):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,fn(F,r,"set",e,f),cn))):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[P]?nn(t[P](),o):"function"==typeof t[$]?tn(t[$](),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(g(sn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},hn=Object.values,an=(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}),pn=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},yn=Object.keys,dn=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},gn=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},wn=function(t,e,o){return y(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(g(pn,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(g(gn,t,e,u,r));return o}(t,e,o):"function"==typeof t[P]?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(an,t,e,u));r=t.next()}return o}(t[P](),e,o):"function"==typeof t[$]?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[$](),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=yn(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=dn,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)},vn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(wn,t,e,u)):wn(t,e,r)}return n(o)?o.then(l(wn,t,e,u)):wn(t,e,o)},bn=ArrayBuffer.isView,jn=function(n,t){return y(t)||bn(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)},xn="function"==typeof Buffer,Sn=xn?Buffer.alloc:cn,Mn=function(n,t){const e=n.length,o=xn&&n.constructor==Buffer?Sn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},On=function(n,t){return y(t)||bn(t)?Mn(n,t):Mn(n,[t])},mn=(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",un(e,n)),t.on("error",o)})(n,t)),An=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?mn(n,t):(n.write(t),n);var e},zn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},En=function(n,t){return n.concat(t)},In=function(t,e,o){const r=wn(t,e(cn),null);return n(r)?r.then(f(o)):o},Dn=function(t,e,o){if(y(o))return wn(t,e(jn),o);if(bn(o)){const r=wn(t,e(jn),[]);return n(r)?r.then(c(On,o,u)):On(o,r)}if(null==o)return In(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=wn(t,e(jn),[o]);return n(r)?r.then(l(_,u,"join","")):r.join("")}return"function"==typeof o.concat?wn(t,e(En),o):"function"==typeof o.write?wn(t,e(An),o):r==Set?wn(t,e(zn),o):r==Object?wn(t,e(S),o):In(t,e,o)},Pn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Dn,t,e,u)):Dn(t,e,r)}return n(o)?o.then(l(Dn,t,e,u)):Dn(t,e,o)},Tn=function(n,t){return n.push(t),n},Bn=n=>new Promise((t=>{setTimeout(t,n)})),$n=(n,t)=>t,kn=n=>n,Cn=(n,t)=>function(...e){return t(n(...e))},_n=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))},qn=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(y(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(Tn,i,u)));else if("function"==typeof e[P])for(const n of e)i.push(n);else if("function"==typeof e[$])r.push(_n(e[$](),c(Tn,i,u)));else if("function"==typeof e.chain){const t=e.chain(kn);n(t)?r.push(t.then(c(Tn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(kn);n(t)?r.push(t.then(c(Tn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Cn($n,c(Tn,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))},Fn=function(t){const o=[],r={},f=c(S,r,u),i=Cn($n,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[P])for(const n of u)S(r,n);else if("function"==typeof u[$])o.push(_n(u[$](),f));else if("function"==typeof u.chain){const t=u.chain(kn);n(t)?o.push(t.then(f)):S(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(kn);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 S(r,u)}return 0==o.length?r:e(o).then((()=>r))},Rn=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(_,r,"add",u);for(const e of t)if(y(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[P])for(const n of e)r.add(n);else if("function"==typeof e[$])o.push(_n(e[$](),f));else if("function"==typeof e.chain){const t=e.chain(kn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(kn);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))},Vn=o(qn,c(((n,t)=>n.join(t)),u,"")),Gn=function(t,e){if(y(t))return function(t,e){const o=C(t,e);return n(o)?o.then(qn):qn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return P in t?function(n,t){let e=[],o=0;return{[P](){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=wn(t(r.value),Tn,[]);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,[$](){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(wn,u,Tn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=wn(t,Tn,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 J([Bn(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=V(t,e);return n(o)?o.then(Fn):Fn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Rn):Rn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=C(t,e);return n(o)?o.then(Vn):Vn(o)}(t,e):e(t)},Hn=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},Jn=async function(t,e,o){for(const r in t){if(r==o)continue;const u=e(t[r]);n(u)&&await u}return t},Kn=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},Ln=function(t,o){return y(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):"function"==typeof t[P]?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[P](),o):"function"==typeof t[$]?_n(t[$](),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},Nn=function(t,e){return"function"==typeof t?c(Ln,u,t):n(t)?t.then(c(Ln,u,e)):Ln(t,e)},Qn=function(t,e){if(y(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(A(Hn,t,e,r))}return t}(t,e);if(null==t)throw new Error(`invalid collection ${t}`);if("function"==typeof t[P])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(I(Kn,t,e));o=t.next()}return t}(t[P](),e);if("function"==typeof t[$])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[$](),e);if(t.constructor==Object)return function(t,e){for(const o in t){const r=e(t[o]);if(n(r))return r.then(A(Jn,t,e,o))}return t}(t,e);throw new Error(`invalid collection ${t}`)};Nn.series=function(t,e){return"function"==typeof t?c(Qn,u,t):n(t)?t.then(c(Qn,u,e)):Qn(t,e)};const Un=function(n){const t=n.then((n=>[n,t]));return t},Wn=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(Un(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await J(r);if(r.delete(t),n)return!0}return!1},Xn=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return Wn(t,e,r,new Set([Un(o)]));if(o)return!0}return!1},Yn=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 J(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(Un(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),n)return!0}return!1},Zn=function(t,e){return y(t)?Xn(t,e):null==t?e(t):"function"==typeof t[P]?function(t,e){for(const o of t){const r=e(o);if(n(r))return Yn(t,e,new Set([Un(r)]));if(r)return!0}return!1}(t[P](),e):"function"==typeof t[$]?Yn(t[$](),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?Xn(hn(t),e):e(t)},nt=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(_,u,"every",Boolean))},tt=(n,t,e)=>!!t&&n(e),et=function(t,o){return y(t)?nt(t,o):null==t?o(t):"function"==typeof t[P]?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(_,u,"every",Boolean))}(t[P](),o):"function"==typeof t[$]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await J(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(Un(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),!n)return!1}return!0}(t[$](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(tt,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?nt(hn(t),o):o(t)},ot=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,I(ot,t,e),f(!1)));if(!o)return!1}return!0},rt=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},ut=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,A(rt,t,e,r),f(!1)));if(!o)return!1}return!0},ct=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),I(ct,t,e)));if(o)return!0}return!1},ft=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},it=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),A(ft,t,e,r)));if(o)return!0}return!1},st=n=>!n,lt=function(t,e){const o=e(...t);return n(o)?o.then(st):!o},ht=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)},at=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(Q(o)):o(c,f)},pt=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(Q(o)):o(c,u)},yt=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(Q(o)):o(r,c)},dt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?ht(at,u,o,f,c):t(r)?e(r).then(g(at,u,o,f,c)):at(r,o,f,c):i?0==r.length?ht(pt,u,o,f,c):t(r)?e(r).then(g(pt,u,o,f,c)):pt(r,o,f,c):s?0==r.length?ht(yt,u,o,f,c):t(r)?e(r).then(g(yt,u,o,f,c)):yt(r,o,f,c):n(f)||n(c)?e([f,c]).then(Q(o)):o(f,c)},gt=dt((function(n,t){return n==t})),wt=dt(((n,t)=>n>t)),vt=dt(((n,t)=>n<t)),bt=dt(((n,t)=>n>=t)),jt=dt(((n,t)=>n<=t)),xt=/[.|[|\]]+/,St=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(xt):e?n.slice(1).split(xt):o?n.slice(0,t).split(xt):n.split(xt)}),500),Mt=n=>y(n)?n:"string"==typeof n?St(n):[n],Ot=function(n,t){const e=Mt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},mt=function(n,t,e){const o=null==n?void 0:Ot(n,t);return void 0===o?"function"==typeof e?e(n):e:o},At=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=Mt(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=y(t)?t.slice():{...t};f[n]=e,f=e}}return c},zt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(At,t,u,e)):At(t,r,e)}return n(o)?o.then(l(At,t,u,e)):At(t,o,e)},Et=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=Ot(n,e);null!=u&&(o=At(o,u,e))}return o},It=function(n,t){if(null==n)return;const e=Mt(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]},Dt=function(n){const t={};for(const e in n){const o=n[e];y(o)?t[e]=Pt(o):null!=o&&o.constructor==Object?t[e]=Dt(o):t[e]=o}return t},Pt=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];y(t)?e[o]=Pt(t):null!=t&&t.constructor==Object?e[o]=Dt(t):e[o]=t}return e},Tt=function(n,t){const e=t.length,o=y(r=n)?Pt(r):null==r?r:r.constructor==Object?Dt(r):r;var r;let u=-1;for(;++u<e;)It(o,t[u]);return o},Bt=(n,...t)=>N(n.length,n,t);Bt.arity=function(n,t,...e){return N(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:p,forEach:Nn,switchCase:(...n)=>{const o=n.pop();return E(o)?D(o,-2):0==n.length?(r=z,f=u,i=-2,(c=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,f,i):f==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,c,i):((n,t,e)=>function(...o){return n(t,e,o)})(r,c,f)):t(n)?e(n).then(l(z,o,u,-2)):z(o,n,-2);var r,c,f,i},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(m,r,o,u)):m(r,o,n)}const o=n[0],r=n[1];return function(...n){return m(o,r,n)}},all:x,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||y(t)?l(mt,u,t,e):n(t)?t.then(l(mt,u,e,o)):mt(t,e,o)},set:function(t,e,o){return null==o?l(zt,u,t,e):n(t)?t.then(l(zt,u,e,o)):zt(t,e,o)},pick:function(t,e){return null==e?c(Et,u,t):n(t)?t.then(c(Et,u,e)):Et(t,e)},omit:function(t,e){return null==e?c(Tt,u,t):n(t)?t.then(c(Tt,u,e)):Tt(t,e)},map:Y,filter:function(n,t){return"function"==typeof n?c(ln,u,n):ln(n,t)},flatMap:(t,e)=>"function"==typeof t?c(Gn,u,t):n(t)?t.then(c(Gn,u,e)):Gn(t,e),reduce:function(...t){return"function"==typeof t[0]?l(vn,u,t[0],t[1]):n(t[0])?t[0].then(l(vn,u,t[1],t[2])):vn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Pn,u,t[0],t[1]):n(t[0])?t[0].then(l(Pn,u,t[1],t[2])):Pn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return E(o)?ot(o,-1):0==n.length?h(ut,u,o):t(n)?e(n).then(c(ut,u,o)):ut(n,o)},or:function(...n){const o=n.pop();return E(o)?ct(o,-1):0==n.length?h(it,u,o):t(n)?e(n).then(c(it,u,o)):it(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(lt,u,o):t(n)?e(n).then(c(lt,u,o)):lt(n,o):!o},some:function(t,e){return"function"==typeof t?c(Zn,u,t):n(t)?t.then(c(Zn,u,e)):Zn(t,e)},every:function(t,e){return"function"==typeof t?c(et,u,t):n(t)?t.then(c(et,u,e)):et(t,e)},eq:gt,gt:wt,lt:vt,gte:bt,lte:jt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Bt,__:u}}());
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(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},p=function(...n){const o=n.pop();return 0==n.length?h(a,u,o):t(n)?e(n).then(c(a,u,o)):a(n,o)};p.if=(t,e)=>function(...o){const r=t(...o);if(n(r))return r.then(l(s,u,i(p(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};const d=Array.isArray,y=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},g=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)},w=function(n,t,e){return n[t]=e,n},v=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},x=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(w,c,f,u),g(v,t,e,u,f)));c[f]=r}return c},j=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(w,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},b=function(...n){const o=n.pop();return 0==n.length?d(o)?h(y,o,u):h(j,o,u):t(n)?d(o)?e(n).then(c(y,o,u)):e(n).then(c(j,o,u)):d(o)?y(o,n):j(o,n)};b.series=function(...n){const o=n.pop();return 0==n.length?h(x,o,u):t(n)?e(n).then(c(x,o,u)):x(o,n)};const S=Object.assign,M=function(t,e){const o=j(e,[t]);return n(o)?o.then(l(S,{},t,u)):{...t,...o}},O=function(n,t,e){return n(t,...e)},m=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(O,e,u,o)):r}catch(n){return e(n,...o)}},z=(n,t,e,o)=>function(){return n(t,e,o)},A=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),z(A,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},E=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},T=(n,t,e)=>function(){return n(t,e)},I=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),T(I,t,e)));if(o)return r}if(e!=o)return t[e]},D=Symbol.iterator,P=(n,t)=>({toString:()=>"[object MappingIterator]",[D](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),B=n=>({value:n,done:!1}),$=Symbol.asyncIterator,k=(t,e)=>({[$](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(B):{value:r,done:!1}}}),C=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},_=(n,t,e)=>n[t](e),q=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(_,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},F=(n,t,e,o)=>n[t](e,o),R=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)),V=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?R(o):o},G=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},H=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(w,c,f,u),g(G,t,e,u,f)));c[f]=r}return c},J=(n,t,e,o,r)=>function(){return n(t,e,o,r)},K=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},L=function(n,t){return n.add(t),n},N=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},Q=function(n,t,e){return n.set(t,e)},U=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},W=n=>function(...t){return n(...t),t[0]},X=Promise.race.bind(Promise),Y=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await X(f);const e=o(t[c]);if(n(e)){const n=e.then(W((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},Z=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(W((()=>n.delete(f))));return n.add(f),u[c]=f,Y(t,o,e,u,c,n)}u[c]=r}return u},nn=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await X(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},tn=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await X(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},en=async function(t,o,r,u,c,f){for(const e in t){if(e in c)continue;f.size>=o&&await X(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},on=(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):rn(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):rn(n,t,f)}return rn(n,t,f)},rn=function(n,t,e){const o=e.length;if(o<n)return on(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return on(n,t,e)}return t(...e)},un=n=>function([t,e]){return n(t,e)},cn=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(un(rn(3,Q,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},fn=function(t,o){return d(t)?C(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=C(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?q(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(g(F,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[D]?P(t[D](),o):"function"==typeof t[$]?k(t[$](),o):t.constructor==Object?V(t,o):o(t)},sn=function(t,e){return null==e?c(fn,u,t):n(t)?t.then(c(fn,u,e)):fn(t,e)},ln=(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(un(rn(3,w,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return cn(t,o);throw new TypeError("value is not an Object or Map")};sn.entries=function(t,e){return null==e?c(ln,u,t):n(t)?t.then(c(ln,u,e)):ln(t,e)};const hn=function(t,e){if(d(t))return H(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e){const o=H(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,e);if(t.constructor==Set)return function(t,e){const r=new Set,f=t[D]();let i=f.next();for(;!i.done;){const t=e(i.value);if(n(t))return t.then(o(c(L,r,u),z(N,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[D]();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(Q,r,t,u),z(U,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(w,r,f,u),J(K,t,e,r,c)));r[f]=i}return r}(t,e);throw new TypeError(`invalid collection ${t}`)};sn.series=function(t,e){return null==e?c(hn,u,t):n(t)?t.then(c(hn,u,e)):hn(t,e)};const an=function(t,e,o){if(d(t))return Z(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=Z(t,e,o);return n(r)?r.then(l(_,u,"join","")):r.join("")}(t,e,o);if(t.constructor==Set)return function(t,e,o){const r=new Set,u=t[D]();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),nn(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[D]();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),tn(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),en(t,e,o,r,u,n)}r[c]=f}return r}(t,e,o);throw new TypeError(`invalid collection ${t}`)};sn.pool=function(t,e,o){return null==o?l(an,u,t,e):n(t)?t.then(l(an,u,e,o)):an(t,e,o)};const pn=(n,t)=>({[D](){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}}),dn=(t,e)=>({isAsyncIteratorDone:!1,[$](){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}}}),yn=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},gn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},wn=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(yn([s],t,o,f)).then(g(gn,t,c,f-1,u));s&&(c[++i]=r)}return c},vn=(n,t)=>function(){return n(t)},xn=function(){},jn=function(n,t,e,o){o&&(n[t]=e)},bn=function(t,o){return d(t)?wn(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=wn(t,e);return n(o)?o.then(l(_,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,vn(c,e),xn))):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,J(F,r,"set",e,f),xn))):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[D]?pn(t[D](),o):"function"==typeof t[$]?dn(t[$](),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(g(jn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},Sn=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}),On=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},mn=Object.keys,zn=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},An=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},En=function(t,e,o){return d(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(g(On,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(g(An,t,e,u,r));return o}(t,e,o):"function"==typeof t[D]?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[D](),e,o):"function"==typeof t[$]?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[$](),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=mn(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=zn,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)},Tn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(En,t,e,u)):En(t,e,r)}return n(o)?o.then(l(En,t,e,u)):En(t,e,o)},In=ArrayBuffer.isView,Dn=function(n,t){return d(t)||In(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)},Pn="function"==typeof Buffer,Bn=Pn?Buffer.alloc:xn,$n=function(n,t){const e=n.length,o=Pn&&n.constructor==Buffer?Bn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},kn=function(n,t){return d(t)||In(t)?$n(n,t):$n(n,[t])},Cn=(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",vn(e,n)),t.on("error",o)})(n,t)),_n=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Cn(n,t):(n.write(t),n);var e},qn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Fn=function(n,t){return n.concat(t)},Rn=function(t,e,o){const r=En(t,e(xn),null);return n(r)?r.then(f(o)):o},Vn=function(t,e,o){if(d(o))return En(t,e(Dn),o);if(In(o)){const r=En(t,e(Dn),[]);return n(r)?r.then(c(kn,o,u)):kn(o,r)}if(null==o)return Rn(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=En(t,e(Dn),[o]);return n(r)?r.then(l(_,u,"join","")):r.join("")}return"function"==typeof o.concat?En(t,e(Fn),o):"function"==typeof o.write?En(t,e(_n),o):r==Set?En(t,e(qn),o):r==Object?En(t,e(S),o):Rn(t,e,o)},Gn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Vn,t,e,u)):Vn(t,e,r)}return n(o)?o.then(l(Vn,t,e,u)):Vn(t,e,o)},Hn=function(n,t){return n.push(t),n},Jn=n=>new Promise((t=>{setTimeout(t,n)})),Kn=(n,t)=>t,Ln=n=>n,Nn=(n,t)=>function(...e){return t(n(...e))},Qn=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))},Un=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(d(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(Hn,i,u)));else if("function"==typeof e[D])for(const n of e)i.push(n);else if("function"==typeof e[$])r.push(Qn(e[$](),c(Hn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Ln);n(t)?r.push(t.then(c(Hn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Ln);n(t)?r.push(t.then(c(Hn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Nn(Kn,c(Hn,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))},Wn=function(t){const o=[],r={},f=c(S,r,u),i=Nn(Kn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[D])for(const n of u)S(r,n);else if("function"==typeof u[$])o.push(Qn(u[$](),f));else if("function"==typeof u.chain){const t=u.chain(Ln);n(t)?o.push(t.then(f)):S(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Ln);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 S(r,u)}return 0==o.length?r:e(o).then((()=>r))},Xn=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(_,r,"add",u);for(const e of t)if(d(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[D])for(const n of e)r.add(n);else if("function"==typeof e[$])o.push(Qn(e[$](),f));else if("function"==typeof e.chain){const t=e.chain(Ln);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Ln);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))},Yn=o(Un,c(((n,t)=>n.join(t)),u,"")),Zn=function(t,e){if(d(t))return function(t,e){const o=C(t,e);return n(o)?o.then(Un):Un(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return D in t?function(n,t){let e=[],o=0;return{[D](){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=En(t(r.value),Hn,[]);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,[$](){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(En,u,Hn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=En(t,Hn,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 X([Jn(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=V(t,e);return n(o)?o.then(Wn):Wn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Xn):Xn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=C(t,e);return n(o)?o.then(Yn):Yn(o)}(t,e):e(t)},nt=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},tt=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},et=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},ot=function(t,o){return d(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[D]?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[D](),o):"function"==typeof t[$]?Qn(t[$](),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},rt=function(t,e){return"function"==typeof t?c(ot,u,t):n(t)?t.then(c(ot,u,e)):ot(t,e)},ut=function(t,e){if(d(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(z(nt,t,e,r))}return t}(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("function"==typeof t[D])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(T(et,t,e));o=t.next()}return t}(t[D](),e);if("function"==typeof t[$])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[$](),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(z(tt,t,e,o))}return t}(t,e);throw new TypeError(`invalid collection ${t}`)};rt.series=function(t,e){return"function"==typeof t?c(ut,u,t):n(t)?t.then(c(ut,u,e)):ut(t,e)};const ct=function(n){const t=n.then((n=>[n,t]));return t},ft=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(ct(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await X(r);if(r.delete(t),n)return!0}return!1},it=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return ft(t,e,r,new Set([ct(o)]));if(o)return!0}return!1},st=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 X(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(ct(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),n)return!0}return!1},lt=function(t,e){return d(t)?it(t,e):null==t?e(t):"function"==typeof t[D]?function(t,e){for(const o of t){const r=e(o);if(n(r))return st(t,e,new Set([ct(r)]));if(r)return!0}return!1}(t[D](),e):"function"==typeof t[$]?st(t[$](),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?it(Sn(t),e):e(t)},ht=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(_,u,"every",Boolean))},at=(n,t,e)=>!!t&&n(e),pt=function(t,o){return d(t)?ht(t,o):null==t?o(t):"function"==typeof t[D]?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(_,u,"every",Boolean))}(t[D](),o):"function"==typeof t[$]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(ct(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),!n)return!1}return!0}(t[$](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(at,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?ht(Sn(t),o):o(t)},dt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,T(dt,t,e),f(!1)));if(!o)return!1}return!0},yt=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},gt=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,z(yt,t,e,r),f(!1)));if(!o)return!1}return!0},wt=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),T(wt,t,e)));if(o)return!0}return!1},vt=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},xt=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),z(vt,t,e,r)));if(o)return!0}return!1},jt=n=>!n,bt=function(t,e){const o=e(...t);return n(o)?o.then(jt):!o},St=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(un(o)):o(c,f)},Ot=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(un(o)):o(c,u)},mt=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(un(o)):o(r,c)},zt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?St(Mt,u,o,f,c):t(r)?e(r).then(g(Mt,u,o,f,c)):Mt(r,o,f,c):i?0==r.length?St(Ot,u,o,f,c):t(r)?e(r).then(g(Ot,u,o,f,c)):Ot(r,o,f,c):s?0==r.length?St(mt,u,o,f,c):t(r)?e(r).then(g(mt,u,o,f,c)):mt(r,o,f,c):n(f)||n(c)?e([f,c]).then(un(o)):o(f,c)},At=zt((function(n,t){return n==t})),Et=zt(((n,t)=>n>t)),Tt=zt(((n,t)=>n<t)),It=zt(((n,t)=>n>=t)),Dt=zt(((n,t)=>n<=t)),Pt=/[.|[|\]]+/,Bt=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(Pt):e?n.slice(1).split(Pt):o?n.slice(0,t).split(Pt):n.split(Pt)}),500),$t=n=>d(n)?n:"string"==typeof n?Bt(n):[n],kt=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},Ct=function(n,t,e){const o=null==n?void 0:kt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},_t=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=$t(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=d(t)?t.slice():{...t};f[n]=e,f=e}}return c},qt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(_t,t,u,e)):_t(t,r,e)}return n(o)?o.then(l(_t,t,u,e)):_t(t,o,e)},Ft=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=kt(n,e);null!=u&&(o=_t(o,u,e))}return o},Rt=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]},Vt=function(n){const t={};for(const e in n){const o=n[e];d(o)?t[e]=Gt(o):null!=o&&o.constructor==Object?t[e]=Vt(o):t[e]=o}return t},Gt=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];d(t)?e[o]=Gt(t):null!=t&&t.constructor==Object?e[o]=Vt(t):e[o]=t}return e},Ht=function(n,t){const e=t.length,o=d(r=n)?Gt(r):null==r?r:r.constructor==Object?Vt(r):r;var r;let u=-1;for(;++u<e;)Rt(o,t[u]);return o},Jt=(n,...t)=>rn(n.length,n,t);Jt.arity=function(n,t,...e){return rn(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:p,forEach:rt,switchCase:(...n)=>{const o=n.pop();return E(o)?I(o,-2):0==n.length?(r=A,f=u,i=-2,(c=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,f,i):f==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,c,i):((n,t,e)=>function(...o){return n(t,e,o)})(r,c,f)):t(n)?e(n).then(l(A,o,u,-2)):A(o,n,-2);var r,c,f,i},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(m,r,o,u)):m(r,o,n)}const o=n[0],r=n[1];return function(...n){return m(o,r,n)}},all:b,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||d(t)?l(Ct,u,t,e):n(t)?t.then(l(Ct,u,e,o)):Ct(t,e,o)},set:function(t,e,o){return null==o?l(qt,u,t,e):n(t)?t.then(l(qt,u,e,o)):qt(t,e,o)},pick:function(t,e){return null==e?c(Ft,u,t):n(t)?t.then(c(Ft,u,e)):Ft(t,e)},omit:function(t,e){return null==e?c(Ht,u,t):n(t)?t.then(c(Ht,u,e)):Ht(t,e)},map:sn,filter:function(n,t){return"function"==typeof n?c(bn,u,n):bn(n,t)},flatMap:(t,e)=>"function"==typeof t?c(Zn,u,t):n(t)?t.then(c(Zn,u,e)):Zn(t,e),reduce:function(...t){return"function"==typeof t[0]?l(Tn,u,t[0],t[1]):n(t[0])?t[0].then(l(Tn,u,t[1],t[2])):Tn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Gn,u,t[0],t[1]):n(t[0])?t[0].then(l(Gn,u,t[1],t[2])):Gn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return E(o)?dt(o,-1):0==n.length?h(gt,u,o):t(n)?e(n).then(c(gt,u,o)):gt(n,o)},or:function(...n){const o=n.pop();return E(o)?wt(o,-1):0==n.length?h(xt,u,o):t(n)?e(n).then(c(xt,u,o)):xt(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(bt,u,o):t(n)?e(n).then(c(bt,u,o)):bt(n,o):!o},some:function(t,e){return"function"==typeof t?c(lt,u,t):n(t)?t.then(c(lt,u,e)):lt(t,e)},every:function(t,e){return"function"==typeof t?c(pt,u,t):n(t)?t.then(c(pt,u,e)):pt(t,e)},eq:At,gt:Et,lt:Tt,gte:It,lte:Dt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Jt,__:u}}());