rubico 2.8.0 → 2.8.1

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 (341) hide show
  1. package/LICENSE +5 -17
  2. package/README.md +1 -1
  3. package/_internal/curryArity.js +21 -1
  4. package/_internal/funcApply2.js +18 -0
  5. package/curry.js +38 -11
  6. package/dist/Transducer.es.js +1 -1
  7. package/dist/Transducer.es.min.js +1 -1
  8. package/dist/Transducer.js +1 -1
  9. package/dist/Transducer.min.js +1 -1
  10. package/dist/Transducer.mjs +1 -1
  11. package/dist/__.es.js +1 -1
  12. package/dist/__.es.min.js +1 -1
  13. package/dist/__.js +1 -1
  14. package/dist/__.min.js +1 -1
  15. package/dist/__.mjs +1 -1
  16. package/dist/all.es.js +1 -1
  17. package/dist/all.es.min.js +1 -1
  18. package/dist/all.js +1 -1
  19. package/dist/all.min.js +1 -1
  20. package/dist/all.mjs +1 -1
  21. package/dist/always.es.js +1 -1
  22. package/dist/always.es.min.js +1 -1
  23. package/dist/always.js +1 -1
  24. package/dist/always.min.js +1 -1
  25. package/dist/always.mjs +1 -1
  26. package/dist/and.es.js +1 -1
  27. package/dist/and.es.min.js +1 -1
  28. package/dist/and.js +1 -1
  29. package/dist/and.min.js +1 -1
  30. package/dist/and.mjs +1 -1
  31. package/dist/assign.es.js +1 -1
  32. package/dist/assign.es.min.js +1 -1
  33. package/dist/assign.js +1 -1
  34. package/dist/assign.min.js +1 -1
  35. package/dist/assign.mjs +1 -1
  36. package/dist/compose.es.js +1 -1
  37. package/dist/compose.es.min.js +1 -1
  38. package/dist/compose.js +1 -1
  39. package/dist/compose.min.js +1 -1
  40. package/dist/compose.mjs +1 -1
  41. package/dist/curry.es.js +132 -3
  42. package/dist/curry.es.min.js +2 -2
  43. package/dist/curry.js +132 -3
  44. package/dist/curry.min.js +2 -2
  45. package/dist/curry.mjs +132 -3
  46. package/dist/eq.es.js +1 -1
  47. package/dist/eq.es.min.js +1 -1
  48. package/dist/eq.js +1 -1
  49. package/dist/eq.min.js +1 -1
  50. package/dist/eq.mjs +1 -1
  51. package/dist/every.es.js +1 -1
  52. package/dist/every.es.min.js +1 -1
  53. package/dist/every.js +1 -1
  54. package/dist/every.min.js +1 -1
  55. package/dist/every.mjs +1 -1
  56. package/dist/filter.es.js +1 -1
  57. package/dist/filter.es.min.js +1 -1
  58. package/dist/filter.js +1 -1
  59. package/dist/filter.min.js +1 -1
  60. package/dist/filter.mjs +1 -1
  61. package/dist/flatMap.es.js +1 -1
  62. package/dist/flatMap.es.min.js +1 -1
  63. package/dist/flatMap.js +1 -1
  64. package/dist/flatMap.min.js +1 -1
  65. package/dist/flatMap.mjs +1 -1
  66. package/dist/forEach.es.js +1 -1
  67. package/dist/forEach.es.min.js +1 -1
  68. package/dist/forEach.js +1 -1
  69. package/dist/forEach.min.js +1 -1
  70. package/dist/forEach.mjs +1 -1
  71. package/dist/get.es.js +1 -1
  72. package/dist/get.es.min.js +1 -1
  73. package/dist/get.js +1 -1
  74. package/dist/get.min.js +1 -1
  75. package/dist/get.mjs +1 -1
  76. package/dist/gt.es.js +1 -1
  77. package/dist/gt.es.min.js +1 -1
  78. package/dist/gt.js +1 -1
  79. package/dist/gt.min.js +1 -1
  80. package/dist/gt.mjs +1 -1
  81. package/dist/gte.es.js +1 -1
  82. package/dist/gte.es.min.js +1 -1
  83. package/dist/gte.js +1 -1
  84. package/dist/gte.min.js +1 -1
  85. package/dist/gte.mjs +1 -1
  86. package/dist/lt.es.js +1 -1
  87. package/dist/lt.es.min.js +1 -1
  88. package/dist/lt.js +1 -1
  89. package/dist/lt.min.js +1 -1
  90. package/dist/lt.mjs +1 -1
  91. package/dist/lte.es.js +1 -1
  92. package/dist/lte.es.min.js +1 -1
  93. package/dist/lte.js +1 -1
  94. package/dist/lte.min.js +1 -1
  95. package/dist/lte.mjs +1 -1
  96. package/dist/map.es.js +41 -2
  97. package/dist/map.es.min.js +2 -2
  98. package/dist/map.js +41 -2
  99. package/dist/map.min.js +2 -2
  100. package/dist/map.mjs +41 -2
  101. package/dist/not.es.js +1 -1
  102. package/dist/not.es.min.js +1 -1
  103. package/dist/not.js +1 -1
  104. package/dist/not.min.js +1 -1
  105. package/dist/not.mjs +1 -1
  106. package/dist/omit.es.js +1 -1
  107. package/dist/omit.es.min.js +1 -1
  108. package/dist/omit.js +1 -1
  109. package/dist/omit.min.js +1 -1
  110. package/dist/omit.mjs +1 -1
  111. package/dist/or.es.js +1 -1
  112. package/dist/or.es.min.js +1 -1
  113. package/dist/or.js +1 -1
  114. package/dist/or.min.js +1 -1
  115. package/dist/or.mjs +1 -1
  116. package/dist/pick.es.js +1 -1
  117. package/dist/pick.es.min.js +1 -1
  118. package/dist/pick.js +1 -1
  119. package/dist/pick.min.js +1 -1
  120. package/dist/pick.mjs +1 -1
  121. package/dist/pipe.es.js +1 -1
  122. package/dist/pipe.es.min.js +1 -1
  123. package/dist/pipe.js +1 -1
  124. package/dist/pipe.min.js +1 -1
  125. package/dist/pipe.mjs +1 -1
  126. package/dist/reduce.es.js +1 -1
  127. package/dist/reduce.es.min.js +1 -1
  128. package/dist/reduce.js +1 -1
  129. package/dist/reduce.min.js +1 -1
  130. package/dist/reduce.mjs +1 -1
  131. package/dist/rubico.es.js +47 -6
  132. package/dist/rubico.es.min.js +2 -2
  133. package/dist/rubico.global.js +47 -6
  134. package/dist/rubico.global.min.js +2 -2
  135. package/dist/rubico.js +47 -6
  136. package/dist/rubico.min.js +2 -2
  137. package/dist/rubico.mjs +47 -6
  138. package/dist/set.es.js +1 -1
  139. package/dist/set.es.min.js +1 -1
  140. package/dist/set.js +1 -1
  141. package/dist/set.min.js +1 -1
  142. package/dist/set.mjs +1 -1
  143. package/dist/some.es.js +1 -1
  144. package/dist/some.es.min.js +1 -1
  145. package/dist/some.js +1 -1
  146. package/dist/some.min.js +1 -1
  147. package/dist/some.mjs +1 -1
  148. package/dist/switchCase.es.js +1 -1
  149. package/dist/switchCase.es.min.js +1 -1
  150. package/dist/switchCase.js +1 -1
  151. package/dist/switchCase.min.js +1 -1
  152. package/dist/switchCase.mjs +1 -1
  153. package/dist/tap.es.js +1 -1
  154. package/dist/tap.es.min.js +1 -1
  155. package/dist/tap.js +1 -1
  156. package/dist/tap.min.js +1 -1
  157. package/dist/tap.mjs +1 -1
  158. package/dist/thunkify.es.js +41 -17
  159. package/dist/thunkify.es.min.js +2 -2
  160. package/dist/thunkify.js +41 -17
  161. package/dist/thunkify.min.js +2 -2
  162. package/dist/thunkify.mjs +41 -17
  163. package/dist/transform.es.js +1 -1
  164. package/dist/transform.es.min.js +1 -1
  165. package/dist/transform.js +1 -1
  166. package/dist/transform.min.js +1 -1
  167. package/dist/transform.mjs +1 -1
  168. package/dist/tryCatch.es.js +1 -1
  169. package/dist/tryCatch.es.min.js +1 -1
  170. package/dist/tryCatch.js +1 -1
  171. package/dist/tryCatch.min.js +1 -1
  172. package/dist/tryCatch.mjs +1 -1
  173. package/dist/x/append.es.js +1 -1
  174. package/dist/x/append.es.min.js +1 -1
  175. package/dist/x/append.js +1 -1
  176. package/dist/x/append.min.js +1 -1
  177. package/dist/x/append.mjs +1 -1
  178. package/dist/x/callProp.es.js +1 -1
  179. package/dist/x/callProp.es.min.js +1 -1
  180. package/dist/x/callProp.js +1 -1
  181. package/dist/x/callProp.min.js +1 -1
  182. package/dist/x/callProp.mjs +1 -1
  183. package/dist/x/defaultsDeep.es.js +1 -1
  184. package/dist/x/defaultsDeep.es.min.js +1 -1
  185. package/dist/x/defaultsDeep.js +1 -1
  186. package/dist/x/defaultsDeep.min.js +1 -1
  187. package/dist/x/defaultsDeep.mjs +1 -1
  188. package/dist/x/differenceWith.es.js +1 -1
  189. package/dist/x/differenceWith.es.min.js +1 -1
  190. package/dist/x/differenceWith.js +1 -1
  191. package/dist/x/differenceWith.min.js +1 -1
  192. package/dist/x/differenceWith.mjs +1 -1
  193. package/dist/x/filterOut.es.js +1 -1
  194. package/dist/x/filterOut.es.min.js +1 -1
  195. package/dist/x/filterOut.js +1 -1
  196. package/dist/x/filterOut.min.js +1 -1
  197. package/dist/x/filterOut.mjs +1 -1
  198. package/dist/x/find.es.js +1 -1
  199. package/dist/x/find.es.min.js +1 -1
  200. package/dist/x/find.js +1 -1
  201. package/dist/x/find.min.js +1 -1
  202. package/dist/x/find.mjs +1 -1
  203. package/dist/x/findIndex.es.js +1 -1
  204. package/dist/x/findIndex.es.min.js +1 -1
  205. package/dist/x/findIndex.js +1 -1
  206. package/dist/x/findIndex.min.js +1 -1
  207. package/dist/x/findIndex.mjs +1 -1
  208. package/dist/x/first.es.js +1 -1
  209. package/dist/x/first.es.min.js +1 -1
  210. package/dist/x/first.js +1 -1
  211. package/dist/x/first.min.js +1 -1
  212. package/dist/x/first.mjs +1 -1
  213. package/dist/x/flatten.es.js +1 -1
  214. package/dist/x/flatten.es.min.js +1 -1
  215. package/dist/x/flatten.js +1 -1
  216. package/dist/x/flatten.min.js +1 -1
  217. package/dist/x/flatten.mjs +1 -1
  218. package/dist/x/groupBy.es.js +1 -1
  219. package/dist/x/groupBy.es.min.js +1 -1
  220. package/dist/x/groupBy.js +1 -1
  221. package/dist/x/groupBy.min.js +1 -1
  222. package/dist/x/groupBy.mjs +1 -1
  223. package/dist/x/has.es.js +1 -1
  224. package/dist/x/has.es.min.js +1 -1
  225. package/dist/x/has.js +1 -1
  226. package/dist/x/has.min.js +1 -1
  227. package/dist/x/has.mjs +1 -1
  228. package/dist/x/identity.es.js +1 -1
  229. package/dist/x/identity.es.min.js +1 -1
  230. package/dist/x/identity.js +1 -1
  231. package/dist/x/identity.min.js +1 -1
  232. package/dist/x/identity.mjs +1 -1
  233. package/dist/x/includes.es.js +1 -1
  234. package/dist/x/includes.es.min.js +1 -1
  235. package/dist/x/includes.js +1 -1
  236. package/dist/x/includes.min.js +1 -1
  237. package/dist/x/includes.mjs +1 -1
  238. package/dist/x/isDeepEqual.es.js +1 -1
  239. package/dist/x/isDeepEqual.es.min.js +1 -1
  240. package/dist/x/isDeepEqual.js +1 -1
  241. package/dist/x/isDeepEqual.min.js +1 -1
  242. package/dist/x/isDeepEqual.mjs +1 -1
  243. package/dist/x/isEmpty.es.js +1 -1
  244. package/dist/x/isEmpty.es.min.js +1 -1
  245. package/dist/x/isEmpty.js +1 -1
  246. package/dist/x/isEmpty.min.js +1 -1
  247. package/dist/x/isEmpty.mjs +1 -1
  248. package/dist/x/isEqual.es.js +1 -1
  249. package/dist/x/isEqual.es.min.js +1 -1
  250. package/dist/x/isEqual.js +1 -1
  251. package/dist/x/isEqual.min.js +1 -1
  252. package/dist/x/isEqual.mjs +1 -1
  253. package/dist/x/isFunction.es.js +1 -1
  254. package/dist/x/isFunction.es.min.js +1 -1
  255. package/dist/x/isFunction.js +1 -1
  256. package/dist/x/isFunction.min.js +1 -1
  257. package/dist/x/isFunction.mjs +1 -1
  258. package/dist/x/isIn.es.js +1 -1
  259. package/dist/x/isIn.es.min.js +1 -1
  260. package/dist/x/isIn.js +1 -1
  261. package/dist/x/isIn.min.js +1 -1
  262. package/dist/x/isIn.mjs +1 -1
  263. package/dist/x/isObject.es.js +1 -1
  264. package/dist/x/isObject.es.min.js +1 -1
  265. package/dist/x/isObject.js +1 -1
  266. package/dist/x/isObject.min.js +1 -1
  267. package/dist/x/isObject.mjs +1 -1
  268. package/dist/x/isString.es.js +1 -1
  269. package/dist/x/isString.es.min.js +1 -1
  270. package/dist/x/isString.js +1 -1
  271. package/dist/x/isString.min.js +1 -1
  272. package/dist/x/isString.mjs +1 -1
  273. package/dist/x/keys.es.js +1 -1
  274. package/dist/x/keys.es.min.js +1 -1
  275. package/dist/x/keys.js +1 -1
  276. package/dist/x/keys.min.js +1 -1
  277. package/dist/x/keys.mjs +1 -1
  278. package/dist/x/last.es.js +1 -1
  279. package/dist/x/last.es.min.js +1 -1
  280. package/dist/x/last.js +1 -1
  281. package/dist/x/last.min.js +1 -1
  282. package/dist/x/last.mjs +1 -1
  283. package/dist/x/maxBy.es.js +1 -1
  284. package/dist/x/maxBy.es.min.js +1 -1
  285. package/dist/x/maxBy.js +1 -1
  286. package/dist/x/maxBy.min.js +1 -1
  287. package/dist/x/maxBy.mjs +1 -1
  288. package/dist/x/noop.es.js +1 -1
  289. package/dist/x/noop.es.min.js +1 -1
  290. package/dist/x/noop.js +1 -1
  291. package/dist/x/noop.min.js +1 -1
  292. package/dist/x/noop.mjs +1 -1
  293. package/dist/x/pluck.es.js +41 -2
  294. package/dist/x/pluck.es.min.js +2 -2
  295. package/dist/x/pluck.js +41 -2
  296. package/dist/x/pluck.min.js +2 -2
  297. package/dist/x/pluck.mjs +41 -2
  298. package/dist/x/prepend.es.js +1 -1
  299. package/dist/x/prepend.es.min.js +1 -1
  300. package/dist/x/prepend.js +1 -1
  301. package/dist/x/prepend.min.js +1 -1
  302. package/dist/x/prepend.mjs +1 -1
  303. package/dist/x/size.es.js +1 -1
  304. package/dist/x/size.es.min.js +1 -1
  305. package/dist/x/size.js +1 -1
  306. package/dist/x/size.min.js +1 -1
  307. package/dist/x/size.mjs +1 -1
  308. package/dist/x/trace.es.js +1 -1
  309. package/dist/x/trace.es.min.js +1 -1
  310. package/dist/x/trace.js +1 -1
  311. package/dist/x/trace.min.js +1 -1
  312. package/dist/x/trace.mjs +1 -1
  313. package/dist/x/unionWith.es.js +1 -1
  314. package/dist/x/unionWith.es.min.js +1 -1
  315. package/dist/x/unionWith.js +1 -1
  316. package/dist/x/unionWith.min.js +1 -1
  317. package/dist/x/unionWith.mjs +1 -1
  318. package/dist/x/uniq.es.js +1 -1
  319. package/dist/x/uniq.es.min.js +1 -1
  320. package/dist/x/uniq.js +1 -1
  321. package/dist/x/uniq.min.js +1 -1
  322. package/dist/x/uniq.mjs +1 -1
  323. package/dist/x/unless.es.js +1 -1
  324. package/dist/x/unless.es.min.js +1 -1
  325. package/dist/x/unless.js +1 -1
  326. package/dist/x/unless.min.js +1 -1
  327. package/dist/x/unless.mjs +1 -1
  328. package/dist/x/values.es.js +1 -1
  329. package/dist/x/values.es.min.js +1 -1
  330. package/dist/x/values.js +1 -1
  331. package/dist/x/values.min.js +1 -1
  332. package/dist/x/values.mjs +1 -1
  333. package/dist/x/when.es.js +1 -1
  334. package/dist/x/when.es.min.js +1 -1
  335. package/dist/x/when.js +1 -1
  336. package/dist/x/when.min.js +1 -1
  337. package/dist/x/when.mjs +1 -1
  338. package/es.js +47 -6
  339. package/index.js +47 -6
  340. package/package.json +1 -1
  341. package/thunkify.js +66 -6
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1068,6 +1068,8 @@ const objectMapPool = function (o, concurrency, f) {
1068
1068
  return result
1069
1069
  }
1070
1070
 
1071
+ const funcApply2 = (func, context, args) => func.apply(context, args)
1072
+
1071
1073
  const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
1072
1074
  const argsLength = args.length,
1073
1075
  curriedArgsLength = curriedArgs.length,
@@ -1087,7 +1089,13 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
1087
1089
  } else {
1088
1090
  nextArgs.push(arg)
1089
1091
  }
1092
+
1090
1093
  if (nextArgs.length == arity) {
1094
+ if (areAnyValuesPromises(nextArgs)) {
1095
+ return numCurriedPlaceholders == 0
1096
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
1097
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1098
+ }
1091
1099
  return numCurriedPlaceholders == 0
1092
1100
  ? func.apply(context, nextArgs)
1093
1101
  : curryArity(arity, func, context, nextArgs)
@@ -1100,13 +1108,22 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
1100
1108
  numCurriedPlaceholders += 1
1101
1109
  }
1102
1110
  nextArgs.push(curriedArg)
1111
+
1103
1112
  if (nextArgs.length == arity) {
1113
+ if (areAnyValuesPromises(nextArgs)) {
1114
+ return numCurriedPlaceholders == 0
1115
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
1116
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1117
+ }
1104
1118
  return numCurriedPlaceholders == 0
1105
1119
  ? func.apply(context, nextArgs)
1106
1120
  : curryArity(arity, func, context, nextArgs)
1107
1121
  }
1108
1122
  }
1109
- return curryArity(arity, func, context, nextArgs)
1123
+
1124
+ return areAnyValuesPromises(nextArgs)
1125
+ ? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1126
+ : curryArity(arity, func, context, nextArgs)
1110
1127
  }
1111
1128
 
1112
1129
  const curryArity = function (arity, func, context, args) {
@@ -3284,20 +3301,44 @@ const omit = function (arg0, arg1) {
3284
3301
  return _omit(arg0, arg1)
3285
3302
  }
3286
3303
 
3287
- const thunkify = (func, ...args) => function thunk() {
3304
+ function _thunkifyArgs(func, context, args) {
3305
+ return function thunk() {
3306
+ return func.apply(context, args)
3307
+ }
3308
+ }
3309
+
3310
+ const thunkify = function thunkify(func, ...args) {
3288
3311
  if (areAnyValuesPromises(args)) {
3289
- return promiseAll(args).then(curry2(funcApply, func, __))
3312
+ return promiseAll(args).then(curry3(_thunkifyArgs, func, this, __))
3290
3313
  }
3291
- return func(...args)
3314
+ return _thunkifyArgs(func, this, args)
3292
3315
  }
3293
3316
 
3294
- const curry = (func, ...args) => curryArity(func.length, func, this, args)
3317
+ thunkify.call = function thunkifyCall(func, context, ...args) {
3318
+ if (areAnyValuesPromises(args)) {
3319
+ return promiseAll(args).then(curry3(_thunkifyArgs, func, context, __))
3320
+ }
3321
+ return _thunkifyArgs(func, context, args)
3322
+ }
3323
+
3324
+ const curry = (func, ...args) => {
3325
+ if (areAnyValuesPromises(args)) {
3326
+ return promiseAll(args).then(curry4(curryArity, func.length, func, this, __))
3327
+ }
3328
+ return curryArity(func.length, func, this, args)
3329
+ }
3295
3330
 
3296
3331
  curry.arity = function curryArity_(arity, func, ...args) {
3332
+ if (areAnyValuesPromises(args)) {
3333
+ return promiseAll(args).then(curry4(curryArity, arity, func, this, __))
3334
+ }
3297
3335
  return curryArity(arity, func, this, args)
3298
3336
  }
3299
3337
 
3300
3338
  curry.call = function call(func, context, ...args) {
3339
+ if (areAnyValuesPromises(args)) {
3340
+ return promiseAll(args).then(curry4(curryArity, func.length, func, context, __))
3341
+ }
3301
3342
  return curryArity(func.length, func, context, args)
3302
3343
  }
3303
3344
 
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 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=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}}}),R=n=>({value:n,done:!1}),_=Symbol.asyncIterator,q=(n,e)=>({[_](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(R):{value:r,done:!1}}}),F=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,o)=>function(...r){const u=o.length,f=r.length,i=[];let s=-1,l=-1,h=0;for(;++s<u;){const u=o[s];if(u==c&&(l+=1)<f){const n=r[l];n==c&&(h+=1),i.push(n)}else i.push(u);if(i.length==n)return 0==h?t.apply(e,i):fn(n,t,e,i)}for(;++l<f;){const o=r[l];if(o==c&&(h+=1),i.push(o),i.length==n)return 0==h?t.apply(e,i):fn(n,t,e,i)}return fn(n,t,e,i)},fn=function(n,t,e,o){const r=o.length;if(r<n)return cn(n,t,e,o);let u=-1;for(;++u<r;){if(o[u]==c)return cn(n,t,e,o)}return t.apply(e,o)},sn=n=>function([t,e]){return n(t,e)},ln=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(sn(fn(3,X,this,[e])))):e.set(c[0],c[1])},hn=function(e,r){return n(e)?F(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=F(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(e[_](),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,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(i(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(ln(t,e,r)),0==r.length?e:o(r).then(i(e))}(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 functor ${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 functor ${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,[_](){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[_]?wn(e[_](),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=function(n,t,e,o,r,u){return t==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(n,e,o,r,u):e==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(n,t,o,r,u):o==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(n,t,e,r,u):r==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(n,t,e,o,u):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(n,t,e,o,r)},Tn=Object.keys,In=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},Dn=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},Pn=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(Dn,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[_]?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[_](),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=Tn(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(En(In,n,e,c,r,f))}return o}(e,o,r):void 0===r?f(o,e,c):o(r,e)},Bn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Pn,n,e,c)):Pn(n,e,r)}return t(o)?o.then(h(Pn,n,e,c)):Pn(n,e,o)},$n=ArrayBuffer.isView,kn=function(t,e){return n(e)||$n(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)},Cn="function"==typeof Buffer,Rn=Cn?Buffer.alloc:Sn,_n=function(n,t){const e=n.length,o=Cn&&n.constructor==Buffer?Rn(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)||$n(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)),Vn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Fn(n,t):(n.write(t),n);var e},Gn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Hn=function(n,t){return n.concat(t)},Jn=function(n,e,o){const r=Pn(n,e(Sn),null);return t(r)?r.then(i(o)):o},Kn=function(e,o,r){if(n(r))return Pn(e,o(kn),r);if($n(r)){const n=Pn(e,o(kn),[]);return t(n)?n.then(f(qn,r,c)):qn(r,n)}if(null==r)return Jn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=Pn(e,o(kn),[r]);return t(n)?n.then(h(V,c,"join","")):n.join("")}return"function"==typeof r.concat?Pn(e,o(Hn),r):"function"==typeof r.write?Pn(e,o(Vn),r):u==Set?Pn(e,o(Gn),r):u==Object?Pn(e,o(A),r):Jn(e,o,r)},Ln=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Kn,n,e,c)):Kn(n,e,r)}return t(o)?o.then(h(Kn,n,e,c)):Kn(n,e,o)},Nn=function(n,t){return n.push(t),n},Qn=n=>new Promise(t=>{setTimeout(t,n)}),Un=(n,t)=>t,Wn=n=>n,Xn=(n,t)=>function(...e){return t(n(...e))},Yn=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))},Zn=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(Nn,s,c)));else if("function"==typeof o[k])for(const n of o)s.push(n);else if("function"==typeof o[_])u.push(Yn(o[_](),f(Nn,s,c)));else if("function"==typeof o.chain){const n=o.chain(Wn);t(n)?u.push(n.then(f(Nn,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Wn);t(n)?u.push(n.then(f(Nn,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Xn(Un,f(Nn,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))},nt=function(n){const e=[],r={},u=f(A,r,c),i=Xn(Un,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[_])e.push(Yn(c[_](),u));else if("function"==typeof c.chain){const n=c.chain(Wn);t(n)?e.push(n.then(u)):A(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Wn);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)},tt=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[_])r.push(Yn(o[_](),i));else if("function"==typeof o.chain){const n=o.chain(Wn);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Wn);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)},et=r(Zn,f((n,t)=>n.join(t),c,"")),ot=function(e,o){if(n(e))return function(n,e){const o=F(n,e);return t(o)?o.then(Zn):Zn(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=Pn(t(r.value),Nn,[]);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,[_](){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(Pn,c,Nn,o)).then(()=>r.delete(t));r.add(t)}else{const e=Pn(n,Nn,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([Qn(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(nt):nt(o)}(e,o):r==Set?function(n,e){const o=G(n,e);return t(o)?o.then(tt):tt(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=F(n,e);return t(o)?o.then(et):et(o)}(e,o):o(e)},rt=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ut=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},ct=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},ft=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],c,n);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[_]?Yn(e[_](),r):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o],o,n);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(i(n))}(e,r):e},it=function(n,e){return"function"==typeof n?f(ft,c,n):t(n)?n.then(f(ft,c,e)):ft(n,e)},st=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],r,n);if(t(o))return o.then(D(rt,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(ct,n,e));o=n.next()}return n}(e[k](),o);if("function"==typeof e[_])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[_](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r],r,n);if(t(u))return u.then(D(ut,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};it.series=function(n,e){return"function"==typeof n?f(st,c,n):t(n)?n.then(f(st,c,e)):st(n,e)};const lt=function(n){const t=n.then(n=>[n,t]);return t},ht=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(lt(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},at=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return ht(n,e,r,new Set([lt(o)]));if(o)return!0}return!1},pt=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(lt(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},dt=function(e,o){return n(e)?at(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 pt(n,e,new Set([lt(r)]));if(r)return!0}return!1}(e[k](),o):"function"==typeof e[_]?pt(e[_](),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?at(mn(e),o):o(e)},yt=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))},gt=(n,t,e)=>!!t&&n(e),wt=function(e,r){return n(e)?yt(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[_]?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(lt(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[_](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(gt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?yt(mn(e),r):r(e)},vt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(vt,n,e),i(!1)));if(!o)return!1}return!0},xt=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},jt=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(xt,n,e,r),i(!1)));if(!o)return!1}return!0},bt=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(bt,n,e)));if(o)return!0}return!1},St=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},Mt=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(St,n,e,r)));if(o)return!0}return!1},Ot=n=>!n,mt=function(n,e){const o=e(...n);return t(o)?o.then(Ot):!o},zt=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)},At=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)},Et=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(sn(e)):e(c,u)},Tt=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(sn(e)):e(r,c)},It=n=>function(...r){const u=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof u;return i&&s?0==r.length?zt(At,c,n,f,u):e(r)?o(r).then(j(At,c,n,f,u)):At(r,n,f,u):i?0==r.length?zt(Et,c,n,f,u):e(r)?o(r).then(j(Et,c,n,f,u)):Et(r,n,f,u):s?0==r.length?zt(Tt,c,n,f,u):e(r)?o(r).then(j(Tt,c,n,f,u)):Tt(r,n,f,u):t(f)||t(u)?o([f,u]).then(sn(n)):n(f,u)},Dt=It(function(n,t){return n==t}),Pt=It((n,t)=>n>t),Bt=It((n,t)=>n<t),$t=It((n,t)=>n>=t),kt=It((n,t)=>n<=t),Ct=/[.|[|\]]+/,Rt=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(Ct):e?n.slice(1).split(Ct):o?n.slice(0,t).split(Ct):n.split(Ct)},500),_t=t=>n(t)?t:"string"==typeof t?Rt(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},Vt=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},Gt=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Vt,n,c,e)):Vt(n,r,e)}return t(o)?o.then(h(Vt,n,c,e)):Vt(n,o,e)},Ht=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=Vt(o,u,e))}return o},Jt=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]},Kt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Lt(r):null!=r&&r.constructor==Object?e[o]=Kt(r):e[o]=r}return e},Lt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Lt(e):null!=e&&e.constructor==Object?o[r]=Kt(e):o[r]=e}return o},Nt=function(t,e){const o=e.length,r=n(u=t)?Lt(u):null==u?u:u.constructor==Object?Kt(u):u;var u;let c=-1;for(;++c<o;)Jt(r,e[c]);return r},Qt=(n,...t)=>fn(n.length,n,this,t);Qt.arity=function(n,t,...e){return fn(n,t,this,e)},Qt.call=function(n,t,...e){return fn(n.length,n,t,e)};return{pipe:function(...n){if("function"==typeof n[0])return n.reduce(r);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){if("function"==typeof n[0])return n.reduceRight(r);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:it,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(Gt,c,n,e):t(n)?n.then(h(Gt,c,e,o)):Gt(n,e,o)},pick:function(n,e){return null==e?f(Ht,c,n):t(n)?n.then(f(Ht,c,e)):Ht(n,e)},omit:function(n,e){return null==e?f(Nt,c,n):t(n)?n.then(f(Nt,c,e)):Nt(n,e)},map:an,filter:function(n,e){return"function"==typeof n?f(On,c,n):t(n)?n.then(f(On,c,e)):On(n,e)},flatMap:(n,e)=>"function"==typeof n?f(ot,c,n):t(n)?n.then(f(ot,c,e)):ot(n,e),reduce:function(...n){return"function"==typeof n[0]?h(Bn,c,n[0],n[1]):t(n[0])?n[0].then(h(Bn,c,n[1],n[2])):Bn(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Ln,c,n[0],n[1]):t(n[0])?n[0].then(h(Ln,c,n[1],n[2])):Ln(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?vt(t,-1):0==n.length?a(jt,c,t):e(n)?o(n).then(f(jt,c,t)):jt(n,t)},or:function(...n){const t=n.pop();return w(t)?bt(t,-1):0==n.length?a(Mt,c,t):e(n)?o(n).then(f(Mt,c,t)):Mt(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(mt,c,r):e(n)?o(n).then(f(mt,c,r)):mt(n,r):t(r)?r.then(Ot):!r},some:function(n,e){return"function"==typeof n?f(dt,c,n):t(n)?n.then(f(dt,c,e)):dt(n,e)},every:function(n,e){return"function"==typeof n?f(wt,c,n):t(n)?n.then(f(wt,c,e)):wt(n,e)},eq:Dt,gt:Pt,lt:Bt,gte:$t,lte:kt,thunkify:(n,...t)=>function(){return e(t)?o(t).then(f(u,n,c)):n(...t)},always:i,curry:Qt,__:c}}());
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}}}),R=n=>({value:n,done:!1}),_=Symbol.asyncIterator,q=(n,e)=>({[_](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(R):{value:r,done:!1}}}),F=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)=>n.apply(t,e),fn=(n,t,r,u)=>function(...f){const i=u.length,s=f.length,l=[];let a=-1,p=-1,d=0;for(;++a<i;){const i=u[a];if(i==c&&(p+=1)<s){const n=f[p];n==c&&(d+=1),l.push(n)}else l.push(i);if(l.length==n)return e(l)?0==d?o(l).then(h(cn,t,r,c)):o(l).then(j(sn,n,t,r,c)):0==d?t.apply(r,l):sn(n,t,r,l)}for(;++p<s;){const u=f[p];if(u==c&&(d+=1),l.push(u),l.length==n)return e(l)?0==d?o(l).then(h(cn,t,r,c)):o(l).then(j(sn,n,t,r,c)):0==d?t.apply(r,l):sn(n,t,r,l)}return e(l)?o(l).then(j(sn,n,t,r,c)):sn(n,t,r,l)},sn=function(n,t,e,o){const r=o.length;if(r<n)return fn(n,t,e,o);let u=-1;for(;++u<r;){if(o[u]==c)return fn(n,t,e,o)}return t.apply(e,o)},ln=n=>function([t,e]){return n(t,e)},hn=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(ln(sn(3,X,this,[e])))):e.set(c[0],c[1])},an=function(e,r){return n(e)?F(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=F(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(e[_](),r):e.constructor==Object?J(e,r):r(e)},pn=function(n,e){return null==e?f(an,c,n):t(n)?n.then(f(an,c,e)):an(n,e)},dn=(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(ln(sn(3,b,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(i(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(hn(t,e,r)),0==r.length?e:o(r).then(i(e))}(n,e);throw new TypeError("value is not an Object or Map")};pn.entries=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){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}`)};pn.series=function(n,e){return null==e?f(yn,c,n):t(n)?n.then(f(yn,c,e)):yn(n,e)};const gn=function(e,o,r){if(n(e))return en(e,o,r);if(null==e)throw new TypeError(`invalid functor ${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 functor ${e}`)};pn.pool=function(n,e,o){return null==o?h(gn,c,n,e):t(n)?n.then(h(gn,c,e,o)):gn(n,e,o)};const wn=(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}}),vn=(n,e)=>({isAsyncIteratorDone:!1,[_](){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}}}),xn=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},jn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},bn=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(xn([s],n,e,f)).then(j(jn,n,u,f-1,c));s&&(u[++i]=r)}return u},Sn=(n,t)=>function(){return n(t)},Mn=function(){},On=function(n,t,e,o){o&&(n[t]=e)},mn=function(e,r){return n(e)?bn(e,r):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=bn(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,Sn(u,o),Mn))):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),Mn))):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]?wn(e[k](),r):"function"==typeof e[_]?vn(e[_](),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(On,r,o,n[o],c))):i&&(r[o]=f)}return 0==u.length?r:o(u).then(i(r))}(e,r):e},zn=Object.values,An=(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}),En=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},Tn=function(n,t,e,o,r,u){return t==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(n,e,o,r,u):e==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(n,t,o,r,u):o==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(n,t,e,r,u):r==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(n,t,e,o,u):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(n,t,e,o,r)},In=Object.keys,Dn=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},Pn=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},Bn=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(En,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(Pn,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(An,n,e,c));r=n.next()}return o}(e[k](),o,r):"function"==typeof e[_]?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[_](),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=In(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(Tn(Dn,n,e,c,r,f))}return o}(e,o,r):void 0===r?f(o,e,c):o(r,e)},$n=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Bn,n,e,c)):Bn(n,e,r)}return t(o)?o.then(h(Bn,n,e,c)):Bn(n,e,o)},kn=ArrayBuffer.isView,Cn=function(t,e){return n(e)||kn(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)},Rn="function"==typeof Buffer,_n=Rn?Buffer.alloc:Mn,qn=function(n,t){const e=n.length,o=Rn&&n.constructor==Buffer?_n(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},Fn=function(t,e){return n(e)||kn(e)?qn(t,e):qn(t,[e])},Vn=(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",Sn(e,n)),t.on("error",o)})(n,t)),Gn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Vn(n,t):(n.write(t),n);var e},Hn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Jn=function(n,t){return n.concat(t)},Kn=function(n,e,o){const r=Bn(n,e(Mn),null);return t(r)?r.then(i(o)):o},Ln=function(e,o,r){if(n(r))return Bn(e,o(Cn),r);if(kn(r)){const n=Bn(e,o(Cn),[]);return t(n)?n.then(f(Fn,r,c)):Fn(r,n)}if(null==r)return Kn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=Bn(e,o(Cn),[r]);return t(n)?n.then(h(V,c,"join","")):n.join("")}return"function"==typeof r.concat?Bn(e,o(Jn),r):"function"==typeof r.write?Bn(e,o(Gn),r):u==Set?Bn(e,o(Hn),r):u==Object?Bn(e,o(A),r):Kn(e,o,r)},Nn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Ln,n,e,c)):Ln(n,e,r)}return t(o)?o.then(h(Ln,n,e,c)):Ln(n,e,o)},Qn=function(n,t){return n.push(t),n},Un=n=>new Promise(t=>{setTimeout(t,n)}),Wn=(n,t)=>t,Xn=n=>n,Yn=(n,t)=>function(...e){return t(n(...e))},Zn=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))},nt=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(Qn,s,c)));else if("function"==typeof o[k])for(const n of o)s.push(n);else if("function"==typeof o[_])u.push(Zn(o[_](),f(Qn,s,c)));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?u.push(n.then(f(Qn,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);t(n)?u.push(n.then(f(Qn,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Yn(Wn,f(Qn,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))},tt=function(n){const e=[],r={},u=f(A,r,c),i=Yn(Wn,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[_])e.push(Zn(c[_](),u));else if("function"==typeof c.chain){const n=c.chain(Xn);t(n)?e.push(n.then(u)):A(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Xn);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)},et=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[_])r.push(Zn(o[_](),i));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);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)},ot=r(nt,f((n,t)=>n.join(t),c,"")),rt=function(e,o){if(n(e))return function(n,e){const o=F(n,e);return t(o)?o.then(nt):nt(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=Bn(t(r.value),Qn,[]);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,[_](){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(Bn,c,Qn,o)).then(()=>r.delete(t));r.add(t)}else{const e=Bn(n,Qn,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([Un(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(tt):tt(o)}(e,o):r==Set?function(n,e){const o=G(n,e);return t(o)?o.then(et):et(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=F(n,e);return t(o)?o.then(ot):ot(o)}(e,o):o(e)},ut=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ct=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},ft=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},it=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],c,n);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[_]?Zn(e[_](),r):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o],o,n);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(i(n))}(e,r):e},st=function(n,e){return"function"==typeof n?f(it,c,n):t(n)?n.then(f(it,c,e)):it(n,e)},lt=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],r,n);if(t(o))return o.then(D(ut,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(ft,n,e));o=n.next()}return n}(e[k](),o);if("function"==typeof e[_])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[_](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r],r,n);if(t(u))return u.then(D(ct,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};st.series=function(n,e){return"function"==typeof n?f(lt,c,n):t(n)?n.then(f(lt,c,e)):lt(n,e)};const ht=function(n){const t=n.then(n=>[n,t]);return t},at=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(ht(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},pt=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return at(n,e,r,new Set([ht(o)]));if(o)return!0}return!1},dt=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(ht(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},yt=function(e,o){return n(e)?pt(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 dt(n,e,new Set([ht(r)]));if(r)return!0}return!1}(e[k](),o):"function"==typeof e[_]?dt(e[_](),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?pt(zn(e),o):o(e)},gt=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))},wt=(n,t,e)=>!!t&&n(e),vt=function(e,r){return n(e)?gt(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[_]?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(ht(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[_](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(wt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?gt(zn(e),r):r(e)},xt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(xt,n,e),i(!1)));if(!o)return!1}return!0},jt=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},bt=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(jt,n,e,r),i(!1)));if(!o)return!1}return!0},St=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(St,n,e)));if(o)return!0}return!1},Mt=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},Ot=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(Mt,n,e,r)));if(o)return!0}return!1},mt=n=>!n,zt=function(n,e){const o=e(...n);return t(o)?o.then(mt):!o},At=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)},Et=function(n,e,r,u){const c=r(...n),f=u(...n);return t(c)||t(f)?o([c,f]).then(ln(e)):e(c,f)},Tt=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(ln(e)):e(c,u)},It=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(ln(e)):e(r,c)},Dt=n=>function(...r){const u=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof u;return i&&s?0==r.length?At(Et,c,n,f,u):e(r)?o(r).then(j(Et,c,n,f,u)):Et(r,n,f,u):i?0==r.length?At(Tt,c,n,f,u):e(r)?o(r).then(j(Tt,c,n,f,u)):Tt(r,n,f,u):s?0==r.length?At(It,c,n,f,u):e(r)?o(r).then(j(It,c,n,f,u)):It(r,n,f,u):t(f)||t(u)?o([f,u]).then(ln(n)):n(f,u)},Pt=Dt(function(n,t){return n==t}),Bt=Dt((n,t)=>n>t),$t=Dt((n,t)=>n<t),kt=Dt((n,t)=>n>=t),Ct=Dt((n,t)=>n<=t),Rt=/[.|[|\]]+/,_t=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(Rt):e?n.slice(1).split(Rt):o?n.slice(0,t).split(Rt):n.split(Rt)},500),qt=t=>n(t)?t:"string"==typeof t?_t(t):[t],Ft=function(n,t){const e=qt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Vt=function(n,t,e){const o=null==n?void 0:Ft(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Gt=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=qt(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},Ht=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Gt,n,c,e)):Gt(n,r,e)}return t(o)?o.then(h(Gt,n,c,e)):Gt(n,o,e)},Jt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=Ft(n,e);null!=u&&(o=Gt(o,u,e))}return o},Kt=function(n,t){if(null==n)return;const e=qt(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]},Lt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Nt(r):null!=r&&r.constructor==Object?e[o]=Lt(r):e[o]=r}return e},Nt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Nt(e):null!=e&&e.constructor==Object?o[r]=Lt(e):o[r]=e}return o},Qt=function(t,e){const o=e.length,r=n(u=t)?Nt(u):null==u?u:u.constructor==Object?Lt(u):u;var u;let c=-1;for(;++c<o;)Kt(r,e[c]);return r};function Ut(n,t,e){return function(){return n.apply(t,e)}}const Wt=function(n,...t){return e(t)?o(t).then(h(Ut,n,this,c)):Ut(n,this,t)};Wt.call=function(n,t,...r){return e(r)?o(r).then(h(Ut,n,t,c)):Ut(n,t,r)};const Xt=(n,...t)=>e(t)?o(t).then(j(sn,n.length,n,this,c)):sn(n.length,n,this,t);Xt.arity=function(n,t,...r){return e(r)?o(r).then(j(sn,n,t,this,c)):sn(n,t,this,r)},Xt.call=function(n,t,...r){return e(r)?o(r).then(j(sn,n.length,n,t,c)):sn(n.length,n,t,r)};return{pipe:function(...n){if("function"==typeof n[0])return n.reduce(r);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){if("function"==typeof n[0])return n.reduceRight(r);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:st,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(Vt,c,e,o):t(e)?e.then(h(Vt,c,o,r)):Vt(e,o,r)},set:function(n,e,o){return null==o?h(Ht,c,n,e):t(n)?n.then(h(Ht,c,e,o)):Ht(n,e,o)},pick:function(n,e){return null==e?f(Jt,c,n):t(n)?n.then(f(Jt,c,e)):Jt(n,e)},omit:function(n,e){return null==e?f(Qt,c,n):t(n)?n.then(f(Qt,c,e)):Qt(n,e)},map:pn,filter:function(n,e){return"function"==typeof n?f(mn,c,n):t(n)?n.then(f(mn,c,e)):mn(n,e)},flatMap:(n,e)=>"function"==typeof n?f(rt,c,n):t(n)?n.then(f(rt,c,e)):rt(n,e),reduce:function(...n){return"function"==typeof n[0]?h($n,c,n[0],n[1]):t(n[0])?n[0].then(h($n,c,n[1],n[2])):$n(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Nn,c,n[0],n[1]):t(n[0])?n[0].then(h(Nn,c,n[1],n[2])):Nn(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?xt(t,-1):0==n.length?a(bt,c,t):e(n)?o(n).then(f(bt,c,t)):bt(n,t)},or:function(...n){const t=n.pop();return w(t)?St(t,-1):0==n.length?a(Ot,c,t):e(n)?o(n).then(f(Ot,c,t)):Ot(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(zt,c,r):e(n)?o(n).then(f(zt,c,r)):zt(n,r):t(r)?r.then(mt):!r},some:function(n,e){return"function"==typeof n?f(yt,c,n):t(n)?n.then(f(yt,c,e)):yt(n,e)},every:function(n,e){return"function"==typeof n?f(vt,c,n):t(n)?n.then(f(vt,c,e)):vt(n,e)},eq:Pt,gt:Bt,lt:$t,gte:kt,lte:Ct,thunkify:Wt,always:i,curry:Xt,__:c}}());
package/dist/rubico.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1068,6 +1068,8 @@ const objectMapPool = function (o, concurrency, f) {
1068
1068
  return result
1069
1069
  }
1070
1070
 
1071
+ const funcApply2 = (func, context, args) => func.apply(context, args)
1072
+
1071
1073
  const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
1072
1074
  const argsLength = args.length,
1073
1075
  curriedArgsLength = curriedArgs.length,
@@ -1087,7 +1089,13 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
1087
1089
  } else {
1088
1090
  nextArgs.push(arg)
1089
1091
  }
1092
+
1090
1093
  if (nextArgs.length == arity) {
1094
+ if (areAnyValuesPromises(nextArgs)) {
1095
+ return numCurriedPlaceholders == 0
1096
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
1097
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1098
+ }
1091
1099
  return numCurriedPlaceholders == 0
1092
1100
  ? func.apply(context, nextArgs)
1093
1101
  : curryArity(arity, func, context, nextArgs)
@@ -1100,13 +1108,22 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
1100
1108
  numCurriedPlaceholders += 1
1101
1109
  }
1102
1110
  nextArgs.push(curriedArg)
1111
+
1103
1112
  if (nextArgs.length == arity) {
1113
+ if (areAnyValuesPromises(nextArgs)) {
1114
+ return numCurriedPlaceholders == 0
1115
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
1116
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1117
+ }
1104
1118
  return numCurriedPlaceholders == 0
1105
1119
  ? func.apply(context, nextArgs)
1106
1120
  : curryArity(arity, func, context, nextArgs)
1107
1121
  }
1108
1122
  }
1109
- return curryArity(arity, func, context, nextArgs)
1123
+
1124
+ return areAnyValuesPromises(nextArgs)
1125
+ ? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1126
+ : curryArity(arity, func, context, nextArgs)
1110
1127
  }
1111
1128
 
1112
1129
  const curryArity = function (arity, func, context, args) {
@@ -3284,20 +3301,44 @@ const omit = function (arg0, arg1) {
3284
3301
  return _omit(arg0, arg1)
3285
3302
  }
3286
3303
 
3287
- const thunkify = (func, ...args) => function thunk() {
3304
+ function _thunkifyArgs(func, context, args) {
3305
+ return function thunk() {
3306
+ return func.apply(context, args)
3307
+ }
3308
+ }
3309
+
3310
+ const thunkify = function thunkify(func, ...args) {
3288
3311
  if (areAnyValuesPromises(args)) {
3289
- return promiseAll(args).then(curry2(funcApply, func, __))
3312
+ return promiseAll(args).then(curry3(_thunkifyArgs, func, this, __))
3290
3313
  }
3291
- return func(...args)
3314
+ return _thunkifyArgs(func, this, args)
3292
3315
  }
3293
3316
 
3294
- const curry = (func, ...args) => curryArity(func.length, func, this, args)
3317
+ thunkify.call = function thunkifyCall(func, context, ...args) {
3318
+ if (areAnyValuesPromises(args)) {
3319
+ return promiseAll(args).then(curry3(_thunkifyArgs, func, context, __))
3320
+ }
3321
+ return _thunkifyArgs(func, context, args)
3322
+ }
3323
+
3324
+ const curry = (func, ...args) => {
3325
+ if (areAnyValuesPromises(args)) {
3326
+ return promiseAll(args).then(curry4(curryArity, func.length, func, this, __))
3327
+ }
3328
+ return curryArity(func.length, func, this, args)
3329
+ }
3295
3330
 
3296
3331
  curry.arity = function curryArity_(arity, func, ...args) {
3332
+ if (areAnyValuesPromises(args)) {
3333
+ return promiseAll(args).then(curry4(curryArity, arity, func, this, __))
3334
+ }
3297
3335
  return curryArity(arity, func, this, args)
3298
3336
  }
3299
3337
 
3300
3338
  curry.call = function call(func, context, ...args) {
3339
+ if (areAnyValuesPromises(args)) {
3340
+ return promiseAll(args).then(curry4(curryArity, func.length, func, context, __))
3341
+ }
3301
3342
  return curryArity(func.length, func, context, args)
3302
3343
  }
3303
3344
 
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define(()=>t):n.rubico=t}("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}}}),R=n=>({value:n,done:!1}),_=Symbol.asyncIterator,q=(n,e)=>({[_](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(R):{value:r,done:!1}}}),F=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,o)=>function(...r){const u=o.length,f=r.length,i=[];let s=-1,l=-1,h=0;for(;++s<u;){const u=o[s];if(u==c&&(l+=1)<f){const n=r[l];n==c&&(h+=1),i.push(n)}else i.push(u);if(i.length==n)return 0==h?t.apply(e,i):fn(n,t,e,i)}for(;++l<f;){const o=r[l];if(o==c&&(h+=1),i.push(o),i.length==n)return 0==h?t.apply(e,i):fn(n,t,e,i)}return fn(n,t,e,i)},fn=function(n,t,e,o){const r=o.length;if(r<n)return cn(n,t,e,o);let u=-1;for(;++u<r;){if(o[u]==c)return cn(n,t,e,o)}return t.apply(e,o)},sn=n=>function([t,e]){return n(t,e)},ln=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(sn(fn(3,X,this,[e])))):e.set(c[0],c[1])},hn=function(e,r){return n(e)?F(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=F(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(e[_](),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,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(i(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(ln(t,e,r)),0==r.length?e:o(r).then(i(e))}(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 functor ${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 functor ${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,[_](){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[_]?wn(e[_](),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=function(n,t,e,o,r,u){return t==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(n,e,o,r,u):e==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(n,t,o,r,u):o==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(n,t,e,r,u):r==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(n,t,e,o,u):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(n,t,e,o,r)},Tn=Object.keys,In=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},Dn=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},Pn=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(Dn,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[_]?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[_](),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=Tn(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(En(In,n,e,c,r,f))}return o}(e,o,r):void 0===r?f(o,e,c):o(r,e)},Bn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Pn,n,e,c)):Pn(n,e,r)}return t(o)?o.then(h(Pn,n,e,c)):Pn(n,e,o)},$n=ArrayBuffer.isView,kn=function(t,e){return n(e)||$n(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)},Cn="function"==typeof Buffer,Rn=Cn?Buffer.alloc:Sn,_n=function(n,t){const e=n.length,o=Cn&&n.constructor==Buffer?Rn(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)||$n(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)),Vn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Fn(n,t):(n.write(t),n);var e},Gn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Hn=function(n,t){return n.concat(t)},Jn=function(n,e,o){const r=Pn(n,e(Sn),null);return t(r)?r.then(i(o)):o},Kn=function(e,o,r){if(n(r))return Pn(e,o(kn),r);if($n(r)){const n=Pn(e,o(kn),[]);return t(n)?n.then(f(qn,r,c)):qn(r,n)}if(null==r)return Jn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=Pn(e,o(kn),[r]);return t(n)?n.then(h(V,c,"join","")):n.join("")}return"function"==typeof r.concat?Pn(e,o(Hn),r):"function"==typeof r.write?Pn(e,o(Vn),r):u==Set?Pn(e,o(Gn),r):u==Object?Pn(e,o(A),r):Jn(e,o,r)},Ln=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Kn,n,e,c)):Kn(n,e,r)}return t(o)?o.then(h(Kn,n,e,c)):Kn(n,e,o)},Nn=function(n,t){return n.push(t),n},Qn=n=>new Promise(t=>{setTimeout(t,n)}),Un=(n,t)=>t,Wn=n=>n,Xn=(n,t)=>function(...e){return t(n(...e))},Yn=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))},Zn=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(Nn,s,c)));else if("function"==typeof o[k])for(const n of o)s.push(n);else if("function"==typeof o[_])u.push(Yn(o[_](),f(Nn,s,c)));else if("function"==typeof o.chain){const n=o.chain(Wn);t(n)?u.push(n.then(f(Nn,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Wn);t(n)?u.push(n.then(f(Nn,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Xn(Un,f(Nn,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))},nt=function(n){const e=[],r={},u=f(A,r,c),i=Xn(Un,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[_])e.push(Yn(c[_](),u));else if("function"==typeof c.chain){const n=c.chain(Wn);t(n)?e.push(n.then(u)):A(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Wn);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)},tt=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[_])r.push(Yn(o[_](),i));else if("function"==typeof o.chain){const n=o.chain(Wn);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Wn);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)},et=r(Zn,f((n,t)=>n.join(t),c,"")),ot=function(e,o){if(n(e))return function(n,e){const o=F(n,e);return t(o)?o.then(Zn):Zn(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=Pn(t(r.value),Nn,[]);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,[_](){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(Pn,c,Nn,o)).then(()=>r.delete(t));r.add(t)}else{const e=Pn(n,Nn,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([Qn(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(nt):nt(o)}(e,o):r==Set?function(n,e){const o=G(n,e);return t(o)?o.then(tt):tt(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=F(n,e);return t(o)?o.then(et):et(o)}(e,o):o(e)},rt=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ut=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},ct=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},ft=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],c,n);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[_]?Yn(e[_](),r):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o],o,n);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(i(n))}(e,r):e},it=function(n,e){return"function"==typeof n?f(ft,c,n):t(n)?n.then(f(ft,c,e)):ft(n,e)},st=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],r,n);if(t(o))return o.then(D(rt,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(ct,n,e));o=n.next()}return n}(e[k](),o);if("function"==typeof e[_])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[_](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r],r,n);if(t(u))return u.then(D(ut,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};it.series=function(n,e){return"function"==typeof n?f(st,c,n):t(n)?n.then(f(st,c,e)):st(n,e)};const lt=function(n){const t=n.then(n=>[n,t]);return t},ht=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(lt(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},at=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return ht(n,e,r,new Set([lt(o)]));if(o)return!0}return!1},pt=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(lt(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},dt=function(e,o){return n(e)?at(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 pt(n,e,new Set([lt(r)]));if(r)return!0}return!1}(e[k](),o):"function"==typeof e[_]?pt(e[_](),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?at(mn(e),o):o(e)},yt=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))},gt=(n,t,e)=>!!t&&n(e),wt=function(e,r){return n(e)?yt(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[_]?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(lt(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[_](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(gt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?yt(mn(e),r):r(e)},vt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(vt,n,e),i(!1)));if(!o)return!1}return!0},xt=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},jt=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(xt,n,e,r),i(!1)));if(!o)return!1}return!0},bt=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(bt,n,e)));if(o)return!0}return!1},St=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},Mt=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(St,n,e,r)));if(o)return!0}return!1},Ot=n=>!n,mt=function(n,e){const o=e(...n);return t(o)?o.then(Ot):!o},zt=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)},At=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)},Et=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(sn(e)):e(c,u)},Tt=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(sn(e)):e(r,c)},It=n=>function(...r){const u=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof u;return i&&s?0==r.length?zt(At,c,n,f,u):e(r)?o(r).then(j(At,c,n,f,u)):At(r,n,f,u):i?0==r.length?zt(Et,c,n,f,u):e(r)?o(r).then(j(Et,c,n,f,u)):Et(r,n,f,u):s?0==r.length?zt(Tt,c,n,f,u):e(r)?o(r).then(j(Tt,c,n,f,u)):Tt(r,n,f,u):t(f)||t(u)?o([f,u]).then(sn(n)):n(f,u)},Dt=It(function(n,t){return n==t}),Pt=It((n,t)=>n>t),Bt=It((n,t)=>n<t),$t=It((n,t)=>n>=t),kt=It((n,t)=>n<=t),Ct=/[.|[|\]]+/,Rt=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(Ct):e?n.slice(1).split(Ct):o?n.slice(0,t).split(Ct):n.split(Ct)},500),_t=t=>n(t)?t:"string"==typeof t?Rt(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},Vt=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},Gt=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Vt,n,c,e)):Vt(n,r,e)}return t(o)?o.then(h(Vt,n,c,e)):Vt(n,o,e)},Ht=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=Vt(o,u,e))}return o},Jt=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]},Kt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Lt(r):null!=r&&r.constructor==Object?e[o]=Kt(r):e[o]=r}return e},Lt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Lt(e):null!=e&&e.constructor==Object?o[r]=Kt(e):o[r]=e}return o},Nt=function(t,e){const o=e.length,r=n(u=t)?Lt(u):null==u?u:u.constructor==Object?Kt(u):u;var u;let c=-1;for(;++c<o;)Jt(r,e[c]);return r},Qt=(n,...t)=>fn(n.length,n,this,t);Qt.arity=function(n,t,...e){return fn(n,t,this,e)},Qt.call=function(n,t,...e){return fn(n.length,n,t,e)};return{pipe:function(...n){if("function"==typeof n[0])return n.reduce(r);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){if("function"==typeof n[0])return n.reduceRight(r);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:it,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(Gt,c,n,e):t(n)?n.then(h(Gt,c,e,o)):Gt(n,e,o)},pick:function(n,e){return null==e?f(Ht,c,n):t(n)?n.then(f(Ht,c,e)):Ht(n,e)},omit:function(n,e){return null==e?f(Nt,c,n):t(n)?n.then(f(Nt,c,e)):Nt(n,e)},map:an,filter:function(n,e){return"function"==typeof n?f(On,c,n):t(n)?n.then(f(On,c,e)):On(n,e)},flatMap:(n,e)=>"function"==typeof n?f(ot,c,n):t(n)?n.then(f(ot,c,e)):ot(n,e),reduce:function(...n){return"function"==typeof n[0]?h(Bn,c,n[0],n[1]):t(n[0])?n[0].then(h(Bn,c,n[1],n[2])):Bn(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Ln,c,n[0],n[1]):t(n[0])?n[0].then(h(Ln,c,n[1],n[2])):Ln(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?vt(t,-1):0==n.length?a(jt,c,t):e(n)?o(n).then(f(jt,c,t)):jt(n,t)},or:function(...n){const t=n.pop();return w(t)?bt(t,-1):0==n.length?a(Mt,c,t):e(n)?o(n).then(f(Mt,c,t)):Mt(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(mt,c,r):e(n)?o(n).then(f(mt,c,r)):mt(n,r):t(r)?r.then(Ot):!r},some:function(n,e){return"function"==typeof n?f(dt,c,n):t(n)?n.then(f(dt,c,e)):dt(n,e)},every:function(n,e){return"function"==typeof n?f(wt,c,n):t(n)?n.then(f(wt,c,e)):wt(n,e)},eq:Dt,gt:Pt,lt:Bt,gte:$t,lte:kt,thunkify:(n,...t)=>function(){return e(t)?o(t).then(f(u,n,c)):n(...t)},always:i,curry:Qt,__:c}}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define(()=>t):n.rubico=t}("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}}}),R=n=>({value:n,done:!1}),_=Symbol.asyncIterator,q=(n,e)=>({[_](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(R):{value:r,done:!1}}}),F=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)=>n.apply(t,e),fn=(n,t,r,u)=>function(...f){const i=u.length,s=f.length,l=[];let a=-1,p=-1,d=0;for(;++a<i;){const i=u[a];if(i==c&&(p+=1)<s){const n=f[p];n==c&&(d+=1),l.push(n)}else l.push(i);if(l.length==n)return e(l)?0==d?o(l).then(h(cn,t,r,c)):o(l).then(j(sn,n,t,r,c)):0==d?t.apply(r,l):sn(n,t,r,l)}for(;++p<s;){const u=f[p];if(u==c&&(d+=1),l.push(u),l.length==n)return e(l)?0==d?o(l).then(h(cn,t,r,c)):o(l).then(j(sn,n,t,r,c)):0==d?t.apply(r,l):sn(n,t,r,l)}return e(l)?o(l).then(j(sn,n,t,r,c)):sn(n,t,r,l)},sn=function(n,t,e,o){const r=o.length;if(r<n)return fn(n,t,e,o);let u=-1;for(;++u<r;){if(o[u]==c)return fn(n,t,e,o)}return t.apply(e,o)},ln=n=>function([t,e]){return n(t,e)},hn=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(ln(sn(3,X,this,[e])))):e.set(c[0],c[1])},an=function(e,r){return n(e)?F(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=F(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(e[_](),r):e.constructor==Object?J(e,r):r(e)},pn=function(n,e){return null==e?f(an,c,n):t(n)?n.then(f(an,c,e)):an(n,e)},dn=(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(ln(sn(3,b,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(i(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(hn(t,e,r)),0==r.length?e:o(r).then(i(e))}(n,e);throw new TypeError("value is not an Object or Map")};pn.entries=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){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}`)};pn.series=function(n,e){return null==e?f(yn,c,n):t(n)?n.then(f(yn,c,e)):yn(n,e)};const gn=function(e,o,r){if(n(e))return en(e,o,r);if(null==e)throw new TypeError(`invalid functor ${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 functor ${e}`)};pn.pool=function(n,e,o){return null==o?h(gn,c,n,e):t(n)?n.then(h(gn,c,e,o)):gn(n,e,o)};const wn=(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}}),vn=(n,e)=>({isAsyncIteratorDone:!1,[_](){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}}}),xn=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},jn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},bn=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(xn([s],n,e,f)).then(j(jn,n,u,f-1,c));s&&(u[++i]=r)}return u},Sn=(n,t)=>function(){return n(t)},Mn=function(){},On=function(n,t,e,o){o&&(n[t]=e)},mn=function(e,r){return n(e)?bn(e,r):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=bn(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,Sn(u,o),Mn))):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),Mn))):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]?wn(e[k](),r):"function"==typeof e[_]?vn(e[_](),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(On,r,o,n[o],c))):i&&(r[o]=f)}return 0==u.length?r:o(u).then(i(r))}(e,r):e},zn=Object.values,An=(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}),En=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},Tn=function(n,t,e,o,r,u){return t==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(n,e,o,r,u):e==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(n,t,o,r,u):o==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(n,t,e,r,u):r==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(n,t,e,o,u):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(n,t,e,o,r)},In=Object.keys,Dn=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},Pn=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},Bn=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(En,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(Pn,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(An,n,e,c));r=n.next()}return o}(e[k](),o,r):"function"==typeof e[_]?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[_](),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=In(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(Tn(Dn,n,e,c,r,f))}return o}(e,o,r):void 0===r?f(o,e,c):o(r,e)},$n=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Bn,n,e,c)):Bn(n,e,r)}return t(o)?o.then(h(Bn,n,e,c)):Bn(n,e,o)},kn=ArrayBuffer.isView,Cn=function(t,e){return n(e)||kn(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)},Rn="function"==typeof Buffer,_n=Rn?Buffer.alloc:Mn,qn=function(n,t){const e=n.length,o=Rn&&n.constructor==Buffer?_n(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},Fn=function(t,e){return n(e)||kn(e)?qn(t,e):qn(t,[e])},Vn=(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",Sn(e,n)),t.on("error",o)})(n,t)),Gn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Vn(n,t):(n.write(t),n);var e},Hn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Jn=function(n,t){return n.concat(t)},Kn=function(n,e,o){const r=Bn(n,e(Mn),null);return t(r)?r.then(i(o)):o},Ln=function(e,o,r){if(n(r))return Bn(e,o(Cn),r);if(kn(r)){const n=Bn(e,o(Cn),[]);return t(n)?n.then(f(Fn,r,c)):Fn(r,n)}if(null==r)return Kn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=Bn(e,o(Cn),[r]);return t(n)?n.then(h(V,c,"join","")):n.join("")}return"function"==typeof r.concat?Bn(e,o(Jn),r):"function"==typeof r.write?Bn(e,o(Gn),r):u==Set?Bn(e,o(Hn),r):u==Object?Bn(e,o(A),r):Kn(e,o,r)},Nn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Ln,n,e,c)):Ln(n,e,r)}return t(o)?o.then(h(Ln,n,e,c)):Ln(n,e,o)},Qn=function(n,t){return n.push(t),n},Un=n=>new Promise(t=>{setTimeout(t,n)}),Wn=(n,t)=>t,Xn=n=>n,Yn=(n,t)=>function(...e){return t(n(...e))},Zn=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))},nt=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(Qn,s,c)));else if("function"==typeof o[k])for(const n of o)s.push(n);else if("function"==typeof o[_])u.push(Zn(o[_](),f(Qn,s,c)));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?u.push(n.then(f(Qn,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);t(n)?u.push(n.then(f(Qn,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Yn(Wn,f(Qn,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))},tt=function(n){const e=[],r={},u=f(A,r,c),i=Yn(Wn,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[_])e.push(Zn(c[_](),u));else if("function"==typeof c.chain){const n=c.chain(Xn);t(n)?e.push(n.then(u)):A(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Xn);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)},et=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[_])r.push(Zn(o[_](),i));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);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)},ot=r(nt,f((n,t)=>n.join(t),c,"")),rt=function(e,o){if(n(e))return function(n,e){const o=F(n,e);return t(o)?o.then(nt):nt(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=Bn(t(r.value),Qn,[]);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,[_](){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(Bn,c,Qn,o)).then(()=>r.delete(t));r.add(t)}else{const e=Bn(n,Qn,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([Un(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(tt):tt(o)}(e,o):r==Set?function(n,e){const o=G(n,e);return t(o)?o.then(et):et(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=F(n,e);return t(o)?o.then(ot):ot(o)}(e,o):o(e)},ut=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ct=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},ft=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},it=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],c,n);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[_]?Zn(e[_](),r):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o],o,n);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(i(n))}(e,r):e},st=function(n,e){return"function"==typeof n?f(it,c,n):t(n)?n.then(f(it,c,e)):it(n,e)},lt=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],r,n);if(t(o))return o.then(D(ut,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(ft,n,e));o=n.next()}return n}(e[k](),o);if("function"==typeof e[_])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[_](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r],r,n);if(t(u))return u.then(D(ct,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};st.series=function(n,e){return"function"==typeof n?f(lt,c,n):t(n)?n.then(f(lt,c,e)):lt(n,e)};const ht=function(n){const t=n.then(n=>[n,t]);return t},at=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(ht(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},pt=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return at(n,e,r,new Set([ht(o)]));if(o)return!0}return!1},dt=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(ht(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},yt=function(e,o){return n(e)?pt(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 dt(n,e,new Set([ht(r)]));if(r)return!0}return!1}(e[k](),o):"function"==typeof e[_]?dt(e[_](),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?pt(zn(e),o):o(e)},gt=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))},wt=(n,t,e)=>!!t&&n(e),vt=function(e,r){return n(e)?gt(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[_]?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(ht(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[_](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(wt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?gt(zn(e),r):r(e)},xt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(xt,n,e),i(!1)));if(!o)return!1}return!0},jt=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},bt=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(jt,n,e,r),i(!1)));if(!o)return!1}return!0},St=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(St,n,e)));if(o)return!0}return!1},Mt=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},Ot=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(Mt,n,e,r)));if(o)return!0}return!1},mt=n=>!n,zt=function(n,e){const o=e(...n);return t(o)?o.then(mt):!o},At=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)},Et=function(n,e,r,u){const c=r(...n),f=u(...n);return t(c)||t(f)?o([c,f]).then(ln(e)):e(c,f)},Tt=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(ln(e)):e(c,u)},It=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(ln(e)):e(r,c)},Dt=n=>function(...r){const u=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof u;return i&&s?0==r.length?At(Et,c,n,f,u):e(r)?o(r).then(j(Et,c,n,f,u)):Et(r,n,f,u):i?0==r.length?At(Tt,c,n,f,u):e(r)?o(r).then(j(Tt,c,n,f,u)):Tt(r,n,f,u):s?0==r.length?At(It,c,n,f,u):e(r)?o(r).then(j(It,c,n,f,u)):It(r,n,f,u):t(f)||t(u)?o([f,u]).then(ln(n)):n(f,u)},Pt=Dt(function(n,t){return n==t}),Bt=Dt((n,t)=>n>t),$t=Dt((n,t)=>n<t),kt=Dt((n,t)=>n>=t),Ct=Dt((n,t)=>n<=t),Rt=/[.|[|\]]+/,_t=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(Rt):e?n.slice(1).split(Rt):o?n.slice(0,t).split(Rt):n.split(Rt)},500),qt=t=>n(t)?t:"string"==typeof t?_t(t):[t],Ft=function(n,t){const e=qt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Vt=function(n,t,e){const o=null==n?void 0:Ft(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Gt=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=qt(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},Ht=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Gt,n,c,e)):Gt(n,r,e)}return t(o)?o.then(h(Gt,n,c,e)):Gt(n,o,e)},Jt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=Ft(n,e);null!=u&&(o=Gt(o,u,e))}return o},Kt=function(n,t){if(null==n)return;const e=qt(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]},Lt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Nt(r):null!=r&&r.constructor==Object?e[o]=Lt(r):e[o]=r}return e},Nt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Nt(e):null!=e&&e.constructor==Object?o[r]=Lt(e):o[r]=e}return o},Qt=function(t,e){const o=e.length,r=n(u=t)?Nt(u):null==u?u:u.constructor==Object?Lt(u):u;var u;let c=-1;for(;++c<o;)Kt(r,e[c]);return r};function Ut(n,t,e){return function(){return n.apply(t,e)}}const Wt=function(n,...t){return e(t)?o(t).then(h(Ut,n,this,c)):Ut(n,this,t)};Wt.call=function(n,t,...r){return e(r)?o(r).then(h(Ut,n,t,c)):Ut(n,t,r)};const Xt=(n,...t)=>e(t)?o(t).then(j(sn,n.length,n,this,c)):sn(n.length,n,this,t);Xt.arity=function(n,t,...r){return e(r)?o(r).then(j(sn,n,t,this,c)):sn(n,t,this,r)},Xt.call=function(n,t,...r){return e(r)?o(r).then(j(sn,n.length,n,t,c)):sn(n.length,n,t,r)};return{pipe:function(...n){if("function"==typeof n[0])return n.reduce(r);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){if("function"==typeof n[0])return n.reduceRight(r);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:st,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(Vt,c,e,o):t(e)?e.then(h(Vt,c,o,r)):Vt(e,o,r)},set:function(n,e,o){return null==o?h(Ht,c,n,e):t(n)?n.then(h(Ht,c,e,o)):Ht(n,e,o)},pick:function(n,e){return null==e?f(Jt,c,n):t(n)?n.then(f(Jt,c,e)):Jt(n,e)},omit:function(n,e){return null==e?f(Qt,c,n):t(n)?n.then(f(Qt,c,e)):Qt(n,e)},map:pn,filter:function(n,e){return"function"==typeof n?f(mn,c,n):t(n)?n.then(f(mn,c,e)):mn(n,e)},flatMap:(n,e)=>"function"==typeof n?f(rt,c,n):t(n)?n.then(f(rt,c,e)):rt(n,e),reduce:function(...n){return"function"==typeof n[0]?h($n,c,n[0],n[1]):t(n[0])?n[0].then(h($n,c,n[1],n[2])):$n(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Nn,c,n[0],n[1]):t(n[0])?n[0].then(h(Nn,c,n[1],n[2])):Nn(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?xt(t,-1):0==n.length?a(bt,c,t):e(n)?o(n).then(f(bt,c,t)):bt(n,t)},or:function(...n){const t=n.pop();return w(t)?St(t,-1):0==n.length?a(Ot,c,t):e(n)?o(n).then(f(Ot,c,t)):Ot(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(zt,c,r):e(n)?o(n).then(f(zt,c,r)):zt(n,r):t(r)?r.then(mt):!r},some:function(n,e){return"function"==typeof n?f(yt,c,n):t(n)?n.then(f(yt,c,e)):yt(n,e)},every:function(n,e){return"function"==typeof n?f(vt,c,n):t(n)?n.then(f(vt,c,e)):vt(n,e)},eq:Pt,gt:Bt,lt:$t,gte:kt,lte:Ct,thunkify:Wt,always:i,curry:Xt,__:c}}());
package/dist/rubico.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1062,6 +1062,8 @@ const objectMapPool = function (o, concurrency, f) {
1062
1062
  return result
1063
1063
  }
1064
1064
 
1065
+ const funcApply2 = (func, context, args) => func.apply(context, args)
1066
+
1065
1067
  const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
1066
1068
  const argsLength = args.length,
1067
1069
  curriedArgsLength = curriedArgs.length,
@@ -1081,7 +1083,13 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
1081
1083
  } else {
1082
1084
  nextArgs.push(arg)
1083
1085
  }
1086
+
1084
1087
  if (nextArgs.length == arity) {
1088
+ if (areAnyValuesPromises(nextArgs)) {
1089
+ return numCurriedPlaceholders == 0
1090
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
1091
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1092
+ }
1085
1093
  return numCurriedPlaceholders == 0
1086
1094
  ? func.apply(context, nextArgs)
1087
1095
  : curryArity(arity, func, context, nextArgs)
@@ -1094,13 +1102,22 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
1094
1102
  numCurriedPlaceholders += 1
1095
1103
  }
1096
1104
  nextArgs.push(curriedArg)
1105
+
1097
1106
  if (nextArgs.length == arity) {
1107
+ if (areAnyValuesPromises(nextArgs)) {
1108
+ return numCurriedPlaceholders == 0
1109
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
1110
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1111
+ }
1098
1112
  return numCurriedPlaceholders == 0
1099
1113
  ? func.apply(context, nextArgs)
1100
1114
  : curryArity(arity, func, context, nextArgs)
1101
1115
  }
1102
1116
  }
1103
- return curryArity(arity, func, context, nextArgs)
1117
+
1118
+ return areAnyValuesPromises(nextArgs)
1119
+ ? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
1120
+ : curryArity(arity, func, context, nextArgs)
1104
1121
  }
1105
1122
 
1106
1123
  const curryArity = function (arity, func, context, args) {
@@ -3278,20 +3295,44 @@ const omit = function (arg0, arg1) {
3278
3295
  return _omit(arg0, arg1)
3279
3296
  }
3280
3297
 
3281
- const thunkify = (func, ...args) => function thunk() {
3298
+ function _thunkifyArgs(func, context, args) {
3299
+ return function thunk() {
3300
+ return func.apply(context, args)
3301
+ }
3302
+ }
3303
+
3304
+ const thunkify = function thunkify(func, ...args) {
3282
3305
  if (areAnyValuesPromises(args)) {
3283
- return promiseAll(args).then(curry2(funcApply, func, __))
3306
+ return promiseAll(args).then(curry3(_thunkifyArgs, func, this, __))
3284
3307
  }
3285
- return func(...args)
3308
+ return _thunkifyArgs(func, this, args)
3286
3309
  }
3287
3310
 
3288
- const curry = (func, ...args) => curryArity(func.length, func, this, args)
3311
+ thunkify.call = function thunkifyCall(func, context, ...args) {
3312
+ if (areAnyValuesPromises(args)) {
3313
+ return promiseAll(args).then(curry3(_thunkifyArgs, func, context, __))
3314
+ }
3315
+ return _thunkifyArgs(func, context, args)
3316
+ }
3317
+
3318
+ const curry = (func, ...args) => {
3319
+ if (areAnyValuesPromises(args)) {
3320
+ return promiseAll(args).then(curry4(curryArity, func.length, func, this, __))
3321
+ }
3322
+ return curryArity(func.length, func, this, args)
3323
+ }
3289
3324
 
3290
3325
  curry.arity = function curryArity_(arity, func, ...args) {
3326
+ if (areAnyValuesPromises(args)) {
3327
+ return promiseAll(args).then(curry4(curryArity, arity, func, this, __))
3328
+ }
3291
3329
  return curryArity(arity, func, this, args)
3292
3330
  }
3293
3331
 
3294
3332
  curry.call = function call(func, context, ...args) {
3333
+ if (areAnyValuesPromises(args)) {
3334
+ return promiseAll(args).then(curry4(curryArity, func.length, func, context, __))
3335
+ }
3295
3336
  return curryArity(func.length, func, context, args)
3296
3337
  }
3297
3338
 
package/dist/set.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/set.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.8.0
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.