rubico 1.9.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +3 -2
  3. package/.github/workflows/nodejs.yml +1 -1
  4. package/AggregateReducer.js +19 -0
  5. package/AggregateReducer.test.js +82 -0
  6. package/CHANGELOG.md +22 -1
  7. package/Transducer.js +75 -26
  8. package/Transducer.test.js +117 -0
  9. package/_internal/ComparisonOperator.js +68 -0
  10. package/_internal/File.js +41 -0
  11. package/_internal/FlatMappingAsyncIterator.js +4 -4
  12. package/_internal/FlatMappingIterator.js +1 -1
  13. package/_internal/TimeInLoopSuite.js +138 -0
  14. package/_internal/areAnyValuesPromises.js +23 -0
  15. package/_internal/{arrayAll.js → arrayEvery.js} +4 -4
  16. package/_internal/arrayExtend.js +3 -2
  17. package/_internal/arrayFilter.js +3 -4
  18. package/_internal/{arrayAny.js → arraySome.js} +8 -8
  19. package/_internal/{asyncIteratorAll.js → asyncIteratorEvery.js} +4 -4
  20. package/_internal/{asyncIteratorAny.js → asyncIteratorSome.js} +4 -4
  21. package/_internal/curry4.test.js +25 -0
  22. package/_internal/curry5.test.js +29 -0
  23. package/_internal/curryArgs2.js +43 -0
  24. package/_internal/curryArgs3.test.js +21 -0
  25. package/_internal/curryArgs4.js +65 -0
  26. package/_internal/curryArgs4.test.js +25 -0
  27. package/_internal/equals.js +13 -0
  28. package/_internal/findAllFilePaths.js +22 -0
  29. package/_internal/funcApply.js +2 -0
  30. package/_internal/funcCall.js +14 -0
  31. package/_internal/functionArrayAll.js +26 -0
  32. package/_internal/functionArrayAllSeries.js +55 -0
  33. package/_internal/functionObjectAll.js +32 -0
  34. package/_internal/genericReduce.js +4 -22
  35. package/_internal/genericTransform.js +15 -15
  36. package/_internal/improvedGenericTransform.js +93 -0
  37. package/_internal/{iteratorAll.js → iteratorEvery.js} +4 -4
  38. package/_internal/{iteratorAny.js → iteratorSome.js} +6 -6
  39. package/_internal/leftResolverRightResolverCompare.js +19 -0
  40. package/_internal/leftResolverRightValueCompare.js +16 -0
  41. package/_internal/leftValueRightResolverCompare.js +16 -0
  42. package/_internal/objectReduce.js +0 -1
  43. package/_internal/pathResolve.js +6 -0
  44. package/_internal/{reducerAll.js → reducerEvery.js} +4 -4
  45. package/_internal/reducerFlatMap.js +4 -4
  46. package/_internal/reducerFlatten.js +1 -1
  47. package/_internal/{reducerAny.js → reducerSome.js} +4 -4
  48. package/_internal/timeInLoop.js +37 -0
  49. package/_internal/timeInLoop.test.js +18 -0
  50. package/_internal/timeInLoopAsync.js +35 -0
  51. package/_internal/timeInLoopAsync.test.js +22 -0
  52. package/all.js +106 -40
  53. package/and.js +54 -36
  54. package/archive/{FlatMappingIteratorCool.js → FlatMappingIterator-2020-09-28.js} +1 -1
  55. package/archive/_Promise-2023-05-29.js +93 -0
  56. package/archive/arrayMap2-2023-05-29.js +73 -0
  57. package/archive/benchmarks-v1.9.7/all.js +34 -0
  58. package/archive/benchmarks-v1.9.7/and.js +24 -0
  59. package/archive/benchmarks-v1.9.7/assign.js +174 -0
  60. package/archive/benchmarks-v1.9.7/curry.js +55 -0
  61. package/archive/benchmarks-v1.9.7/eq.js +25 -0
  62. package/archive/benchmarks-v1.9.7/filter.js +1322 -0
  63. package/archive/benchmarks-v1.9.7/flatMap.js +48 -0
  64. package/archive/benchmarks-v1.9.7/get.js +44 -0
  65. package/archive/benchmarks-v1.9.7/gt.js +25 -0
  66. package/archive/benchmarks-v1.9.7/gte.js +25 -0
  67. package/archive/benchmarks-v1.9.7/lt.js +25 -0
  68. package/archive/benchmarks-v1.9.7/lte.js +25 -0
  69. package/archive/benchmarks-v1.9.7/map.js +892 -0
  70. package/archive/benchmarks-v1.9.7/omit.js +28 -0
  71. package/archive/benchmarks-v1.9.7/or.js +51 -0
  72. package/archive/benchmarks-v1.9.7/pick.js +24 -0
  73. package/archive/benchmarks-v1.9.7/pipe.js +152 -0
  74. package/archive/benchmarks-v1.9.7/reduce.js +739 -0
  75. package/archive/benchmarks-v1.9.7/switchCase.js +256 -0
  76. package/archive/benchmarks-v1.9.7/tap.js +90 -0
  77. package/archive/benchmarks-v1.9.7/transform.js +218 -0
  78. package/archive/benchmarks-v1.9.7/tryCatch.js +108 -0
  79. package/assign.js +18 -8
  80. package/bench +65 -0
  81. package/benchmark-output/v1.9.7 +268 -0
  82. package/benchmarks/all.async.js +43 -0
  83. package/benchmarks/all.js +42 -33
  84. package/benchmarks/always.js +15 -0
  85. package/benchmarks/and.async.js +25 -0
  86. package/benchmarks/and.js +20 -19
  87. package/benchmarks/assign.async.js +27 -0
  88. package/benchmarks/assign.js +20 -167
  89. package/benchmarks/curry.js +34 -54
  90. package/benchmarks/eq.async.js +23 -0
  91. package/benchmarks/eq.js +17 -19
  92. package/benchmarks/every.async.js +19 -0
  93. package/benchmarks/every.js +19 -0
  94. package/benchmarks/filter.async.js +32 -0
  95. package/benchmarks/filter.js +27 -1311
  96. package/benchmarks/flatMap.async.js +26 -0
  97. package/benchmarks/flatMap.js +26 -36
  98. package/benchmarks/get.async.js +19 -0
  99. package/benchmarks/get.js +27 -32
  100. package/benchmarks/gt.async.js +23 -0
  101. package/benchmarks/gt.js +17 -19
  102. package/benchmarks/gte.async.js +23 -0
  103. package/benchmarks/gte.js +17 -19
  104. package/benchmarks/lt.async.js +23 -0
  105. package/benchmarks/lt.js +17 -19
  106. package/benchmarks/lte.async.js +23 -0
  107. package/benchmarks/lte.js +17 -19
  108. package/benchmarks/map.async.js +43 -0
  109. package/benchmarks/map.js +24 -876
  110. package/benchmarks/misc/Promise.js +26 -0
  111. package/benchmarks/misc/isPromise.js +30 -0
  112. package/benchmarks/misc/promiseAll.js +36 -0
  113. package/benchmarks/not.js +23 -0
  114. package/benchmarks/omit.js +30 -20
  115. package/benchmarks/or.async.js +25 -0
  116. package/benchmarks/or.js +23 -49
  117. package/benchmarks/pick.js +30 -16
  118. package/benchmarks/pipe.async.js +47 -0
  119. package/benchmarks/pipe.js +46 -151
  120. package/benchmarks/reduce.async.js +32 -0
  121. package/benchmarks/reduce.js +27 -728
  122. package/benchmarks/set.async.js +19 -0
  123. package/benchmarks/set.js +41 -0
  124. package/benchmarks/some.async.js +19 -0
  125. package/benchmarks/some.js +19 -0
  126. package/benchmarks/switchCase.async.js +27 -0
  127. package/benchmarks/switchCase.js +55 -256
  128. package/benchmarks/tap.js +10 -85
  129. package/benchmarks/thunkify.js +15 -0
  130. package/benchmarks/transform.async.js +27 -0
  131. package/benchmarks/transform.js +28 -206
  132. package/benchmarks/tryCatch.async.js +25 -0
  133. package/benchmarks/tryCatch.js +24 -100
  134. package/{distributor.js → build} +50 -50
  135. package/compose.js +46 -0
  136. package/dist/__.es.js +2 -2
  137. package/dist/__.es.min.js +2 -2
  138. package/dist/__.js +2 -2
  139. package/dist/__.min.js +2 -2
  140. package/dist/__.min.mjs +2 -2
  141. package/dist/__.mjs +2 -2
  142. package/dist/all.es.js +173 -92
  143. package/dist/all.es.min.js +3 -3
  144. package/dist/all.js +173 -92
  145. package/dist/all.min.js +3 -3
  146. package/dist/all.min.mjs +3 -3
  147. package/dist/all.mjs +173 -92
  148. package/dist/always.es.js +2 -2
  149. package/dist/always.es.min.js +2 -2
  150. package/dist/always.js +2 -2
  151. package/dist/always.min.js +2 -2
  152. package/dist/always.min.mjs +2 -2
  153. package/dist/always.mjs +2 -2
  154. package/dist/and.es.js +101 -32
  155. package/dist/and.es.min.js +3 -3
  156. package/dist/and.js +101 -32
  157. package/dist/and.min.js +3 -3
  158. package/dist/and.min.mjs +3 -3
  159. package/dist/and.mjs +101 -32
  160. package/dist/assign.es.js +37 -10
  161. package/dist/assign.es.min.js +3 -3
  162. package/dist/assign.js +37 -10
  163. package/dist/assign.min.js +3 -3
  164. package/dist/assign.min.mjs +3 -3
  165. package/dist/assign.mjs +37 -10
  166. package/dist/compose.es.js +71 -0
  167. package/dist/compose.es.min.js +7 -0
  168. package/dist/compose.js +78 -0
  169. package/dist/compose.min.js +8 -0
  170. package/dist/compose.min.mjs +7 -0
  171. package/dist/compose.mjs +71 -0
  172. package/dist/curry.es.js +2 -2
  173. package/dist/curry.es.min.js +2 -2
  174. package/dist/curry.js +2 -2
  175. package/dist/curry.min.js +2 -2
  176. package/dist/curry.min.mjs +2 -2
  177. package/dist/curry.mjs +2 -2
  178. package/dist/eq.es.js +172 -49
  179. package/dist/eq.es.min.js +3 -3
  180. package/dist/eq.js +172 -49
  181. package/dist/eq.min.js +3 -3
  182. package/dist/eq.min.mjs +3 -3
  183. package/dist/eq.mjs +172 -49
  184. package/dist/every.es.js +194 -0
  185. package/dist/every.es.min.js +7 -0
  186. package/dist/every.js +201 -0
  187. package/dist/every.min.js +8 -0
  188. package/dist/every.min.mjs +7 -0
  189. package/dist/every.mjs +194 -0
  190. package/dist/filter.es.js +14 -108
  191. package/dist/filter.es.min.js +3 -3
  192. package/dist/filter.js +14 -108
  193. package/dist/filter.min.js +3 -3
  194. package/dist/filter.min.mjs +3 -3
  195. package/dist/filter.mjs +14 -108
  196. package/dist/flatMap.es.js +27 -214
  197. package/dist/flatMap.es.min.js +3 -3
  198. package/dist/flatMap.js +27 -214
  199. package/dist/flatMap.min.js +3 -3
  200. package/dist/flatMap.min.mjs +3 -3
  201. package/dist/flatMap.mjs +27 -214
  202. package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
  203. package/dist/forEach.es.min.js +7 -0
  204. package/dist/{x/forEach.js → forEach.js} +52 -70
  205. package/dist/forEach.min.js +8 -0
  206. package/dist/forEach.min.mjs +7 -0
  207. package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
  208. package/dist/get.es.js +60 -5
  209. package/dist/get.es.min.js +3 -3
  210. package/dist/get.js +60 -5
  211. package/dist/get.min.js +3 -3
  212. package/dist/get.min.mjs +3 -3
  213. package/dist/get.mjs +60 -5
  214. package/dist/gt.es.js +171 -48
  215. package/dist/gt.es.min.js +3 -3
  216. package/dist/gt.js +171 -48
  217. package/dist/gt.min.js +3 -3
  218. package/dist/gt.min.mjs +3 -3
  219. package/dist/gt.mjs +171 -48
  220. package/dist/gte.es.js +171 -48
  221. package/dist/gte.es.min.js +3 -3
  222. package/dist/gte.js +171 -48
  223. package/dist/gte.min.js +3 -3
  224. package/dist/gte.min.mjs +3 -3
  225. package/dist/gte.mjs +171 -48
  226. package/dist/lt.es.js +171 -48
  227. package/dist/lt.es.min.js +3 -3
  228. package/dist/lt.js +171 -48
  229. package/dist/lt.min.js +3 -3
  230. package/dist/lt.min.mjs +3 -3
  231. package/dist/lt.mjs +171 -48
  232. package/dist/lte.es.js +171 -48
  233. package/dist/lte.es.min.js +3 -3
  234. package/dist/lte.js +171 -48
  235. package/dist/lte.min.js +3 -3
  236. package/dist/lte.min.mjs +3 -3
  237. package/dist/lte.mjs +171 -48
  238. package/dist/map.es.js +12 -101
  239. package/dist/map.es.min.js +3 -3
  240. package/dist/map.js +12 -101
  241. package/dist/map.min.js +3 -3
  242. package/dist/map.min.mjs +3 -3
  243. package/dist/map.mjs +12 -101
  244. package/dist/not.es.js +75 -14
  245. package/dist/not.es.min.js +3 -3
  246. package/dist/not.js +75 -14
  247. package/dist/not.min.js +3 -3
  248. package/dist/not.min.mjs +3 -3
  249. package/dist/not.mjs +75 -14
  250. package/dist/omit.es.js +7 -2
  251. package/dist/omit.es.min.js +3 -3
  252. package/dist/omit.js +7 -2
  253. package/dist/omit.min.js +3 -3
  254. package/dist/omit.min.mjs +3 -3
  255. package/dist/omit.mjs +7 -2
  256. package/dist/or.es.js +99 -31
  257. package/dist/or.es.min.js +3 -3
  258. package/dist/or.js +99 -31
  259. package/dist/or.min.js +3 -3
  260. package/dist/or.min.mjs +3 -3
  261. package/dist/or.mjs +99 -31
  262. package/dist/pick.es.js +8 -3
  263. package/dist/pick.es.min.js +3 -3
  264. package/dist/pick.js +8 -3
  265. package/dist/pick.min.js +3 -3
  266. package/dist/pick.min.mjs +3 -3
  267. package/dist/pick.mjs +8 -3
  268. package/dist/pipe.es.js +42 -46
  269. package/dist/pipe.es.min.js +3 -3
  270. package/dist/pipe.js +42 -46
  271. package/dist/pipe.min.js +3 -3
  272. package/dist/pipe.min.mjs +3 -3
  273. package/dist/pipe.mjs +42 -46
  274. package/dist/reduce.es.js +52 -94
  275. package/dist/reduce.es.min.js +3 -3
  276. package/dist/reduce.js +52 -94
  277. package/dist/reduce.min.js +3 -3
  278. package/dist/reduce.min.mjs +3 -3
  279. package/dist/reduce.mjs +52 -94
  280. package/dist/rubico.es.js +730 -869
  281. package/dist/rubico.es.min.js +3 -3
  282. package/dist/rubico.js +730 -869
  283. package/dist/rubico.min.js +3 -3
  284. package/dist/rubico.min.mjs +3 -3
  285. package/dist/rubico.mjs +730 -869
  286. package/dist/set.es.js +18 -3
  287. package/dist/set.es.min.js +3 -3
  288. package/dist/set.js +18 -3
  289. package/dist/set.min.js +3 -3
  290. package/dist/set.min.mjs +3 -3
  291. package/dist/set.mjs +18 -3
  292. package/dist/{any.js → some.es.js} +64 -54
  293. package/dist/some.es.min.js +7 -0
  294. package/dist/{any.mjs → some.js} +72 -48
  295. package/dist/some.min.js +8 -0
  296. package/dist/some.min.mjs +7 -0
  297. package/dist/{any.es.js → some.mjs} +65 -48
  298. package/dist/switchCase.es.js +55 -5
  299. package/dist/switchCase.es.min.js +3 -3
  300. package/dist/switchCase.js +55 -5
  301. package/dist/switchCase.min.js +3 -3
  302. package/dist/switchCase.min.mjs +3 -3
  303. package/dist/switchCase.mjs +55 -5
  304. package/dist/tap.es.js +2 -9
  305. package/dist/tap.es.min.js +3 -3
  306. package/dist/tap.js +2 -9
  307. package/dist/tap.min.js +3 -3
  308. package/dist/tap.min.mjs +3 -3
  309. package/dist/tap.mjs +2 -9
  310. package/dist/thunkify.es.js +45 -2
  311. package/dist/thunkify.es.min.js +3 -3
  312. package/dist/thunkify.js +45 -2
  313. package/dist/thunkify.min.js +3 -3
  314. package/dist/thunkify.min.mjs +3 -3
  315. package/dist/thunkify.mjs +45 -2
  316. package/dist/transform.es.js +35 -71
  317. package/dist/transform.es.min.js +3 -3
  318. package/dist/transform.js +35 -71
  319. package/dist/transform.min.js +3 -3
  320. package/dist/transform.min.mjs +3 -3
  321. package/dist/transform.mjs +35 -71
  322. package/dist/tryCatch.es.js +33 -17
  323. package/dist/tryCatch.es.min.js +3 -3
  324. package/dist/tryCatch.js +33 -17
  325. package/dist/tryCatch.min.js +3 -3
  326. package/dist/tryCatch.min.mjs +3 -3
  327. package/dist/tryCatch.mjs +33 -17
  328. package/dist/x/append.es.js +2 -2
  329. package/dist/x/append.es.min.js +2 -2
  330. package/dist/x/append.js +2 -2
  331. package/dist/x/append.min.js +2 -2
  332. package/dist/x/append.min.mjs +2 -2
  333. package/dist/x/append.mjs +2 -2
  334. package/dist/x/callProp.es.js +2 -2
  335. package/dist/x/callProp.es.min.js +2 -2
  336. package/dist/x/callProp.js +2 -2
  337. package/dist/x/callProp.min.js +2 -2
  338. package/dist/x/callProp.min.mjs +2 -2
  339. package/dist/x/callProp.mjs +2 -2
  340. package/dist/x/defaultsDeep.es.js +2 -2
  341. package/dist/x/defaultsDeep.es.min.js +2 -2
  342. package/dist/x/defaultsDeep.js +2 -2
  343. package/dist/x/defaultsDeep.min.js +2 -2
  344. package/dist/x/defaultsDeep.min.mjs +2 -2
  345. package/dist/x/defaultsDeep.mjs +2 -2
  346. package/dist/x/differenceWith.es.js +7 -7
  347. package/dist/x/differenceWith.es.min.js +3 -3
  348. package/dist/x/differenceWith.js +7 -7
  349. package/dist/x/differenceWith.min.js +2 -2
  350. package/dist/x/differenceWith.min.mjs +3 -3
  351. package/dist/x/differenceWith.mjs +7 -7
  352. package/dist/x/filterOut.es.js +60 -117
  353. package/dist/x/filterOut.es.min.js +3 -3
  354. package/dist/x/filterOut.js +60 -117
  355. package/dist/x/filterOut.min.js +3 -3
  356. package/dist/x/filterOut.min.mjs +3 -3
  357. package/dist/x/filterOut.mjs +60 -117
  358. package/dist/x/find.es.js +2 -2
  359. package/dist/x/find.es.min.js +2 -2
  360. package/dist/x/find.js +2 -2
  361. package/dist/x/find.min.js +2 -2
  362. package/dist/x/find.min.mjs +2 -2
  363. package/dist/x/find.mjs +2 -2
  364. package/dist/x/findIndex.es.js +2 -2
  365. package/dist/x/findIndex.es.min.js +2 -2
  366. package/dist/x/findIndex.js +2 -2
  367. package/dist/x/findIndex.min.js +2 -2
  368. package/dist/x/findIndex.min.mjs +2 -2
  369. package/dist/x/findIndex.mjs +2 -2
  370. package/dist/x/first.es.js +2 -2
  371. package/dist/x/first.es.min.js +2 -2
  372. package/dist/x/first.js +2 -2
  373. package/dist/x/first.min.js +2 -2
  374. package/dist/x/first.min.mjs +2 -2
  375. package/dist/x/first.mjs +2 -2
  376. package/dist/x/flatten.es.js +20 -207
  377. package/dist/x/flatten.es.min.js +3 -3
  378. package/dist/x/flatten.js +20 -207
  379. package/dist/x/flatten.min.js +3 -3
  380. package/dist/x/flatten.min.mjs +3 -3
  381. package/dist/x/flatten.mjs +20 -207
  382. package/dist/x/groupBy.es.js +52 -94
  383. package/dist/x/groupBy.es.min.js +3 -3
  384. package/dist/x/groupBy.js +52 -94
  385. package/dist/x/groupBy.min.js +3 -3
  386. package/dist/x/groupBy.min.mjs +3 -3
  387. package/dist/x/groupBy.mjs +52 -94
  388. package/dist/x/has.es.js +2 -2
  389. package/dist/x/has.es.min.js +2 -2
  390. package/dist/x/has.js +2 -2
  391. package/dist/x/has.min.js +2 -2
  392. package/dist/x/has.min.mjs +2 -2
  393. package/dist/x/has.mjs +2 -2
  394. package/dist/x/identity.es.js +2 -2
  395. package/dist/x/identity.es.min.js +2 -2
  396. package/dist/x/identity.js +2 -2
  397. package/dist/x/identity.min.js +2 -2
  398. package/dist/x/identity.min.mjs +2 -2
  399. package/dist/x/identity.mjs +2 -2
  400. package/dist/x/includes.es.js +2 -2
  401. package/dist/x/includes.es.min.js +2 -2
  402. package/dist/x/includes.js +2 -2
  403. package/dist/x/includes.min.js +2 -2
  404. package/dist/x/includes.min.mjs +2 -2
  405. package/dist/x/includes.mjs +2 -2
  406. package/dist/x/isDeepEqual.es.js +2 -2
  407. package/dist/x/isDeepEqual.es.min.js +2 -2
  408. package/dist/x/isDeepEqual.js +2 -2
  409. package/dist/x/isDeepEqual.min.js +2 -2
  410. package/dist/x/isDeepEqual.min.mjs +2 -2
  411. package/dist/x/isDeepEqual.mjs +2 -2
  412. package/dist/x/isEmpty.es.js +2 -2
  413. package/dist/x/isEmpty.es.min.js +2 -2
  414. package/dist/x/isEmpty.js +2 -2
  415. package/dist/x/isEmpty.min.js +2 -2
  416. package/dist/x/isEmpty.min.mjs +2 -2
  417. package/dist/x/isEmpty.mjs +2 -2
  418. package/dist/x/isEqual.es.js +2 -2
  419. package/dist/x/isEqual.es.min.js +2 -2
  420. package/dist/x/isEqual.js +2 -2
  421. package/dist/x/isEqual.min.js +2 -2
  422. package/dist/x/isEqual.min.mjs +2 -2
  423. package/dist/x/isEqual.mjs +2 -2
  424. package/dist/x/isFunction.es.js +2 -2
  425. package/dist/x/isFunction.es.min.js +2 -2
  426. package/dist/x/isFunction.js +2 -2
  427. package/dist/x/isFunction.min.js +2 -2
  428. package/dist/x/isFunction.min.mjs +2 -2
  429. package/dist/x/isFunction.mjs +2 -2
  430. package/dist/x/isIn.es.js +2 -2
  431. package/dist/x/isIn.es.min.js +2 -2
  432. package/dist/x/isIn.js +2 -2
  433. package/dist/x/isIn.min.js +2 -2
  434. package/dist/x/isIn.min.mjs +2 -2
  435. package/dist/x/isIn.mjs +2 -2
  436. package/dist/x/isObject.es.js +2 -2
  437. package/dist/x/isObject.es.min.js +2 -2
  438. package/dist/x/isObject.js +2 -2
  439. package/dist/x/isObject.min.js +2 -2
  440. package/dist/x/isObject.min.mjs +2 -2
  441. package/dist/x/isObject.mjs +2 -2
  442. package/dist/x/isString.es.js +2 -2
  443. package/dist/x/isString.es.min.js +2 -2
  444. package/dist/x/isString.js +2 -2
  445. package/dist/x/isString.min.js +2 -2
  446. package/dist/x/isString.min.mjs +2 -2
  447. package/dist/x/isString.mjs +2 -2
  448. package/dist/x/keys.es.js +2 -2
  449. package/dist/x/keys.es.min.js +2 -2
  450. package/dist/x/keys.js +2 -2
  451. package/dist/x/keys.min.js +2 -2
  452. package/dist/x/keys.min.mjs +2 -2
  453. package/dist/x/keys.mjs +2 -2
  454. package/dist/x/last.es.js +2 -2
  455. package/dist/x/last.es.min.js +2 -2
  456. package/dist/x/last.js +2 -2
  457. package/dist/x/last.min.js +2 -2
  458. package/dist/x/last.min.mjs +2 -2
  459. package/dist/x/last.mjs +2 -2
  460. package/dist/x/maxBy.es.js +59 -6
  461. package/dist/x/maxBy.es.min.js +3 -3
  462. package/dist/x/maxBy.js +59 -6
  463. package/dist/x/maxBy.min.js +3 -3
  464. package/dist/x/maxBy.min.mjs +3 -3
  465. package/dist/x/maxBy.mjs +59 -6
  466. package/dist/x/noop.es.js +2 -2
  467. package/dist/x/noop.es.min.js +2 -2
  468. package/dist/x/noop.js +2 -2
  469. package/dist/x/noop.min.js +2 -2
  470. package/dist/x/noop.min.mjs +2 -2
  471. package/dist/x/noop.mjs +2 -2
  472. package/dist/x/pluck.es.js +32 -103
  473. package/dist/x/pluck.es.min.js +3 -3
  474. package/dist/x/pluck.js +32 -103
  475. package/dist/x/pluck.min.js +3 -3
  476. package/dist/x/pluck.min.mjs +3 -3
  477. package/dist/x/pluck.mjs +32 -103
  478. package/dist/x/prepend.es.js +2 -2
  479. package/dist/x/prepend.es.min.js +2 -2
  480. package/dist/x/prepend.js +2 -2
  481. package/dist/x/prepend.min.js +2 -2
  482. package/dist/x/prepend.min.mjs +2 -2
  483. package/dist/x/prepend.mjs +2 -2
  484. package/dist/x/size.es.js +2 -2
  485. package/dist/x/size.es.min.js +2 -2
  486. package/dist/x/size.js +2 -2
  487. package/dist/x/size.min.js +2 -2
  488. package/dist/x/size.min.mjs +2 -2
  489. package/dist/x/size.mjs +2 -2
  490. package/dist/x/trace.es.js +2 -9
  491. package/dist/x/trace.es.min.js +3 -3
  492. package/dist/x/trace.js +2 -9
  493. package/dist/x/trace.min.js +3 -3
  494. package/dist/x/trace.min.mjs +3 -3
  495. package/dist/x/trace.mjs +2 -9
  496. package/dist/x/unionWith.es.js +2 -2
  497. package/dist/x/unionWith.es.min.js +2 -2
  498. package/dist/x/unionWith.js +2 -2
  499. package/dist/x/unionWith.min.js +2 -2
  500. package/dist/x/unionWith.min.mjs +2 -2
  501. package/dist/x/unionWith.mjs +2 -2
  502. package/dist/x/uniq.es.js +2 -2
  503. package/dist/x/uniq.es.min.js +2 -2
  504. package/dist/x/uniq.js +2 -2
  505. package/dist/x/uniq.min.js +2 -2
  506. package/dist/x/uniq.min.mjs +2 -2
  507. package/dist/x/uniq.mjs +2 -2
  508. package/dist/x/unless.es.js +2 -2
  509. package/dist/x/unless.es.min.js +2 -2
  510. package/dist/x/unless.js +2 -2
  511. package/dist/x/unless.min.js +2 -2
  512. package/dist/x/unless.min.mjs +2 -2
  513. package/dist/x/unless.mjs +2 -2
  514. package/dist/x/values.es.js +2 -2
  515. package/dist/x/values.es.min.js +2 -2
  516. package/dist/x/values.js +2 -2
  517. package/dist/x/values.min.js +2 -2
  518. package/dist/x/values.min.mjs +2 -2
  519. package/dist/x/values.mjs +2 -2
  520. package/dist/x/when.es.js +2 -2
  521. package/dist/x/when.es.min.js +2 -2
  522. package/dist/x/when.js +2 -2
  523. package/dist/x/when.min.js +2 -2
  524. package/dist/x/when.min.mjs +2 -2
  525. package/dist/x/when.mjs +2 -2
  526. package/dist-test.js +9 -2042
  527. package/eq.js +21 -63
  528. package/es.js +730 -869
  529. package/every.js +94 -0
  530. package/filter.js +23 -91
  531. package/flatMap.js +75 -70
  532. package/forEach.js +82 -0
  533. package/get.js +23 -6
  534. package/global.js +6 -4
  535. package/gt.js +15 -58
  536. package/gte.js +14 -57
  537. package/index.js +730 -869
  538. package/lt.js +17 -60
  539. package/lte.js +14 -57
  540. package/map.js +9 -94
  541. package/memory-usage/reduce.js +2 -2
  542. package/not.js +27 -45
  543. package/omit.js +4 -0
  544. package/or.js +50 -33
  545. package/package.json +7 -7
  546. package/pick.js +5 -1
  547. package/pipe.js +13 -50
  548. package/reduce.js +42 -51
  549. package/rubico.js +10 -8
  550. package/set.js +43 -10
  551. package/some.js +105 -0
  552. package/switchCase.js +13 -3
  553. package/tap.js +0 -24
  554. package/test.js +847 -1096
  555. package/thunkify.js +9 -0
  556. package/transform.js +31 -16
  557. package/tryCatch.js +19 -15
  558. package/x/differenceWith.js +3 -3
  559. package/x/filterOut.test.js +6 -6
  560. package/x/flatten.js +1 -1
  561. package/x/flatten.test.js +0 -8
  562. package/x/index.js +0 -2
  563. package/x/pluck.js +18 -27
  564. package/x/pluck.test.js +3 -7
  565. package/x/timeInLoop.js +16 -25
  566. package/x/timeInLoop.test.js +8 -4
  567. package/any.js +0 -82
  568. package/dist/any.es.min.js +0 -7
  569. package/dist/any.min.js +0 -8
  570. package/dist/any.min.mjs +0 -7
  571. package/dist/fork.es.js +0 -159
  572. package/dist/fork.es.min.js +0 -7
  573. package/dist/fork.js +0 -166
  574. package/dist/fork.min.js +0 -8
  575. package/dist/fork.min.mjs +0 -7
  576. package/dist/fork.mjs +0 -159
  577. package/dist/x/forEach.es.min.js +0 -7
  578. package/dist/x/forEach.min.js +0 -8
  579. package/dist/x/forEach.min.mjs +0 -7
  580. package/fork.js +0 -101
  581. package/x/forEach.js +0 -93
  582. package/x/forEach.test.js +0 -218
  583. /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
  584. /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
  585. /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
  586. /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
  587. /package/{benchmarks → archive/benchmarks-v1.9.7}/misc.js +0 -0
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 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=function(){},t=n=>null!=n&&"function"==typeof n.then,e=(n,e)=>function(...o){const r=n(...o);return t(r)?r.then(e):e(r)},o=(n,t)=>function(...e){return t(n(...e))},r=Object.prototype.toString,u=n=>r.call(n),c=n=>"[object GeneratorFunction]"==u(n),f=n=>"[object AsyncGeneratorFunction]"==u(n),i=function(...t){const o=t.pop();if(t.length>0)return o.reduce(e)(...t);let r=n,u=n;return function(...t){const i=t[0];return"function"!=typeof i||c(i)||f(i)?(r==n&&(r=o.reduce(e)),r(...t)):(u==n&&(u=o.reduceRight(e)),u(i))}};i.sync=n=>n.reduce(o);const s=Array.isArray,l=Promise.all.bind(Promise),h=n=>function(){return n},a=Symbol.for("placeholder"),p=function(n,t,e,o){return t==a?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==a?((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)},y=function(n,t,e){return n[t]=e,n},d=n=>function(...e){const o={},r=[];for(const u in n){const c=n[u](...e);t(c)?r.push(c.then(p(y,o,u,a))):o[u]=c}return 0==r.length?o:l(r).then(h(o))},g=function(n,t,e,o,r){return t==a?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==a?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==a?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},w=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},v=n=>s(n)?(n=>function(...e){const o=n.length,r=Array(o);let u=-1,c=!1;for(;++u<o;){const o=n[u](...e);t(o)&&(c=!0),r[u]=o}return c?l(r):r})(n):d(n);v.series=n=>s(n)?(n=>function(...o){const r=n.length,u=[];let c=-1;for(;++c<r;){const r=n[c](...o);if(t(r))return r.then(e(p(y,u,c,a),g(w,n,o,a,c)));u[c]=r}return u})(n):d(n);const b=Object.assign,j=n=>function(...t){return n(...t),t[0]},x=(n,t)=>function(){return n(...t)},M=(n,t,e)=>n?t():e(),S=n=>function(...e){const o=e[0],r=n(...e);return t(r)?r.then(h(o)):o};S.sync=j,S.if=(n,e)=>function(...o){const r=n(...o);if(t(r))return r.then(p(M,a,x(S(e),o),h(o[0])));if(r){const n=e(...o);if(t(n))return n.then(h(o[0]))}return o[0]};const O=function(n,t,e){return n(t,...e)},A=(n,t,e,o)=>function(){return n(t,e,o)},m=function(n,e,o){const r=n.length-1;for(;(o+=2)<r;){const r=n[o],u=n[o+1],c="function"==typeof r?r(...e):r;if(t(c))return c.then(p(M,a,"function"==typeof u?x(u,e):h(u),A(m,n,e,o)));if(c)return"function"==typeof u?u(...e):u}if(o==n.length)return;const u=n[r];return"function"==typeof u?u(...e):u},I=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},z=(n,t,e)=>function(){return n(t,e)},T=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(p(M,a,h(r),z(T,n,e)));if(o)return r}if(e!=o)return n[e]},E=Symbol.iterator,P=(n,t)=>({toString:()=>"[object MappingIterator]",[E](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),B=n=>({value:n,done:!1}),D=Symbol.asyncIterator,$=(n,e)=>({[D](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(B):{value:r,done:!1}}}),k=function(n,t,e){return t==a?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},F=n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t},C=function(n,e){const o=n.length,r=Array(o);let u=-1,c=!1;for(;++u<o;){const o=e(n[u],u,n);t(o)&&(c=!0),r[u]=o}return c?l(r):r},G=(n,t,e)=>n[t](e),_=function(n,e){const o=new Set,r=[];for(const u of n){const c=e(u,u,n);t(c)?r.push(c.then(p(G,o,"add",a))):o.add(c)}return 0==r.length?o:l(r).then(h(o))},q=(n,t,e,o)=>n[t](e,o),R=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)),V=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?R(o):o},H=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=e(n[r]);o[r]=t(u)?await u:u}return o},J=Promise.race.bind(Promise),K=async function(n,e,o,r,u,c){const f=n.length;for(;++u<f;){c.size>=o&&await J(c);const f=e(n[u]);if(t(f)){const n=f.then(j((()=>c.delete(n))));c.add(n),r[u]=n}else r[u]=f}return l(r)},L=Object.prototype.hasOwnProperty,N=(n,t)=>L.call(n,t),Q=(n,t,e)=>function(...o){const r=e.length,u=o.length,c=[];let f=-1,i=-1,s=0;for(;++f<r;){const r=e[f];if(r==a&&(i+=1)<u){const n=o[i];n==a&&(s+=1),c.push(n)}else c.push(r);if(c.length==n)return 0==s?t(...c):U(n,t,c)}for(;++i<u;){const e=o[i];if(e==a&&(s+=1),c.push(e),c.length==n)return 0==s?t(...c):U(n,t,c)}return U(n,t,c)},U=function(n,t,e){const o=e.length;if(o<n)return Q(n,t,e);let r=-1;for(;++r<o;){if(e[r]==a)return Q(n,t,e)}return t(...e)},W=n=>function([t,e]){return n(t,e)},X=function(n,t,e){return n.set(t,e)},Y=function(n,e){const o=new Map,r=[];return n.forEach(((n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(W(U(3,X,[e])))):e.set(c[0],c[1])})(e,o,r)),0==r.length?o:l(r).then(h(o))},Z=function(n,e){return s(n)?C(n,e):"function"==typeof n?c(n)?((n,t)=>function*(...e){for(const o of n(...e))yield t(o)})(n,e):f(n)?function(n,t){return async function*(...e){for await(const o of n(...e))yield t(o)}}(n,e):((n,e)=>function(o,r){const u=e(r);return t(u)?u.then(k(n,o,a)):n(o,u)})(n,e):null==n?n:"function"==typeof n.then?n.then(e):"function"==typeof n.map?n.map(e):"string"==typeof n||n.constructor==String?function(n,e){const o=C(n,e);return t(o)?o.then(p(G,a,"join","")):o.join("")}(n,e):n.constructor==Set?_(n,e):n.constructor==Map?function(n,e){const o=new Map,r=[];for(const[u,c]of n){const f=e(c,u,n);t(f)?r.push(f.then(g(q,o,"set",u,a))):o.set(u,f)}return 0==r.length?o:l(r).then(h(o))}(n,e):"function"==typeof n[E]?P(n[E](),e):"function"==typeof n[D]?$(n[D](),e):n.constructor==Object?V(n,e):e(n)},nn=(...n)=>{const t=n.pop();return n.length>0?Z(n[0],t):k(Z,a,t)};nn.entries=function(n){return function(e){if(null==e)throw new TypeError("value is not an Object or Map");if(e.constructor==Object)return function(n,e){const o={},r=[];for(const u in n){const c=e([u,n[u]]);t(c)?r.push(c.then(W(U(3,y,[o])))):o[c[0]]=c[1]}return 0==r.length?o:l(r).then(h(o))}(e,n);if(e.constructor==Map)return Y(e,n);throw new TypeError("value is not an Object or Map")}},nn.series=n=>function(o){if(s(o))return function(n,o){const r=n.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(n[c]);if(t(r))return r.then(e(p(y,u,c,a),g(H,n,o,a,c)));u[c]=r}return u}(o,n);throw new TypeError(`${o} is not an Array`)},nn.pool=(n,e)=>function(o){if(s(o))return function(n,e,o){const r=n.length,u=Array(r);let c=-1;for(;++c<r;){const r=e(n[c]);if(t(r)){const t=new Set,f=r.then(j((()=>t.delete(f))));return t.add(f),u[c]=f,K(n,e,o,u,c,t)}u[c]=r}return u}(o,e,n);throw new TypeError(`${o} is not an Array`)},nn.withIndex=n=>function(e){if(s(e))return function(n,e){const o=n.length,r=Array(o);let u=-1,c=!1;for(;++u<o;){const o=e(n[u],u,n);t(o)&&(c=!0),r[u]=o}return c?l(r):r}(e,n);throw new TypeError(`${e} is not an Array`)},nn.own=n=>function(e){if(F(e)&&!s(e))return function(n,e){const o={};let r=!1;for(const u in n)if(N(n,u)){const c=e(n[u]);t(c)&&(r=!0),o[u]=c}return r?R(o):o}(e,n);throw new TypeError(`${e} is not an Object`)};const tn=(n,t)=>({[E](){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}}),en=(n,e)=>({isAsyncIteratorDone:!1,[D](){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}}}),on=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},rn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},un=function(n,e){const o=n.length,r=[];let u=-1,c=-1;for(;++u<o;){const o=n[u],f=e(o);if(t(f))return l(on([f],n,e,u)).then(g(rn,n,r,u-1,a));f&&(r[++c]=o)}return r},cn=(n,t)=>function(){return n(t)},fn=(n,t,e,o,r)=>function(){return n(t,e,o,r)},sn=function(n,t,e,o){o&&(n[t]=e)},ln=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,t);return n},hn=function(e,o){return s(e)?un(e,o):"function"==typeof e?c(e)?((n,t)=>function*(...e){yield*tn(n(...e),t)})(e,o):f(e)?((n,t)=>async function*(...e){yield*en(n(...e),t)})(e,o):((n,e)=>function(o,r){const u=e(r);return t(u)?u.then(p(M,a,z(n,o,r),h(o))):u?n(o,r):o})(e,o):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=un(n,e);return t(o)?o.then(p(G,a,"join","")):o.join("")}(e,o):e.constructor==Set?function(e,o){const r=new Set,u=r.add.bind(r),c=[];for(const f of e){const i=o(f,f,e);t(i)?c.push(i.then(p(M,a,cn(u,f),n))):i&&r.add(f)}return 0==c.length?r:l(c).then(h(r))}(e,o):e.constructor==Map?function(e,o){const r=new Map,u=[];for(const[c,f]of e){const i=o(f,c,e);t(i)?u.push(i.then(p(M,a,fn(q,r,"set",c,f),n))):i&&r.set(c,f)}return 0==u.length?r:l(u).then(h(r))}(e,o):"function"==typeof e.filter?e.filter(o):"function"==typeof e[E]?tn(e[E](),o):"function"==typeof e[D]?en(e[D](),o):e.constructor==Object?function(n,e){const o={},r=[];for(const u in n){const c=n[u],f=e(c,u,n);t(f)?r.push(f.then(g(sn,o,u,n[u],a))):f&&(o[u]=c)}return 0==r.length?o:l(r).then(h(o))}(e,o):e},an=function(...n){const t=n.pop();return n.length>0?hn(n[0],t):k(hn,a,t)};an.withIndex=n=>function(e){if(s(e))return function(n,e){const o=n.length,r=[];let u=-1,c=-1;for(;++u<o;){const o=n[u],f=e(o,u,n);if(t(f))return l(ln([f],n,e,u)).then(g(rn,n,r,u-1,a));f&&(r[++c]=o)}return r}(e,n);throw new TypeError(`${e} is not an Array`)};const pn=function(n,t,e,o){return t==a?((n,t,e)=>function(...o){return n(o,t,e)})(n,e,o):e==a?((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)},yn=Object.values,dn=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},gn=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(p(dn,n,e,a));r=n.next()}return o},wn=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},vn=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},bn=Object.keys,jn=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},xn=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},Mn=(n,e)=>function(o,r){const u=n(o,r);return t(u)?u.then(k(e,a,r)):e(u,r)},Sn=function(n,e,r){const u=n[0];return s(u)?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(g(vn,n,e,a,u));return o}(u,e,r):"function"==typeof u?c(u)?((n,t,e)=>o(n,p(gn,a,t,e)))(u,e,r):f(u)?((n,t,e)=>o(n,p(wn,a,t,e)))(u,e,r):pn(Sn,a,1==n.length?Mn(e,u):n.reduce(Mn,e),r):null==u?void 0===r?k(e,u,a):e(r,u):u.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,c]of r)if(o=e(o,c,u,n),t(o))return o.then(g(xn,n,e,a,r));return o}(u,e,r):"function"==typeof u[E]?gn(u[E](),e,r):"function"==typeof u[D]?wn(u[D](),e,r):"function"==typeof u.reduce?u.reduce(e,r):"function"==typeof u.chain?u.chain(k(e,r,a)):"function"==typeof u.flatMap?u.flatMap(k(e,r,a)):u.constructor==Object?function(n,e,o){const r=bn(n),u=r.length;let c=-1;for(void 0===o&&(o=n[r[++c]]);++c<u;){const u=r[c];if(o=e(o,n[u],u,n),t(o))return o.then((f=jn,s=e,l=a,h=r,p=c,(i=n)==a?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(f,s,l,h,p):s==a?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(f,i,l,h,p):l==a?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(f,i,s,h,p):h==a?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(f,i,s,l,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(f,i,s,l,h)))}var f,i,s,l,h,p;return o}(u,e,r):void 0===r?k(e,u,a):e(r,u)},On=ArrayBuffer.isView,An=(n,t)=>n+t,mn=function(n,t){return null!=(e=t)&&e.length>0?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n);var e},In="function"==typeof Buffer,zn=In?Buffer.alloc:n,Tn=function(n,t){const e=n.length,o=In&&n.constructor==Buffer?zn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},En=function(n,t){return s(t)||On(t)?Tn(n,t):Tn(n,[t])},Pn=(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",cn(e,n)),t.on("error",o)})(n,t)),Bn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Pn(n,t):(n.write(t),n);var e},Dn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},$n=function(n,t){return n.concat(t)},kn=function(e,o,r){const u=Sn(e,o(n),null);return t(u)?u.then(h(r)):r},Fn=function(n,e,o){if(s(o))return Sn(n,e(mn),o);if(On(o)){const r=Sn(n,e(mn),[]);return t(r)?r.then(k(En,o,a)):En(o,r)}if(null==o)return kn(n,e,o);const r=o.constructor;return"string"==typeof o||r==String?Sn(n,e(An),o):"function"==typeof o.concat?Sn(n,e($n),o):"function"==typeof o.write?Sn(n,e(Bn),o):r==Set?Sn(n,e(Dn),o):r==Object?Sn(n,e(b),o):kn(n,e,o)},Cn=function(n,t){return n.push(t),n},Gn=function(n,t){let e=[],o=0;return{[E](){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=Sn([t(r.value)],Cn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}},_n=n=>new Promise((t=>{setTimeout(t,n)})),qn=function(n,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[D](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:u,done:c}=await n.next();if(c)this.isAsyncIteratorDone=c;else{const n=e(u);if(t(n)){const t=n.then(pn(Sn,a,Cn,o)).then((()=>r.delete(t)));r.add(t)}else{const e=Sn([n],Cn,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 J([_n(1e3),...r])}return{value:void 0,done:!0}}}},Rn=(n,t)=>t,Vn=n=>n,Hn=async function(n,e){const o=[];for await(const r of n){const n=e(r);t(n)&&o.push(n)}return 0==o.length?n:l(o).then(h(n))},Jn=function(n){const e=n.length,r=[],u=[];let c=-1;for(;++c<e;){const e=n[c];if(s(e)){const n=e.length;let t=-1;for(;++t<n;)u.push(e[t])}else if(null==e)u.push(e);else if("function"==typeof e.then)r.push(e.then(k(Cn,u,a)));else if("function"==typeof e[E])for(const n of e)u.push(n);else if("function"==typeof e[D])r.push(Hn(e[D](),k(Cn,u,a)));else if("function"==typeof e.chain){const n=e.chain(Vn);t(n)?r.push(n.then(k(Cn,u,a))):u.push(n)}else if("function"==typeof e.flatMap){const n=e.flatMap(Vn);t(n)?r.push(n.then(k(Cn,u,a))):u.push(n)}else if("function"==typeof e.reduce){const n=e.reduce(o(Rn,k(Cn,u,a)),null);t(n)&&r.push(n)}else if(e.constructor==Object)for(const n in e)u.push(e[n]);else u.push(e)}return 0==r.length?u:l(r).then(h(u))},Kn=function(n){const e=[],r={},u=k(b,r,a),c=o(Rn,u);for(const o in n){const f=n[o];if(null!=f)if("function"==typeof f[E])for(const n of f)b(r,n);else if("function"==typeof f[D])e.push(Hn(f[D](),u));else if("function"==typeof f.chain){const n=f.chain(Vn);t(n)?e.push(n.then(u)):b(r,n)}else if("function"==typeof f.flatMap){const n=f.flatMap(Vn);t(n)?e.push(n.then(u)):u(n)}else if("function"==typeof f.reduce){const n=f.reduce(c,null);t(n)&&e.push(n)}else b(r,f)}return 0==e.length?r:l(e).then((()=>r))},Ln=function(n){n.size;const e=[],o=new Set,r=(n,t)=>o.add(t),u=p(G,o,"add",a);for(const c of n)if(s(c)){const n=c.length;let t=-1;for(;++t<n;)o.add(c[t])}else if(null==c)o.add(c);else if("function"==typeof c[E])for(const n of c)o.add(n);else if("function"==typeof c[D])e.push(Hn(c[D](),u));else if("function"==typeof c.chain){const n=c.chain(Vn);t(n)?e.push(n.then(u)):o.add(n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Vn);t(n)?e.push(n.then(u)):o.add(n)}else if("function"==typeof c.reduce){const n=c.reduce(r,null);t(n)&&e.push(n)}else if(c.constructor==Object)for(const n in c)o.add(c[n]);else o.add(c);return 0==e.length?o:l(e).then((()=>o))},Nn=e(Jn,k(((n,t)=>n.join(t)),a,"")),Qn=function(n,t,e,o){return n.write(t,e,o),n},Un=async function(n,e){const r=k(Qn,n,a),u=o(Rn,r),c=[];if(s(e)){const t=e.length;let o=-1;for(;++o<t;)n.write(e[o])}else if(null==e)n.write(e);else if("function"==typeof e[E])for(const t of e)n.write(t);else if("function"==typeof e[D])c.push(Hn(e[D](),r));else if("function"==typeof e.chain){const o=e.chain(Vn);t(o)?c.push(o.then(r)):n.write(o)}else if("function"==typeof e.flatMap){const o=e.flatMap(Vn);t(o)?c.push(o.then(r)):n.write(o)}else if("function"==typeof e.reduce){const n=e.reduce(u,null);t(n)&&c.push(n)}else if(e.constructor==Object)for(const t in e)n.write(e[t]);else n.write(e);return 0==c.length?n:l(c).then(h(n))},Wn=function(n,t){const e=n.length;let o=-1,r=t;for(;++o<e;)r=En(r,n[o]);return r},Xn=function(n,e){const o=Jn(n);return t(o)?o.then(k(Wn,a,e)):Wn(o,e)},Yn=function(n){const t=n.then((n=>[n,t]));return t},Zn=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(Yn(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await J(r);if(r.delete(t),n)return!0}return!1},nt=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return Zn(n,e,r,new Set([Yn(o)]));if(o)return!0}return!1},tt=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 J(o);if(o.delete(t),n)return!0}const c=e(u.value);if(t(c))o.add(Yn(c));else if(c)return!0;u=n.next(),t(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),n)return!0}return!1},et=function(n,e){const o=n.length,r=[];let u=-1;for(;++u<o;){const o=e(n[u]);if(t(o))r.push(o);else if(!o)return!1}return 0==r.length||l(r).then(p(G,a,"every",Boolean))},ot=(n,t,e)=>!!t&&n(e),rt=function(n,e){const o=n.length;for(;++e<o;){let o=n[e];if(t(o))return o.then(p(M,a,z(rt,n,e),h(!1)));if(!o)return!1}return!0},ut=async function(n,e,o){const r=n.length;for(;++o<r;){let r=n[o];if("function"==typeof r&&(r=r(e)),t(r)&&(r=await r),!r)return!1}return!0},ct=function(n,e){const o=n.length;for(;++e<o;){let o=n[e];if(t(o))return o.then(p(M,a,h(!0),z(ct,n,e)));if(o)return!0}return!1},ft=async function(n,e,o){const r=n.length;for(;++o<r;){let r=n[o];if("function"==typeof r&&(r=r(e)),console.log("hey - or",r),t(r)&&(r=await r),r)return!0}return!1},it=n=>!n,st=function(n){return"function"==typeof n?function(e){const o=n(e);return t(o)?o.then(it):!o}:!n};st.sync=n=>function(...t){return!n(...t)};const lt=function(n,t){return n===t||n!=n&&t!=t},ht=(n,t)=>n>t,at=(n,t)=>n<t,pt=(n,t)=>n>=t,yt=(n,t)=>n<=t,dt=/[.|[|\]]+/,gt=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(dt):e?n.slice(1).split(dt):o?n.slice(0,t).split(dt):n.split(dt)}),500),wt=n=>s(n)?n:"string"==typeof n?gt(n):[n],vt=function(n,t){const e=wt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},bt=function(n,t,e){if(!F(n))return n;const o=wt(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=s(t)?t.slice():{...t};f[n]=e,f=e}}return c},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=vt(n,e);null!=u&&(o=bt(o,u,e))}return o},xt=function(n,t){if(null==n)return;const e=wt(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]},Mt=function(n){const t={};for(const e in n){const o=n[e];s(o)?t[e]=St(o):null!=o&&o.constructor==Object?t[e]=Mt(o):t[e]=o}return t},St=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];s(t)?e[o]=St(t):null!=t&&t.constructor==Object?e[o]=Mt(t):e[o]=t}return e},Ot=function(n,t){const e=t.length,o=s(r=n)?St(r):null==r?r:r.constructor==Object?Mt(r):r;var r;let u=-1;for(;++u<e;)xt(o,t[u]);return o},At=(n,...t)=>U(n.length,n,t);At.arity=function(n,t,...e){return U(n,t,e)};const mt={pipe:i,tap:S,switchCase:n=>I(n)?T(n,-2):function(...t){return m(n,t,-2)},tryCatch:function(...n){if(n.length>2){const e=n.pop(),o=n.pop();try{const r=o(...n);return t(r)?r.catch(p(O,e,a,n)):r}catch(t){return e(t,...n)}}const e=n[0],o=n[1];return function(...n){try{const r=e(...n);return t(r)?r.catch(p(O,o,a,n)):r}catch(t){return o(t,...n)}}},fork:v,assign:function(n){const e=d(n);return function(n){const o=e(n);return t(o)?o.then(p(b,{},n,a)):{...n,...o}}},get:(n,t)=>function(e){const o=null==e?void 0:vt(e,n);return void 0===o?"function"==typeof t?t(e):t:o},set:(n,e)=>function(o){if("function"==typeof e){const r=e(o);return t(r)?r.then(p(bt,o,a,n)):bt(o,r,n)}return bt(o,e,n)},pick:(n,t)=>null==t?k(jt,a,n):jt(n,t),omit:function(n,t){return null==t?k(Ot,a,n):Ot(n,t)},map:nn,filter:an,reduce:function(...n){if("function"!=typeof n[0]){const t=n[1],e=n[2];return Sn([n[0]],t,"function"==typeof e?e(n[0]):e)}const e=n[0],o=n[1];return"function"==typeof o?function(...n){const r=o(...n);return t(r)?r.then(p(Sn,n,e,a)):Sn(n,e,r)}:pn(Sn,a,e,o)},transform:function(n,e){return"function"==typeof e?function(...o){const r=e(...o);return t(r)?r.then(p(Fn,o,n,a)):Fn(o,n,r)}:function(...t){return Fn(t,n,e)}},flatMap:n=>function(e){if(s(e))return function(n,e){const o=C(n,e);return t(o)?o.then(Jn):Jn(o)}(e,n);if("function"==typeof e)return c(e)?((n,t)=>function*(...e){yield*Gn(n(...e),t)})(e,n):f(e)?((n,t)=>async function*(...e){yield*qn(n(...e),t)})(e,n):((n,e)=>function(o,r){const u=e(r);return t(u)?u.then(pn(Sn,a,n,o)):Sn([u],n,o)})(e,n);if(On(e))return function(n,e){const o=C(n,e),r=In&&n.constructor==Buffer?zn(0):new n.constructor(0);return t(o)?o.then(k(Xn,a,r)):Xn(o,r)}(e,n);if(null==e)return n(e);if("function"==typeof e.then)return e.then(n);if("function"==typeof e.next)return E in e?Gn(e,n):qn(e,n);if("function"==typeof e.chain)return e.chain(n);if("function"==typeof e.flatMap)return e.flatMap(n);if("function"==typeof e[D]&&"function"==typeof e.write)return async function(n,e){const o=new Set;for await(const r of n){const u=e(r);if(t(u)){const t=u.then(k(Un,n,a)).then((()=>o.delete(t)));o.add(t)}else{const e=Un(n,u);if(t(e)){const n=e.then((()=>o.delete(n)));o.add(n)}}}return await l(o),n}(e,n);const o=e.constructor;return o==Object?function(n,e){const o=V(n,e);return t(o)?o.then(Kn):Kn(o)}(e,n):o==Set?function(n,e){const o=_(n,e);return t(o)?o.then(Ln):Ln(o)}(e,n):"string"==typeof e||o==String?function(n,e){const o=C(n,e);return t(o)?o.then(Nn):Nn(o)}(e,n):n(e)},and:n=>I(n)?rt(n,-1):function(e){const o=n.length;let r=-1;for(;++r<o;){let o=n[r];if("function"==typeof o&&(o=o(e)),t(o))return o.then(p(M,a,A(ut,n,e,r),h(!1)));if(!o)return!1}return!0},or:n=>I(n)?ct(n,-1):function(e){const o=n.length;let r=-1;for(;++r<o;){let o=n[r];if("function"==typeof o&&(o=o(e)),t(o))return o.then(p(M,a,h(!0),A(ft,n,e,r)));if(o)return!0}return!1},not:st,any:n=>function(e){return s(e)?nt(e,n):null==e?n(e):"function"==typeof e[E]?function(n,e){for(const o of n){const r=e(o);if(t(r))return tt(n,e,new Set([Yn(r)]));if(r)return!0}return!1}(e[E](),n):"function"==typeof e[D]?tt(e[D](),n,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!0===e?e:t(e)?e.then(k((n=>function(t,e){return!!t||n(e)})(n),a,o)):!!e||n(o)})(n),!1):e.constructor==Object?nt(yn(e),n):n(e)},all:n=>function(e){return s(e)?et(e,n):null==e?n(e):"function"==typeof e[E]?function(n,e){const o=[];for(const r of n){const n=e(r);if(t(n))o.push(n);else if(!n)return!1}return 0==o.length||l(o).then(p(G,a,"every",Boolean))}(e[E](),n):"function"==typeof e[D]?async function(n,e,o,r=20){let u=await n.next();for(;!u.done;){if(o.size>=r){const[n,t]=await J(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(t(c))o.add(Yn(c));else if(!c)return!1;u=await n.next()}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),!n)return!1}return!0}(e[D](),n,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(p(ot,n,a,o)):!!e&&n(o))})(n),!0):e.constructor==Object?et(yn(e),n):n(e)},eq:function(n,e){const o="function"==typeof n,r="function"==typeof e;return o&&r?function(o){const r=n(o),u=e(o),c=t(r),f=t(u);return c&&f?l([r,u]).then(W(lt)):c?r.then(k(lt,a,u)):f?u.then(k(lt,r,a)):lt(r,u)}:o?function(o){const r=n(o);return t(r)?r.then(k(lt,a,e)):lt(r,e)}:r?function(o){const r=e(o);return t(r)?r.then(k(lt,n,a)):lt(n,r)}:lt(n,e)},gt:function(n,e){const o="function"==typeof n,r="function"==typeof e;return o&&r?function(o){const r=n(o),u=e(o),c=t(r),f=t(u);return c&&f?l([r,u]).then(W(ht)):c?r.then(k(ht,a,u)):f?u.then(k(ht,r,a)):r>u}:o?function(o){const r=n(o);return t(r)?r.then(k(ht,a,e)):r>e}:r?function(o){const r=e(o);return t(r)?r.then(k(ht,n,a)):n>r}:n>e},lt:function(n,e){const o="function"==typeof n,r="function"==typeof e;return o&&r?function(o){const r=n(o),u=e(o),c=t(r),f=t(u);return c&&f?l([r,u]).then(W(at)):c?r.then(k(at,a,u)):f?u.then(k(at,r,a)):r<u}:o?function(o){const r=n(o);return t(r)?r.then(k(at,a,e)):r<e}:r?function(o){const r=e(o);return t(r)?r.then(k(at,n,a)):n<r}:n<e},gte:function(n,e){const o="function"==typeof n,r="function"==typeof e;return o&&r?function(o){const r=n(o),u=e(o),c=t(r),f=t(u);return c&&f?l([r,u]).then(W(pt)):c?r.then(k(pt,a,u)):f?u.then(k(pt,r,a)):r>=u}:o?function(o){const r=n(o);return t(r)?r.then(k(pt,a,e)):r>=e}:r?function(o){const r=e(o);return t(r)?r.then(k(pt,n,a)):n>=r}:n>=e},lte:function(n,e){const o="function"==typeof n,r="function"==typeof e;return o&&r?function(o){const r=n(o),u=e(o),c=t(r),f=t(u);return c&&f?l([r,u]).then(W(yt)):c?r.then(k(yt,a,u)):f?u.then(k(yt,r,a)):r<=u}:o?function(o){const r=n(o);return t(r)?r.then(k(yt,a,e)):r<=e}:r?function(o){const r=e(o);return t(r)?r.then(k(yt,n,a)):n<=r}:n<=e},thunkify:(n,...t)=>function(){return n(...t)},always:h,curry:At,__:a};return mt}());
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=n=>null!=n&&"function"==typeof n.then,t=function(t){const e=t.length;let o=-1;for(;++o<e;){const e=t[o];if(n(e))return!0}return!1},e=Promise.all.bind(Promise),o=(t,e)=>function(...o){const r=t(...o);return n(r)?r.then(e):e(r)},r=(n,t)=>n(...t),u=Symbol.for("placeholder"),c=function(n,t,e){return t==u?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},i=(n,t)=>function(){return n(...t)},s=(n,t,e)=>n?t():e(),l=function(n,t,e,o){return t==u?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},h=t=>function(...e){const o=e[0],r=t(...e);return n(r)?r.then(f(o)):o};h.if=(t,e)=>function(...o){const r=t(...o);if(n(r))return r.then(l(s,u,i(h(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};const a=Array.isArray,p=function(n,t,e){return t==u?((n,t,e)=>function(...e){return n(e,t)})(n,e):((n,t,e)=>function(...e){return n(t,e)})(n,t)},y=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=t[c](...o);n(e)&&(f=!0),u[c]=e}return f?e(u):u},d=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},g=function(n,t,e){return n[t]=e,n},w=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=t[r](...e);o[r]=n(u)?await u:u}return o},v=function(t,e){const r=t.length,c=[];let f=-1;for(;++f<r;){const r=t[f](...e);if(n(r))return r.then(o(l(g,c,f,u),d(w,t,e,u,f)));c[f]=r}return c},b=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(g,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},j=function(...n){const o=n.pop();return 0==n.length?a(o)?p(y,o,u):p(b,o,u):t(n)?a(o)?e(n).then(c(y,o,u)):e(n).then(c(b,o,u)):a(o)?y(o,n):b(o,n)};j.series=function(...n){const o=n.pop();return 0==n.length?p(v,o,u):t(n)?e(n).then(c(v,o,u)):v(o,n)};const x=Object.assign,S=function(t,e){const o=b(e,[t]);return n(o)?o.then(l(x,{},t,u)):{...t,...o}},M=function(n,t,e){return n(t,...e)},m=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(M,e,u,o)):r}catch(n){return e(n,...o)}},O=(n,t,e,o)=>function(){return n(t,e,o)},A=function(t,e,o){const r=t.length-1;for(;(o+=2)<r;){const r=t[o],c=t[o+1],h="function"==typeof r?r(...e):r;if(n(h))return h.then(l(s,u,"function"==typeof c?i(c,e):f(c),O(A,t,e,o)));if(h)return"function"==typeof c?c(...e):c}if(o==t.length)return;const c=t[r];return"function"==typeof c?c(...e):c},z=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},I=(n,t,e)=>function(){return n(t,e)},E=function(t,e){const o=t.length,r=o-1;for(;(e+=2)<r;){const o=t[e],r=t[e+1];if(n(o))return o.then(l(s,u,f(r),I(E,t,e)));if(o)return r}if(e!=o)return t[e]},D=Symbol.iterator,P=(n,t)=>({toString:()=>"[object MappingIterator]",[D](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),T=n=>({value:n,done:!1}),B=Symbol.asyncIterator,k=(t,e)=>({[B](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(T):{value:r,done:!1}}}),C=n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t},$=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=o(t[c],c,t);n(e)&&(f=!0),u[c]=e}return f?e(u):u},_=(n,t,e)=>n[t](e),q=function(t,o){const r=new Set,c=[];for(const e of t){const f=o(e,e,t);n(f)?c.push(f.then(l(_,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},F=(n,t,e,o)=>n[t](e,o),R=t=>new Promise((t=>function(e){const o={};let r=0;for(const u in t){const c=t[u];n(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(t)),V=function(t,e){const o={};let r=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(r=!0),o[u]=c}return r?R(o):o},G=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=e(t[r]);o[r]=n(u)?await u:u}return o},H=n=>function(...t){return n(...t),t[0]},J=Promise.race.bind(Promise),K=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await J(f);const e=o(t[c]);if(n(e)){const n=e.then(H((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},L=(n,t,e)=>function(...o){const r=e.length,c=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==u&&(s+=1)<c){const n=o[s];n==u&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):N(n,t,f)}for(;++s<c;){const e=o[s];if(e==u&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):N(n,t,f)}return N(n,t,f)},N=function(n,t,e){const o=e.length;if(o<n)return L(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return L(n,t,e)}return t(...e)},Q=n=>function([t,e]){return n(t,e)},U=function(n,t,e){return n.set(t,e)},W=function(t,o){const r=new Map,u=[];return t.forEach(((t,e,o)=>function(r,u){const c=t([u,r]);n(c)?o.push(c.then(Q(N(3,U,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},X=function(t,o){return a(t)?$(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const o=$(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?q(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(d(F,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[D]?P(t[D](),o):"function"==typeof t[B]?k(t[B](),o):t.constructor==Object?V(t,o):o(t)},Y=(...t)=>{const e=t.pop();if(0==t.length)return c(X,u,e);const o=t[0];return n(o)?o.then(c(X,u,e)):X(o,e)};Y.entries=function(t){return function(o){if(null==o)throw new TypeError("value is not an Object or Map");if(o.constructor==Object)return function(t,o){const r={},u=[];for(const e in t){const c=o([e,t[e]]);n(c)?u.push(c.then(Q(N(3,g,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(o,t);if(o.constructor==Map)return W(o,t);throw new TypeError("value is not an Object or Map")}},Y.series=t=>function(e){if(a(e))return function(t,e){const r=t.length,c=Array(r);let f=-1;for(;++f<r;){const r=e(t[f]);if(n(r))return r.then(o(l(g,c,f,u),d(G,t,e,u,f)));c[f]=r}return c}(e,t);throw new TypeError(`${e} is not an Array`)},Y.pool=(t,e)=>function(o){if(a(o))return function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=e(t[c]);if(n(r)){const n=new Set,f=r.then(H((()=>n.delete(f))));return n.add(f),u[c]=f,K(t,e,o,u,c,n)}u[c]=r}return u}(o,e,t);throw new TypeError(`${o} is not an Array`)};const Z=(n,t)=>({[D](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),nn=(t,e)=>({isAsyncIteratorDone:!1,[B](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await t.next();if(r)this.isAsyncIteratorDone=!0;else{const t=e(o);if(n(t)?await t:t)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),tn=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},en=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},on=function(t,o){const r=t.length,c=[];let f=-1,i=-1;for(;++f<r;){const r=t[f],s=o(r,f,t);if(n(s))return e(tn([s],t,o,f)).then(d(en,t,c,f-1,u));s&&(c[++i]=r)}return c},rn=(n,t)=>function(){return n(t)},un=function(){},cn=(n,t,e,o,r)=>function(){return n(t,e,o,r)},fn=function(n,t,e,o){o&&(n[t]=e)},sn=function(t,o){return a(t)?on(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=on(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?function(t,o){const r=new Set,c=r.add.bind(r),i=[];for(const e of t){const f=o(e,e,t);n(f)?i.push(f.then(l(s,u,rn(c,e),un))):f&&r.add(e)}return 0==i.length?r:e(i).then(f(r))}(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(l(s,u,cn(F,r,"set",e,f),un))):i&&r.set(e,f)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t.filter?t.filter(o):"function"==typeof t[D]?Z(t[D](),o):"function"==typeof t[B]?nn(t[B](),o):t.constructor==Object?function(t,o){const r={},c=[];for(const e in t){const f=t[e],i=o(f,e,t);n(i)?c.push(i.then(d(fn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},ln=Object.values,hn=(Object.prototype.toString,async function(t,e,o){let r=t.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),n(o)&&(o=await o),r=t.next();return o}),an=async function(t,e,o,r){const u=t.length;for(;++r<u;)o=e(o,t[r],r,t),n(o)&&(o=await o);return o},pn=Object.keys,yn=async function(t,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,t[c],c,t),n(o)&&(o=await o)}return o},dn=async function(t,e,o,r){for(const[u,c]of r)o=e(o,c,u,t),n(o)&&(o=await o);return o},gn=function(t,e,o){return a(t)?function(t,e,o){const r=t.length;let c=-1;for(void 0===o&&(o=t[++c]);++c<r;)if(o=e(o,t[c],c,t),n(o))return o.then(d(an,t,e,u,c));return o}(t,e,o):null==t?void 0===o?c(e,t,u):e(o,t):t.constructor==Map?function(t,e,o){const r=t.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[c,f]of r)if(o=e(o,f,c,t),n(o))return o.then(d(dn,t,e,u,r));return o}(t,e,o):"function"==typeof t[D]?function(t,e,o){let r=t.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=t.next());!r.done;){if(o=e(o,r.value),n(o))return o.then(l(hn,t,e,u));r=t.next()}return o}(t[D](),e,o):"function"==typeof t[B]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(t[B](),e,o):"function"==typeof t.reduce?t.reduce(e,o):"function"==typeof t.chain?t.chain(c(e,o,u)):"function"==typeof t.flatMap?t.flatMap(c(e,o,u)):t.constructor==Object?function(t,e,o){const r=pn(t),c=r.length;let f=-1;for(void 0===o&&(o=t[r[++f]]);++f<c;){const c=r[f];if(o=e(o,t[c],c,t),n(o))return o.then((i=yn,l=e,h=u,a=r,p=f,(s=t)==u?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==u?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==u?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==u?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(t,e,o):void 0===o?c(e,t,u):e(o,t)},wn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(gn,t,e,u)):gn(t,e,r)}return n(o)?o.then(l(gn,t,e,u)):gn(t,e,o)},vn=ArrayBuffer.isView,bn=(n,t)=>n+t,jn=function(n,t){return a(t)||vn(t)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n)},xn="function"==typeof Buffer,Sn=xn?Buffer.alloc:un,Mn=function(n,t){const e=n.length,o=xn&&n.constructor==Buffer?Sn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},mn=function(n,t){return a(t)||vn(t)?Mn(n,t):Mn(n,[t])},On=(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",rn(e,n)),t.on("error",o)})(n,t)),An=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?On(n,t):(n.write(t),n);var e},zn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},In=function(n,t){return n.concat(t)},En=function(t,e,o){const r=gn(t,e(un),null);return n(r)?r.then(f(o)):o},Dn=function(t,e,o){if(a(o))return gn(t,e(jn),o);if(vn(o)){const r=gn(t,e(jn),[]);return n(r)?r.then(c(mn,o,u)):mn(o,r)}if(null==o)return En(t,e,o);const r=o.constructor;return"string"==typeof o||r==String?gn(t,e(bn),o):"function"==typeof o.concat?gn(t,e(In),o):"function"==typeof o.write?gn(t,e(An),o):r==Set?gn(t,e(zn),o):r==Object?gn(t,e(x),o):En(t,e,o)},Pn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Dn,t,e,u)):Dn(t,e,r)}return n(o)?o.then(l(Dn,t,e,u)):Dn(t,e,o)},Tn=function(n,t){return n.push(t),n},Bn=n=>new Promise((t=>{setTimeout(t,n)})),kn=(n,t)=>t,Cn=n=>n,$n=(n,t)=>function(...e){return t(n(...e))},_n=async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))},qn=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(a(e)){const n=e.length;let t=-1;for(;++t<n;)i.push(e[t])}else if(null==e)i.push(e);else if("function"==typeof e.then)r.push(e.then(c(Tn,i,u)));else if("function"==typeof e[D])for(const n of e)i.push(n);else if("function"==typeof e[B])r.push(_n(e[B](),c(Tn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Cn);n(t)?r.push(t.then(c(Tn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Cn);n(t)?r.push(t.then(c(Tn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce($n(kn,c(Tn,i,u)),null);n(t)&&r.push(t)}else if(e.constructor==Object)for(const n in e)i.push(e[n]);else i.push(e)}return 0==r.length?i:e(r).then(f(i))},Fn=function(t){const o=[],r={},f=c(x,r,u),i=$n(kn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[D])for(const n of u)x(r,n);else if("function"==typeof u[B])o.push(_n(u[B](),f));else if("function"==typeof u.chain){const t=u.chain(Cn);n(t)?o.push(t.then(f)):x(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Cn);n(t)?o.push(t.then(f)):f(t)}else if("function"==typeof u.reduce){const t=u.reduce(i,null);n(t)&&o.push(t)}else x(r,u)}return 0==o.length?r:e(o).then((()=>r))},Rn=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(_,r,"add",u);for(const e of t)if(a(e)){const n=e.length;let t=-1;for(;++t<n;)r.add(e[t])}else if(null==e)r.add(e);else if("function"==typeof e[D])for(const n of e)r.add(n);else if("function"==typeof e[B])o.push(_n(e[B](),f));else if("function"==typeof e.chain){const t=e.chain(Cn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Cn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.reduce){const t=e.reduce(c,null);n(t)&&o.push(t)}else if(e.constructor==Object)for(const n in e)r.add(e[n]);else r.add(e);return 0==o.length?r:e(o).then((()=>r))},Vn=o(qn,c(((n,t)=>n.join(t)),u,"")),Gn=function(t,e){if(a(t))return function(t,e){const o=$(t,e);return n(o)?o.then(qn):qn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return D in t?function(n,t){let e=[],o=0;return{[D](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=gn(t(r.value),Tn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(t,e):function(t,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[B](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:c,done:f}=await t.next();if(f)this.isAsyncIteratorDone=f;else{const t=e(c);if(n(t)){const n=t.then(l(gn,u,Tn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=gn(t,Tn,o);if(n(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await J([Bn(1e3),...r])}return{value:void 0,done:!0}}}}(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const o=t.constructor;return o==Object?function(t,e){const o=V(t,e);return n(o)?o.then(Fn):Fn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Rn):Rn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=$(t,e);return n(o)?o.then(Vn):Vn(o)}(t,e):e(t)},Hn=function(t,o){return a(t)?function(t,o){const r=t.length,u=[];let c=-1;for(;++c<r;){const e=o(t[c]);n(e)&&u.push(e)}return 0==u.length?t:e(u).then(f(t))}(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))}(t[D](),o):"function"==typeof t[B]?_n(t[B](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const u=o(t[e]);n(u)&&r.push(u)}return 0==r.length?t:e(r).then(f(t))}(t,o):t},Jn=function(n){const t=n.then((n=>[n,t]));return t},Kn=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(Jn(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await J(r);if(r.delete(t),n)return!0}return!1},Ln=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return Kn(t,e,r,new Set([Jn(o)]));if(o)return!0}return!1},Nn=async function(t,e,o,r=20){let u=t.next();for(n(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await J(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(Jn(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),n)return!0}return!1},Qn=function(t,e){return a(t)?Ln(t,e):null==t?e(t):"function"==typeof t[D]?function(t,e){for(const o of t){const r=e(o);if(n(r))return Nn(t,e,new Set([Jn(r)]));if(r)return!0}return!1}(t[D](),e):"function"==typeof t[B]?Nn(t[B](),e,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!0===e?e:n(e)?e.then(c((n=>function(t,e){return!!t||n(e)})(t),u,o)):!!e||t(o)})(e),!1):t.constructor==Object?Ln(ln(t),e):e(t)},Un=function(t,o){const r=t.length,c=[];let f=-1;for(;++f<r;){const e=o(t[f]);if(n(e))c.push(e);else if(!e)return!1}return 0==c.length||e(c).then(l(_,u,"every",Boolean))},Wn=(n,t,e)=>!!t&&n(e),Xn=function(t,o){return a(t)?Un(t,o):null==t?o(t):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);if(n(t))r.push(t);else if(!t)return!1}return 0==r.length||e(r).then(l(_,u,"every",Boolean))}(t[D](),o):"function"==typeof t[B]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await J(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(Jn(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),!n)return!1}return!0}(t[B](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(Wn,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?Un(ln(t),o):o(t)},Yn=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,I(Yn,t,e),f(!1)));if(!o)return!1}return!0},Zn=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),!r)return!1}return!0},nt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,O(Zn,t,e,r),f(!1)));if(!o)return!1}return!0},tt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,f(!0),I(tt,t,e)));if(o)return!0}return!1},et=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),r)return!0}return!1},ot=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,f(!0),O(et,t,e,r)));if(o)return!0}return!1},rt=n=>!n,ut=function(t,e){const o=e(...t);return n(o)?o.then(rt):!o},ct=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},ft=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(Q(o)):o(c,f)},it=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(Q(o)):o(c,u)},st=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(Q(o)):o(r,c)},lt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?ct(ft,u,o,f,c):t(r)?e(r).then(d(ft,u,o,f,c)):ft(r,o,f,c):i?0==r.length?ct(it,u,o,f,c):t(r)?e(r).then(d(it,u,o,f,c)):it(r,o,f,c):s?0==r.length?ct(st,u,o,f,c):t(r)?e(r).then(d(st,u,o,f,c)):st(r,o,f,c):n(f)||n(c)?e([f,c]).then(Q(o)):o(f,c)},ht=lt((function(n,t){return n==t})),at=lt(((n,t)=>n>t)),pt=lt(((n,t)=>n<t)),yt=lt(((n,t)=>n>=t)),dt=lt(((n,t)=>n<=t)),gt=/[.|[|\]]+/,wt=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(gt):e?n.slice(1).split(gt):o?n.slice(0,t).split(gt):n.split(gt)}),500),vt=n=>a(n)?n:"string"==typeof n?wt(n):[n],bt=function(n,t){const e=vt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},jt=function(n,t,e){const o=null==n?void 0:bt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},xt=function(n,t,e){if(!C(n))return n;const o=vt(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=a(t)?t.slice():{...t};f[n]=e,f=e}}return c},St=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(xt,t,u,e)):xt(t,r,e)}return n(o)?o.then(l(xt,t,u,e)):xt(t,o,e)},Mt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=bt(n,e);null!=u&&(o=xt(o,u,e))}return o},mt=function(n,t){if(null==n)return;const e=vt(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]},Ot=function(n){const t={};for(const e in n){const o=n[e];a(o)?t[e]=At(o):null!=o&&o.constructor==Object?t[e]=Ot(o):t[e]=o}return t},At=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];a(t)?e[o]=At(t):null!=t&&t.constructor==Object?e[o]=Ot(t):e[o]=t}return e},zt=function(n,t){const e=t.length,o=a(r=n)?At(r):null==r?r:r.constructor==Object?Ot(r):r;var r;let u=-1;for(;++u<e;)mt(o,t[u]);return o},It=(n,...t)=>N(n.length,n,t);It.arity=function(n,t,...e){return N(n,t,e)};return{pipe:function(...n){const f=n.pop().reduce(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},compose:function(...n){const f=n.pop().reduceRight(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},tap:h,switchCase:(...n)=>{const o=n.pop();return z(o)?E(o,-2):0==n.length?(r=A,f=u,i=-2,(c=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,f,i):f==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,c,i):((n,t,e)=>function(...o){return n(t,e,o)})(r,c,f)):t(n)?e(n).then(l(A,o,u,-2)):A(o,n,-2);var r,c,f,i},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(m,r,o,u)):m(r,o,n)}const o=n[0],r=n[1];return function(...n){return m(o,r,n)}},all:j,assign:function(t,e){return null==e?c(S,u,t):n(t)?t.then(c(S,u,e)):S(t,e)},get:function(t,e,o){return n(t)?t.then(l(jt,u,e,o)):C(t)&&!a(t)?jt(t,e,o):l(jt,u,t,e)},set:function(t,e,o){return null==o?l(St,u,t,e):n(t)?t.then(l(St,u,e,o)):St(t,e,o)},pick:function(t,e){return null==e?c(Mt,u,t):n(t)?t.then(c(Mt,u,e)):Mt(t,e)},omit:function(t,e){return null==e?c(zt,u,t):n(t)?t.then(c(zt,u,e)):zt(t,e)},map:Y,filter:function(...n){const t=n.pop();return 0==n.length?c(sn,u,t):sn(n[0],t)},flatMap:(...t)=>{const e=t.pop();if(0==t.length)return c(Gn,u,e);const o=t[0];return n(o)?o.then(c(Gn,u,e)):Gn(t[0],e)},forEach:function(...t){const e=t.pop();if(0==t.length)return c(Hn,u,e);const o=t[0];return n(o)?o.then(c(Hn,u,e)):Hn(o,e)},reduce:function(...t){return"function"==typeof t[0]?l(wn,u,t[0],t[1]):n(t[0])?t[0].then(l(wn,u,t[1],t[2])):wn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Pn,u,t[0],t[1]):n(t[0])?t[0].then(l(Pn,u,t[1],t[2])):Pn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return z(o)?Yn(o,-1):0==n.length?p(nt,u,o):t(n)?e(n).then(c(nt,u,o)):nt(n,o)},or:function(...n){const o=n.pop();return z(o)?tt(o,-1):0==n.length?p(ot,u,o):t(n)?e(n).then(c(ot,u,o)):ot(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?p(ut,u,o):t(n)?e(n).then(c(ut,u,o)):ut(n,o):!o},some:function(...t){const e=t.pop();if(0==t.length)return c(Qn,u,e);const o=t[0];return n(o)?o.then(c(Qn,u,e)):Qn(o,e)},every:function(...t){const e=t.pop();if(0==t.length)return c(Xn,u,e);const o=t[0];return n(o)?o.then(c(Xn,u,e)):Xn(o,e)},eq:ht,gt:at,lt:pt,gte:yt,lte:dt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:It,__:u}}());
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const noop=function(){},isPromise=t=>null!=t&&"function"==typeof t.then,funcConcat=(t,r)=>function(...n){const e=t(...n);return isPromise(e)?e.then(r):r(e)},funcConcatSync=(t,r)=>function(...n){return r(t(...n))},objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=t=>nativeObjectToString.call(t),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=t=>objectToString(t)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=t=>objectToString(t)==asyncGeneratorFunctionTag,pipe=function(...t){const r=t.pop();if(t.length>0)return r.reduce(funcConcat)(...t);let n=noop,e=noop;return function(...t){const o=t[0];return"function"!=typeof o||isGeneratorFunction(o)||isAsyncGeneratorFunction(o)?(n==noop&&(n=r.reduce(funcConcat)),n(...t)):(e==noop&&(e=r.reduceRight(funcConcat)),e(o))}},pipeSync=t=>t.reduce(funcConcatSync);pipe.sync=pipeSync;const isArray=Array.isArray,promiseAll=Promise.all.bind(Promise),funcAll=t=>function(...r){const n=t.length,e=Array(n);let o=-1,i=!1;for(;++o<n;){const n=t[o](...r);isPromise(n)&&(i=!0),e[o]=n}return i?promiseAll(e):e},always=t=>function(){return t},__=Symbol.for("placeholder"),curry3ResolveArg0=(t,r,n)=>function(e){return t(e,r,n)},curry3ResolveArg1=(t,r,n)=>function(e){return t(r,e,n)},curry3ResolveArg2=(t,r,n)=>function(e){return t(r,n,e)},curry3=function(t,r,n,e){return r==__?curry3ResolveArg0(t,n,e):n==__?curry3ResolveArg1(t,r,e):curry3ResolveArg2(t,r,n)},objectSet=function(t,r,n){return t[r]=n,t},funcObjectAll=t=>function(...r){const n={},e=[];for(const o in t){const i=t[o](...r);isPromise(i)?e.push(i.then(curry3(objectSet,n,o,__))):n[o]=i}return 0==e.length?n:promiseAll(e).then(always(n))},curry4ResolveArg0=(t,r,n,e)=>function(o){return t(o,r,n,e)},curry4ResolveArg1=(t,r,n,e)=>function(o){return t(r,o,n,e)},curry4ResolveArg2=(t,r,n,e)=>function(o){return t(r,n,o,e)},curry4ResolveArg3=(t,r,n,e)=>function(o){return t(r,n,e,o)},curry4=function(t,r,n,e,o){return r==__?curry4ResolveArg0(t,n,e,o):n==__?curry4ResolveArg1(t,r,e,o):e==__?curry4ResolveArg2(t,r,n,o):curry4ResolveArg3(t,r,n,e)},asyncFuncAllSeries=async function(t,r,n,e){const o=t.length;for(;++e<o;){const o=t[e](...r);n[e]=isPromise(o)?await o:o}return n},funcAllSeries=t=>function(...r){const n=t.length,e=[];let o=-1;for(;++o<n;){const n=t[o](...r);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,e,o,__),curry4(asyncFuncAllSeries,t,r,__,o)));e[o]=n}return e},fork=t=>isArray(t)?funcAll(t):funcObjectAll(t);fork.series=t=>isArray(t)?funcAllSeries(t):funcObjectAll(t);const objectAssign=Object.assign,assign=function(t){const r=funcObjectAll(t);return function(t){const n=r(t);return isPromise(n)?n.then(curry3(objectAssign,{},t,__)):{...t,...n}}},tapSync=t=>function(...r){return t(...r),r[0]},thunkifyArgs=(t,r)=>function(){return t(...r)},thunkConditional=(t,r,n)=>t?r():n(),tap=t=>function(...r){const n=r[0],e=t(...r);return isPromise(e)?e.then(always(n)):n};tap.sync=tapSync,tap.if=(t,r)=>function(...n){const e=t(...n);if(isPromise(e))return e.then(curry3(thunkConditional,__,thunkifyArgs(tap(r),n),always(n[0])));if(e){const t=r(...n);if(isPromise(t))return t.then(always(n[0]))}return n[0]};const catcherApply=function(t,r,n){return t(r,...n)},tryCatch=function(...t){if(t.length>2){const r=t.pop(),n=t.pop();try{const e=n(...t);return isPromise(e)?e.catch(curry3(catcherApply,r,__,t)):e}catch(n){return r(n,...t)}}const r=t[0],n=t[1];return function(...t){try{const e=r(...t);return isPromise(e)?e.catch(curry3(catcherApply,n,__,t)):e}catch(r){return n(r,...t)}}},thunkify3=(t,r,n,e)=>function(){return t(r,n,e)},arrayConditional=function(t,r,n){const e=t.length-1;for(;(n+=2)<e;){const e=t[n],o=t[n+1],i="function"==typeof e?e(...r):e;if(isPromise(i))return i.then(curry3(thunkConditional,__,"function"==typeof o?thunkifyArgs(o,r):always(o),thunkify3(arrayConditional,t,r,n)));if(i)return"function"==typeof o?o(...r):o}if(n==t.length)return;const o=t[e];return"function"==typeof o?o(...r):o},areAllValuesNonfunctions=function(t){const r=t.length;let n=-1;for(;++n<r;)if("function"==typeof t[n])return!1;return!0},thunkify2=(t,r,n)=>function(){return t(r,n)},nonfunctionsConditional=function(t,r){const n=t.length,e=n-1;for(;(r+=2)<e;){const n=t[r],e=t[r+1];if(isPromise(n))return n.then(curry3(thunkConditional,__,always(e),thunkify2(nonfunctionsConditional,t,r)));if(n)return e}if(r!=n)return t[r]},switchCase=t=>areAllValuesNonfunctions(t)?nonfunctionsConditional(t,-2):function(...r){return arrayConditional(t,r,-2)},symbolIterator=Symbol.iterator,MappingIterator=(t,r)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const n=t.next();return n.done?n:{value:r(n.value),done:!1}}}),NextIteration=t=>({value:t,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(t,r)=>({[symbolAsyncIterator](){return this},async next(){const n=await t.next();if(n.done)return n;const e=r(n.value);return isPromise(e)?e.then(NextIteration):{value:e,done:!1}}}),curry2ResolveArg0=(t,r)=>function(n){return t(n,r)},curry2ResolveArg1=(t,r)=>function(n){return t(r,n)},curry2=function(t,r,n){return r==__?curry2ResolveArg0(t,n):curry2ResolveArg1(t,r)},isObject=t=>{if(null==t)return!1;const r=typeof t;return"object"==r||"function"==r},arrayMap=function(t,r){const n=t.length,e=Array(n);let o=-1,i=!1;for(;++o<n;){const n=r(t[o],o,t);isPromise(n)&&(i=!0),e[o]=n}return i?promiseAll(e):e},generatorFunctionMap=(t,r)=>function*(...n){for(const e of t(...n))yield r(e)},asyncGeneratorFunctionMap=function(t,r){return async function*(...n){for await(const e of t(...n))yield r(e)}},reducerMap=(t,r)=>function(n,e){const o=r(e);return isPromise(o)?o.then(curry2(t,n,__)):t(n,o)},callPropUnary=(t,r,n)=>t[r](n),stringMap=function(t,r){const n=arrayMap(t,r);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},setMap=function(t,r){const n=new Set,e=[];for(const o of t){const i=r(o,o,t);isPromise(i)?e.push(i.then(curry3(callPropUnary,n,"add",__))):n.add(i)}return 0==e.length?n:promiseAll(e).then(always(n))},callPropBinary=(t,r,n,e)=>t[r](n,e),mapMap=function(t,r){const n=new Map,e=[];for(const[o,i]of t){const c=r(i,o,t);isPromise(c)?e.push(c.then(curry4(callPropBinary,n,"set",o,__))):n.set(o,c)}return 0==e.length?n:promiseAll(e).then(always(n))},promiseObjectAllExecutor=t=>function(r){const n={};let e=0;for(const o in t){const i=t[o];isPromise(i)?(e+=1,i.then((t=>function(o){n[t]=o,e-=1,0==e&&r(n)})(o))):n[o]=i}0==e&&r(n)},promiseObjectAll=t=>new Promise(promiseObjectAllExecutor(t)),objectMap=function(t,r){const n={};let e=!1;for(const o in t){const i=r(t[o],o,t);isPromise(i)&&(e=!0),n[o]=i}return e?promiseObjectAll(n):n},arrayMapSeriesAsync=async function(t,r,n,e){const o=t.length;for(;++e<o;){const o=r(t[e]);n[e]=isPromise(o)?await o:o}return n},arrayMapSeries=function(t,r){const n=t.length,e=Array(n);let o=-1;for(;++o<n;){const n=r(t[o]);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,e,o,__),curry4(arrayMapSeriesAsync,t,r,__,o)));e[o]=n}return e},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(t,r,n,e,o,i){const c=t.length;for(;++o<c;){i.size>=n&&await promiseRace(i);const c=r(t[o]);if(isPromise(c)){const t=c.then(tapSync((()=>i.delete(t))));i.add(t),e[o]=t}else e[o]=c}return promiseAll(e)},arrayMapPool=function(t,r,n){const e=t.length,o=Array(e);let i=-1;for(;++i<e;){const e=r(t[i]);if(isPromise(e)){const c=new Set,s=e.then(tapSync((()=>c.delete(s))));return c.add(s),o[i]=s,arrayMapPoolAsync(t,r,n,o,i,c)}o[i]=e}return o},arrayMapWithIndex=function(t,r){const n=t.length,e=Array(n);let o=-1,i=!1;for(;++o<n;){const n=r(t[o],o,t);isPromise(n)&&(i=!0),e[o]=n}return i?promiseAll(e):e},hasOwnProperty=Object.prototype.hasOwnProperty,hasOwn=(t,r)=>hasOwnProperty.call(t,r),objectMapOwn=function(t,r){const n={};let e=!1;for(const o in t)if(hasOwn(t,o)){const i=r(t[o]);isPromise(i)&&(e=!0),n[o]=i}return e?promiseObjectAll(n):n},_curryArity=(t,r,n)=>function(...e){const o=n.length,i=e.length,c=[];let s=-1,u=-1,a=0;for(;++s<o;){const o=n[s];if(o==__&&(u+=1)<i){const t=e[u];t==__&&(a+=1),c.push(t)}else c.push(o);if(c.length==t)return 0==a?r(...c):curryArity(t,r,c)}for(;++u<i;){const n=e[u];if(n==__&&(a+=1),c.push(n),c.length==t)return 0==a?r(...c):curryArity(t,r,c)}return curryArity(t,r,c)},curryArity=function(t,r,n){const e=n.length;if(e<t)return _curryArity(t,r,n);let o=-1;for(;++o<e;){if(n[o]==__)return _curryArity(t,r,n)}return r(...n)},spread2=t=>function([r,n]){return t(r,n)},objectMapEntries=function(t,r){const n={},e=[];for(const o in t){const i=r([o,t[o]]);isPromise(i)?e.push(i.then(spread2(curryArity(3,objectSet,[n])))):n[i[0]]=i[1]}return 0==e.length?n:promiseAll(e).then(always(n))},mapSet=function(t,r,n){return t.set(r,n)},mapMapEntriesForEachCallback=(t,r,n)=>function(e,o){const i=t([o,e]);isPromise(i)?n.push(i.then(spread2(curryArity(3,mapSet,[r])))):r.set(i[0],i[1])},mapMapEntries=function(t,r){const n=new Map,e=[];return t.forEach(mapMapEntriesForEachCallback(r,n,e)),0==e.length?n:promiseAll(e).then(always(n))},_map=function(t,r){return isArray(t)?arrayMap(t,r):"function"==typeof t?isGeneratorFunction(t)?generatorFunctionMap(t,r):isAsyncGeneratorFunction(t)?asyncGeneratorFunctionMap(t,r):reducerMap(t,r):null==t?t:"function"==typeof t.then?t.then(r):"function"==typeof t.map?t.map(r):"string"==typeof t||t.constructor==String?stringMap(t,r):t.constructor==Set?setMap(t,r):t.constructor==Map?mapMap(t,r):"function"==typeof t[symbolIterator]?MappingIterator(t[symbolIterator](),r):"function"==typeof t[symbolAsyncIterator]?MappingAsyncIterator(t[symbolAsyncIterator](),r):t.constructor==Object?objectMap(t,r):r(t)},map=(...t)=>{const r=t.pop();return t.length>0?_map(t[0],r):curry2(_map,__,r)};map.entries=function(t){return function(r){if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,t);if(r.constructor==Map)return mapMapEntries(r,t);throw new TypeError("value is not an Object or Map")}},map.series=t=>function(r){if(isArray(r))return arrayMapSeries(r,t);throw new TypeError(`${r} is not an Array`)},map.pool=(t,r)=>function(n){if(isArray(n))return arrayMapPool(n,r,t);throw new TypeError(`${n} is not an Array`)},map.withIndex=t=>function(r){if(isArray(r))return arrayMapWithIndex(r,t);throw new TypeError(`${r} is not an Array`)},map.own=t=>function(r){if(isObject(r)&&!isArray(r))return objectMapOwn(r,t);throw new TypeError(`${r} is not an Object`)};const FilteringIterator=(t,r)=>({[symbolIterator](){return this},next(){let n=t.next();for(;!n.done;){const{value:e}=n;if(r(e))return{value:e,done:!1};n=t.next()}return n}}),FilteringAsyncIterator=(t,r)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:n,done:e}=await t.next();if(e)this.isAsyncIteratorDone=!0;else{const t=r(n);if(isPromise(t)?await t:t)return{value:n,done:!1}}}return{value:void 0,done:!0}}}),arrayExtendMap=function(t,r,n,e){const o=r.length;let i=t.length-1;for(;++e<o;)t[++i]=n(r[e],e,t);return t},arrayFilterByConditions=function(t,r,n,e){const o=t.length;let i=-1;for(;++n<o;)e[++i]&&r.push(t[n]);return r},arrayFilter=function(t,r){const n=t.length,e=[];let o=-1,i=-1;for(;++o<n;){const n=t[o],c=r(n);if(isPromise(c))return promiseAll(arrayExtendMap([c],t,r,o)).then(curry4(arrayFilterByConditions,t,e,o-1,__));c&&(e[++i]=n)}return e},generatorFunctionFilter=(t,r)=>function*(...n){yield*FilteringIterator(t(...n),r)},asyncGeneratorFunctionFilter=(t,r)=>async function*(...n){yield*FilteringAsyncIterator(t(...n),r)},reducerFilter=(t,r)=>function(n,e){const o=r(e);return isPromise(o)?o.then(curry3(thunkConditional,__,thunkify2(t,n,e),always(n))):o?t(n,e):n},stringFilter=function(t,r){const n=arrayFilter(t,r);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},thunkify1=(t,r)=>function(){return t(r)},setFilter=function(t,r){const n=new Set,e=n.add.bind(n),o=[];for(const i of t){const c=r(i,i,t);isPromise(c)?o.push(c.then(curry3(thunkConditional,__,thunkify1(e,i),noop))):c&&n.add(i)}return 0==o.length?n:promiseAll(o).then(always(n))},thunkify4=(t,r,n,e,o)=>function(){return t(r,n,e,o)},mapFilter=function(t,r){const n=new Map,e=[];for(const[o,i]of t){const c=r(i,o,t);isPromise(c)?e.push(c.then(curry3(thunkConditional,__,thunkify4(callPropBinary,n,"set",o,i),noop))):c&&n.set(o,i)}return 0==e.length?n:promiseAll(e).then(always(n))},objectSetIf=function(t,r,n,e){e&&(t[r]=n)},objectFilter=function(t,r){const n={},e=[];for(const o in t){const i=t[o],c=r(i,o,t);isPromise(c)?e.push(c.then(curry4(objectSetIf,n,o,t[o],__))):c&&(n[o]=i)}return 0==e.length?n:promiseAll(e).then(always(n))},arrayExtendMapWithIndex=function(t,r,n,e){const o=r.length;let i=t.length-1;for(;++e<o;)t[++i]=n(r[e],e,r);return t},arrayFilterWithIndex=function(t,r){const n=t.length,e=[];let o=-1,i=-1;for(;++o<n;){const n=t[o],c=r(n,o,t);if(isPromise(c))return promiseAll(arrayExtendMapWithIndex([c],t,r,o)).then(curry4(arrayFilterByConditions,t,e,o-1,__));c&&(e[++i]=n)}return e},_filter=function(t,r){return isArray(t)?arrayFilter(t,r):"function"==typeof t?isGeneratorFunction(t)?generatorFunctionFilter(t,r):isAsyncGeneratorFunction(t)?asyncGeneratorFunctionFilter(t,r):reducerFilter(t,r):null==t?t:"string"==typeof t||t.constructor==String?stringFilter(t,r):t.constructor==Set?setFilter(t,r):t.constructor==Map?mapFilter(t,r):"function"==typeof t.filter?t.filter(r):"function"==typeof t[symbolIterator]?FilteringIterator(t[symbolIterator](),r):"function"==typeof t[symbolAsyncIterator]?FilteringAsyncIterator(t[symbolAsyncIterator](),r):t.constructor==Object?objectFilter(t,r):t},filter=function(...t){const r=t.pop();return t.length>0?_filter(t[0],r):curry2(_filter,__,r)};filter.withIndex=t=>function(r){if(isArray(r))return arrayFilterWithIndex(r,t);throw new TypeError(`${r} is not an Array`)};const curryArgs3ResolveArgs0=(t,r,n)=>function(...e){return t(e,r,n)},curryArgs3ResolveArgs1=(t,r,n)=>function(...e){return t(r,e,n)},curryArgs3ResolveArgs2=(t,r,n)=>function(...e){return t(r,n,e)},curryArgs3=function(t,r,n,e){return r==__?curryArgs3ResolveArgs0(t,n,e):n==__?curryArgs3ResolveArgs1(t,r,e):curryArgs3ResolveArgs2(t,r,n)},objectValues=Object.values,iteratorReduceAsync=async function(t,r,n){let e=t.next();if(e.done)return n;for(;!e.done;)n=r(n,e.value),isPromise(n)&&(n=await n),e=t.next();return n},iteratorReduce=function(t,r,n){let e=t.next();if(e.done)return n;for(void 0===n&&(n=e.value,e=t.next());!e.done;){if(n=r(n,e.value),isPromise(n))return n.then(curry3(iteratorReduceAsync,t,r,__));e=t.next()}return n},asyncIteratorReduce=async function(t,r,n){let e=await t.next();if(e.done)return n;for(void 0===n&&(n=e.value,e=await t.next());!e.done;)n=await r(n,e.value),e=await t.next();return n},arrayReduceAsync=async function(t,r,n,e){const o=t.length;for(;++e<o;)n=r(n,t[e],e,t),isPromise(n)&&(n=await n);return n},arrayReduce=function(t,r,n){const e=t.length;let o=-1;for(void 0===n&&(n=t[++o]);++o<e;)if(n=r(n,t[o],o,t),isPromise(n))return n.then(curry4(arrayReduceAsync,t,r,__,o));return n},curry5ResolveArg0=(t,r,n,e,o)=>function(i){return t(i,r,n,e,o)},curry5ResolveArg1=(t,r,n,e,o)=>function(i){return t(r,i,n,e,o)},curry5ResolveArg2=(t,r,n,e,o)=>function(i){return t(r,n,i,e,o)},curry5ResolveArg3=(t,r,n,e,o)=>function(i){return t(r,n,e,i,o)},curry5ResolveArg4=(t,r,n,e,o)=>function(i){return t(r,n,e,o,i)},curry5=function(t,r,n,e,o,i){return r==__?curry5ResolveArg0(t,n,e,o,i):n==__?curry5ResolveArg1(t,r,e,o,i):e==__?curry5ResolveArg2(t,r,n,o,i):o==__?curry5ResolveArg3(t,r,n,e,i):curry5ResolveArg4(t,r,n,e,o)},objectKeys=Object.keys,objectGetFirstKey=function(t){for(const r in t)return r},objectReduceAsync=async function(t,r,n,e,o){const i=e.length;for(;++o<i;){const i=e[o];n=r(n,t[i],i,t),isPromise(n)&&(n=await n)}return n},objectReduce=function(t,r,n){const e=objectKeys(t),o=e.length;let i=-1;for(void 0===n&&(n=t[e[++i]]);++i<o;){const o=e[i];if(n=r(n,t[o],o,t),isPromise(n))return n.then((c=objectReduceAsync,u=r,a=__,l=e,f=i,(s=t)==__?curry5ResolveArg0(c,u,a,l,f):u==__?curry5ResolveArg1(c,s,a,l,f):a==__?curry5ResolveArg2(c,s,u,l,f):l==__?curry5ResolveArg3(c,s,u,a,f):curry5ResolveArg4(c,s,u,a,l)))}var c,s,u,a,l,f;return n},mapReduceAsync=async function(t,r,n,e){for(const[o,i]of e)n=r(n,i,o,t),isPromise(n)&&(n=await n);return n},mapReduce=function(t,r,n){const e=t.entries();if(void 0===n){const t=e.next();if(t.done)return n;n=t.value[1]}for(const[o,i]of e)if(n=r(n,i,o,t),isPromise(n))return n.then(curry4(mapReduceAsync,t,r,__,e));return n},generatorFunctionReduce=(t,r,n)=>funcConcatSync(t,curry3(iteratorReduce,__,r,n)),asyncGeneratorFunctionReduce=(t,r,n)=>funcConcatSync(t,curry3(asyncIteratorReduce,__,r,n)),reducerConcat=(t,r)=>function(n,e){const o=t(n,e);return isPromise(o)?o.then(curry2(r,__,e)):r(o,e)},genericReduce=function(t,r,n){const e=t[0];return isArray(e)?arrayReduce(e,r,n):"function"==typeof e?isGeneratorFunction(e)?generatorFunctionReduce(e,r,n):isAsyncGeneratorFunction(e)?asyncGeneratorFunctionReduce(e,r,n):curryArgs3(genericReduce,__,1==t.length?reducerConcat(r,e):t.reduce(reducerConcat,r),n):null==e?void 0===n?curry2(r,e,__):r(n,e):e.constructor==Map?mapReduce(e,r,n):"function"==typeof e[symbolIterator]?iteratorReduce(e[symbolIterator](),r,n):"function"==typeof e[symbolAsyncIterator]?asyncIteratorReduce(e[symbolAsyncIterator](),r,n):"function"==typeof e.reduce?e.reduce(r,n):"function"==typeof e.chain?e.chain(curry2(r,n,__)):"function"==typeof e.flatMap?e.flatMap(curry2(r,n,__)):e.constructor==Object?objectReduce(e,r,n):void 0===n?curry2(r,e,__):r(n,e)},reduce=function(...t){if("function"!=typeof t[0]){const r=t[1],n=t[2];return genericReduce([t[0]],r,"function"==typeof n?n(t[0]):n)}const r=t[0],n=t[1];return"function"==typeof n?function(...t){const e=n(...t);return isPromise(e)?e.then(curry3(genericReduce,t,r,__)):genericReduce(t,r,e)}:curryArgs3(genericReduce,__,r,n)},isBinary=ArrayBuffer.isView,add=(t,r)=>t+r,isArrayLike=function(t){return null!=t&&t.length>0},_arrayExtend=function(t,r){const n=t.length,e=r.length;let o=-1;for(;++o<e;)t[n+o]=r[o];return t},arrayExtend=function(t,r){return null!=(n=r)&&n.length>0?_arrayExtend(t,r):(t.push(r),t);var n},globalThisHasBuffer="function"==typeof Buffer,bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(t,r){const n=t.length,e=globalThisHasBuffer&&t.constructor==Buffer?bufferAlloc(n+r.length):new t.constructor(n+r.length);return e.set(t),e.set(r,n),e},binaryExtend=function(t,r){return isArray(r)||isBinary(r)?_binaryExtend(t,r):_binaryExtend(t,[r])},isNodeReadStream=t=>null!=t&&"function"==typeof t.pipe,__streamWrite=t=>function(r,n,e){return t.write(r,n,e),t},_streamExtendExecutor=(t,r)=>function(n,e){r.on("data",__streamWrite(t)),r.on("end",thunkify1(n,t)),r.on("error",e)},_streamExtend=(t,r)=>new Promise(_streamExtendExecutor(t,r)),streamExtend=function(t,r){return null!=(n=r)&&"function"==typeof n.pipe?_streamExtend(t,r):(t.write(r),t);var n},setExtend=function(t,r){if(null!=r&&r.constructor==Set){for(const n of r)t.add(n);return t}return t.add(r)},callConcat=function(t,r){return t.concat(r)},identityTransform=function(t,r,n){const e=genericReduce(t,r(noop),null);return isPromise(e)?e.then(always(n)):n},genericTransform=function(t,r,n){if(isArray(n))return genericReduce(t,r(arrayExtend),n);if(isBinary(n)){const e=genericReduce(t,r(arrayExtend),[]);return isPromise(e)?e.then(curry2(binaryExtend,n,__)):binaryExtend(n,e)}if(null==n)return identityTransform(t,r,n);const e=n.constructor;return"string"==typeof n||e==String?genericReduce(t,r(add),n):"function"==typeof n.concat?genericReduce(t,r(callConcat),n):"function"==typeof n.write?genericReduce(t,r(streamExtend),n):e==Set?genericReduce(t,r(setExtend),n):e==Object?genericReduce(t,r(objectAssign),n):identityTransform(t,r,n)},transform=function(t,r){return"function"==typeof r?function(...n){const e=r(...n);return isPromise(e)?e.then(curry3(genericTransform,n,t,__)):genericTransform(n,t,e)}:function(...n){return genericTransform(n,t,r)}},arrayPush=function(t,r){return t.push(r),t},FlatMappingIterator=function(t,r){let n=[],e=0;return{[symbolIterator](){return this},next(){if(e<n.length){const t=n[e];return e+=1,{value:t,done:!1}}const o=t.next();if(o.done)return o;const i=genericReduce([r(o.value)],arrayPush,[]);return i.length>1&&(n=i,e=1),{value:i[0],done:!1}}}},sleep=t=>new Promise((r=>{setTimeout(r,t)})),FlatMappingAsyncIterator=function(t,r){const n=[],e=new Set;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||n.length>0||e.size>0;){if(!this.isAsyncIteratorDone){const{value:o,done:i}=await t.next();if(i)this.isAsyncIteratorDone=i;else{const t=r(o);if(isPromise(t)){const r=t.then(curryArgs3(genericReduce,__,arrayPush,n)).then((()=>e.delete(r)));e.add(r)}else{const r=genericReduce([t],arrayPush,n);if(isPromise(r)){const t=r.then((()=>e.delete(t)));e.add(t)}}}}if(n.length>0)return{value:n.shift(),done:!1};e.size>0&&await promiseRace([sleep(1e3),...e])}return{value:void 0,done:!0}}}},getArg1=(t,r)=>r,identity=t=>t,asyncIteratorForEach=async function(t,r){const n=[];for await(const e of t){const t=r(e);isPromise(t)&&n.push(t)}return 0==n.length?t:promiseAll(n).then(always(t))},arrayFlatten=function(t){const r=t.length,n=[],e=[];let o=-1;for(;++o<r;){const r=t[o];if(isArray(r)){const t=r.length;let n=-1;for(;++n<t;)e.push(r[n])}else if(null==r)e.push(r);else if("function"==typeof r.then)n.push(r.then(curry2(arrayPush,e,__)));else if("function"==typeof r[symbolIterator])for(const t of r)e.push(t);else if("function"==typeof r[symbolAsyncIterator])n.push(asyncIteratorForEach(r[symbolAsyncIterator](),curry2(arrayPush,e,__)));else if("function"==typeof r.chain){const t=r.chain(identity);isPromise(t)?n.push(t.then(curry2(arrayPush,e,__))):e.push(t)}else if("function"==typeof r.flatMap){const t=r.flatMap(identity);isPromise(t)?n.push(t.then(curry2(arrayPush,e,__))):e.push(t)}else if("function"==typeof r.reduce){const t=r.reduce(funcConcatSync(getArg1,curry2(arrayPush,e,__)),null);isPromise(t)&&n.push(t)}else if(r.constructor==Object)for(const t in r)e.push(r[t]);else e.push(r)}return 0==n.length?e:promiseAll(n).then(always(e))},arrayFlatMap=function(t,r){const n=arrayMap(t,r);return isPromise(n)?n.then(arrayFlatten):arrayFlatten(n)},objectFlatten=function(t){const r=[],n={},e=curry2(objectAssign,n,__),o=funcConcatSync(getArg1,e);for(const i in t){const c=t[i];if(null!=c)if("function"==typeof c[symbolIterator])for(const t of c)objectAssign(n,t);else if("function"==typeof c[symbolAsyncIterator])r.push(asyncIteratorForEach(c[symbolAsyncIterator](),e));else if("function"==typeof c.chain){const t=c.chain(identity);isPromise(t)?r.push(t.then(e)):objectAssign(n,t)}else if("function"==typeof c.flatMap){const t=c.flatMap(identity);isPromise(t)?r.push(t.then(e)):e(t)}else if("function"==typeof c.reduce){const t=c.reduce(o,null);isPromise(t)&&r.push(t)}else objectAssign(n,c)}return 0==r.length?n:promiseAll(r).then((()=>n))},objectFlatMap=function(t,r){const n=objectMap(t,r);return isPromise(n)?n.then(objectFlatten):objectFlatten(n)},setFlatten=function(t){t.size;const r=[],n=new Set,e=(t,r)=>n.add(r),o=curry3(callPropUnary,n,"add",__);for(const i of t)if(isArray(i)){const t=i.length;let r=-1;for(;++r<t;)n.add(i[r])}else if(null==i)n.add(i);else if("function"==typeof i[symbolIterator])for(const t of i)n.add(t);else if("function"==typeof i[symbolAsyncIterator])r.push(asyncIteratorForEach(i[symbolAsyncIterator](),o));else if("function"==typeof i.chain){const t=i.chain(identity);isPromise(t)?r.push(t.then(o)):n.add(t)}else if("function"==typeof i.flatMap){const t=i.flatMap(identity);isPromise(t)?r.push(t.then(o)):n.add(t)}else if("function"==typeof i.reduce){const t=i.reduce(e,null);isPromise(t)&&r.push(t)}else if(i.constructor==Object)for(const t in i)n.add(i[t]);else n.add(i);return 0==r.length?n:promiseAll(r).then((()=>n))},setFlatMap=function(t,r){const n=setMap(t,r);return isPromise(n)?n.then(setFlatten):setFlatten(n)},arrayJoin=(t,r)=>t.join(r),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(t,r){const n=arrayMap(t,r);return isPromise(n)?n.then(arrayFlattenToString):arrayFlattenToString(n)},streamWrite=function(t,r,n,e){return t.write(r,n,e),t},streamFlatExtend=async function(t,r){const n=curry2(streamWrite,t,__),e=funcConcatSync(getArg1,n),o=[];if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;)t.write(r[e])}else if(null==r)t.write(r);else if("function"==typeof r[symbolIterator])for(const n of r)t.write(n);else if("function"==typeof r[symbolAsyncIterator])o.push(asyncIteratorForEach(r[symbolAsyncIterator](),n));else if("function"==typeof r.chain){const e=r.chain(identity);isPromise(e)?o.push(e.then(n)):t.write(e)}else if("function"==typeof r.flatMap){const e=r.flatMap(identity);isPromise(e)?o.push(e.then(n)):t.write(e)}else if("function"==typeof r.reduce){const t=r.reduce(e,null);isPromise(t)&&o.push(t)}else if(r.constructor==Object)for(const n in r)t.write(r[n]);else t.write(r);return 0==o.length?t:promiseAll(o).then(always(t))},streamFlatMap=async function(t,r){const n=new Set;for await(const e of t){const o=r(e);if(isPromise(o)){const r=o.then(curry2(streamFlatExtend,t,__)).then((()=>n.delete(r)));n.add(r)}else{const r=streamFlatExtend(t,o);if(isPromise(r)){const t=r.then((()=>n.delete(t)));n.add(t)}}}return await promiseAll(n),t},arrayJoinToBinary=function(t,r){const n=t.length;let e=-1,o=r;for(;++e<n;)o=binaryExtend(o,t[e]);return o},arrayFlattenToBinary=function(t,r){const n=arrayFlatten(t);return isPromise(n)?n.then(curry2(arrayJoinToBinary,__,r)):arrayJoinToBinary(n,r)},binaryFlatMap=function(t,r){const n=arrayMap(t,r),e=globalThisHasBuffer&&t.constructor==Buffer?bufferAlloc(0):new t.constructor(0);return isPromise(n)?n.then(curry2(arrayFlattenToBinary,__,e)):arrayFlattenToBinary(n,e)},reducerFlatMap=(t,r)=>function(n,e){const o=r(e);return isPromise(o)?o.then(curryArgs3(genericReduce,__,t,n)):genericReduce([o],t,n)},generatorFunctionFlatMap=(t,r)=>function*(...n){yield*FlatMappingIterator(t(...n),r)},asyncGeneratorFunctionFlatMap=(t,r)=>async function*(...n){yield*FlatMappingAsyncIterator(t(...n),r)},flatMap=t=>function(r){if(isArray(r))return arrayFlatMap(r,t);if("function"==typeof r)return isGeneratorFunction(r)?generatorFunctionFlatMap(r,t):isAsyncGeneratorFunction(r)?asyncGeneratorFunctionFlatMap(r,t):reducerFlatMap(r,t);if(isBinary(r))return binaryFlatMap(r,t);if(null==r)return t(r);if("function"==typeof r.then)return r.then(t);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,t):FlatMappingAsyncIterator(r,t);if("function"==typeof r.chain)return r.chain(t);if("function"==typeof r.flatMap)return r.flatMap(t);if("function"==typeof r[symbolAsyncIterator]&&"function"==typeof r.write)return streamFlatMap(r,t);const n=r.constructor;return n==Object?objectFlatMap(r,t):n==Set?setFlatMap(r,t):"string"==typeof r||n==String?stringFlatMap(r,t):t(r)},SelfReferencingPromise=function(t){const r=t.then((t=>[t,r]));return r},asyncArrayAny=async function(t,r,n,e){const o=t.length;for(;++n<o;){const o=r(t[n]);if(isPromise(o))e.add(SelfReferencingPromise(o));else if(o)return!0}for(;e.size>0;){const[t,r]=await promiseRace(e);if(e.delete(r),t)return!0}return!1},arrayAny=function(t,r){const n=t.length;let e=-1;for(;++e<n;){const n=r(t[e]);if(isPromise(n))return asyncArrayAny(t,r,e,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},asyncIteratorAny=async function(t,r,n,e=20){let o=t.next();for(isPromise(o)&&(o=await o);!o.done;){if(n.size>=e){const[t,r]=await promiseRace(n);if(n.delete(r),t)return!0}const i=r(o.value);if(isPromise(i))n.add(SelfReferencingPromise(i));else if(i)return!0;o=t.next(),isPromise(o)&&(o=await o)}for(;n.size>0;){const[t,r]=await promiseRace(n);if(n.delete(r),t)return!0}return!1},iteratorAny=function(t,r){for(const n of t){const e=r(n);if(isPromise(e))return asyncIteratorAny(t,r,new Set([SelfReferencingPromise(e)]));if(e)return!0}return!1},reducerAnySync=t=>function(r,n){return!!r||t(n)},reducerAny=t=>function(r,n){return!0===r?r:isPromise(r)?r.then(curry2(reducerAnySync(t),__,n)):!!r||t(n)},any=t=>function(r){return isArray(r)?arrayAny(r,t):null==r?t(r):"function"==typeof r[symbolIterator]?iteratorAny(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?asyncIteratorAny(r[symbolAsyncIterator](),t,new Set):"function"==typeof r.reduce?r.reduce(reducerAny(t),!1):r.constructor==Object?arrayAny(objectValues(r),t):t(r)},arrayAll=function(t,r){const n=t.length,e=[];let o=-1;for(;++o<n;){const n=r(t[o]);if(isPromise(n))e.push(n);else if(!n)return!1}return 0==e.length||promiseAll(e).then(curry3(callPropUnary,__,"every",Boolean))},iteratorAll=function(t,r){const n=[];for(const e of t){const t=r(e);if(isPromise(t))n.push(t);else if(!t)return!1}return 0==n.length||promiseAll(n).then(curry3(callPropUnary,__,"every",Boolean))},asyncIteratorAll=async function(t,r,n,e=20){let o=await t.next();for(;!o.done;){if(n.size>=e){const[t,r]=await promiseRace(n);if(n.delete(r),!t)return!1}const i=r(o.value);if(isPromise(i))n.add(SelfReferencingPromise(i));else if(!i)return!1;o=await t.next()}for(;n.size>0;){const[t,r]=await promiseRace(n);if(n.delete(r),!t)return!1}return!0},reducerAllSync=(t,r,n)=>!!r&&t(n),reducerAll=t=>function(r,n){return!1!==r&&(isPromise(r)?r.then(curry3(reducerAllSync,t,__,n)):!!r&&t(n))},all=t=>function(r){return isArray(r)?arrayAll(r,t):null==r?t(r):"function"==typeof r[symbolIterator]?iteratorAll(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?asyncIteratorAll(r[symbolAsyncIterator](),t,new Set):"function"==typeof r.reduce?r.reduce(reducerAll(t),!0):r.constructor==Object?arrayAll(objectValues(r),t):t(r)},areAllNonfunctionsTruthy=function(t,r){const n=t.length;for(;++r<n;){let n=t[r];if(isPromise(n))return n.then(curry3(thunkConditional,__,thunkify2(areAllNonfunctionsTruthy,t,r),always(!1)));if(!n)return!1}return!0},asyncArePredicatesAllTruthy=async function(t,r,n){const e=t.length;for(;++n<e;){let e=t[n];if("function"==typeof e&&(e=e(r)),isPromise(e)&&(e=await e),!e)return!1}return!0},and=t=>areAllValuesNonfunctions(t)?areAllNonfunctionsTruthy(t,-1):function(r){const n=t.length;let e=-1;for(;++e<n;){let n=t[e];if("function"==typeof n&&(n=n(r)),isPromise(n))return n.then(curry3(thunkConditional,__,thunkify3(asyncArePredicatesAllTruthy,t,r,e),always(!1)));if(!n)return!1}return!0},areAnyNonfunctionsTruthy=function(t,r){const n=t.length;for(;++r<n;){let n=t[r];if(isPromise(n))return n.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,t,r)));if(n)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(t,r,n){const e=t.length;for(;++n<e;){let e=t[n];if("function"==typeof e&&(e=e(r)),console.log("hey - or",e),isPromise(e)&&(e=await e),e)return!0}return!1},or=t=>areAllValuesNonfunctions(t)?areAnyNonfunctionsTruthy(t,-1):function(r){const n=t.length;let e=-1;for(;++e<n;){let n=t[e];if("function"==typeof n&&(n=n(r)),isPromise(n))return n.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,t,r,e)));if(n)return!0}return!1},_not=t=>!t,not=function(t){return"function"==typeof t?function(r){const n=t(r);return isPromise(n)?n.then(_not):!n}:!t},notSync=t=>function(...r){return!t(...r)};not.sync=notSync;const sameValueZero=function(t,r){return t===r||t!=t&&r!=r},eq=function(t,r){const n="function"==typeof t,e="function"==typeof r;return n&&e?function(n){const e=t(n),o=r(n),i=isPromise(e),c=isPromise(o);return i&&c?promiseAll([e,o]).then(spread2(sameValueZero)):i?e.then(curry2(sameValueZero,__,o)):c?o.then(curry2(sameValueZero,e,__)):sameValueZero(e,o)}:n?function(n){const e=t(n);return isPromise(e)?e.then(curry2(sameValueZero,__,r)):sameValueZero(e,r)}:e?function(n){const e=r(n);return isPromise(e)?e.then(curry2(sameValueZero,t,__)):sameValueZero(t,e)}:sameValueZero(t,r)},greaterThan=(t,r)=>t>r,gt=function(t,r){const n="function"==typeof t,e="function"==typeof r;return n&&e?function(n){const e=t(n),o=r(n),i=isPromise(e),c=isPromise(o);return i&&c?promiseAll([e,o]).then(spread2(greaterThan)):i?e.then(curry2(greaterThan,__,o)):c?o.then(curry2(greaterThan,e,__)):e>o}:n?function(n){const e=t(n);return isPromise(e)?e.then(curry2(greaterThan,__,r)):e>r}:e?function(n){const e=r(n);return isPromise(e)?e.then(curry2(greaterThan,t,__)):t>e}:t>r},lessThan=(t,r)=>t<r,lt=function(t,r){const n="function"==typeof t,e="function"==typeof r;return n&&e?function(n){const e=t(n),o=r(n),i=isPromise(e),c=isPromise(o);return i&&c?promiseAll([e,o]).then(spread2(lessThan)):i?e.then(curry2(lessThan,__,o)):c?o.then(curry2(lessThan,e,__)):e<o}:n?function(n){const e=t(n);return isPromise(e)?e.then(curry2(lessThan,__,r)):e<r}:e?function(n){const e=r(n);return isPromise(e)?e.then(curry2(lessThan,t,__)):t<e}:t<r},greaterThanOrEqual=(t,r)=>t>=r,gte=function(t,r){const n="function"==typeof t,e="function"==typeof r;return n&&e?function(n){const e=t(n),o=r(n),i=isPromise(e),c=isPromise(o);return i&&c?promiseAll([e,o]).then(spread2(greaterThanOrEqual)):i?e.then(curry2(greaterThanOrEqual,__,o)):c?o.then(curry2(greaterThanOrEqual,e,__)):e>=o}:n?function(n){const e=t(n);return isPromise(e)?e.then(curry2(greaterThanOrEqual,__,r)):e>=r}:e?function(n){const e=r(n);return isPromise(e)?e.then(curry2(greaterThanOrEqual,t,__)):t>=e}:t>=r},lessThanOrEqual=(t,r)=>t<=r,lte=function(t,r){const n="function"==typeof t,e="function"==typeof r;return n&&e?function(n){const e=t(n),o=r(n),i=isPromise(e),c=isPromise(o);return i&&c?promiseAll([e,o]).then(spread2(lessThanOrEqual)):i?e.then(curry2(lessThanOrEqual,__,o)):c?o.then(curry2(lessThanOrEqual,e,__)):e<=o}:n?function(n){const e=t(n);return isPromise(e)?e.then(curry2(lessThanOrEqual,__,r)):e<=r}:e?function(n){const e=r(n);return isPromise(e)?e.then(curry2(lessThanOrEqual,t,__)):t<=e}:t<=r},memoizeCappedUnary=function(t,r){const n=new Map,e=function(e){if(n.has(e))return n.get(e);const o=t(e);return n.set(e,o),n.size>r&&n.clear(),o};return e.cache=n,e},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(t){const r=t.length-1,n="["==t[0],e="]"==t[r];return n&&e?t.slice(1,r).split(pathDelimiters):n?t.slice(1).split(pathDelimiters):e?t.slice(0,r).split(pathDelimiters):t.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=t=>isArray(t)?t:"string"==typeof t?memoizedCappedParsePropertyPath(t):[t],getByPath=function(t,r){const n=propertyPathToArray(r),e=n.length;let o=-1,i=t;for(;++o<e;)if(i=i[n[o]],null==i)return;return i},get=(t,r)=>function(n){const e=null==n?void 0:getByPath(n,t);return void 0===e?"function"==typeof r?r(n):r:e},setByPath=function(t,r,n){if(!isObject(t))return t;const e=propertyPathToArray(n),o=e.length,i=o-1,c={...t};let s=c,u=-1;for(;++u<o;){const t=e[u];if(u==i)s[t]=r;else{const r=s[t],n=isArray(r)?r.slice():{...r};s[t]=n,s=n}}return c},set=(t,r)=>function(n){if("function"==typeof r){const e=r(n);return isPromise(e)?e.then(curry3(setByPath,n,__,t)):setByPath(n,e,t)}return setByPath(n,r,t)},_pick=function(t,r){if(null==t)return t;const n=r.length;let e={},o=-1;for(;++o<n;){const n=r[o],i=getByPath(t,n);null!=i&&(e=setByPath(e,i,n))}return e},pick=(t,r)=>null==r?curry2(_pick,__,t):_pick(t,r),deleteByPath=function(t,r){if(null==t)return;const n=propertyPathToArray(r),e=n.length-1;let o=-1,i=t;for(;++o<e;)if(i=i[n[o]],null==i)return;const c=n[o];null!=i&&c in i&&delete i[c]},objectCopyDeep=function(t){const r={};for(const n in t){const e=t[n];isArray(e)?r[n]=arrayCopyDeep(e):null!=e&&e.constructor==Object?r[n]=objectCopyDeep(e):r[n]=e}return r},arrayCopyDeep=function(t){const r=t.length,n=[];let e=-1;for(;++e<r;){const r=t[e];isArray(r)?n[e]=arrayCopyDeep(r):null!=r&&r.constructor==Object?n[e]=objectCopyDeep(r):n[e]=r}return n},copyDeep=function(t){return isArray(t)?arrayCopyDeep(t):null==t?t:t.constructor==Object?objectCopyDeep(t):t},_omit=function(t,r){const n=r.length,e=isArray(o=t)?arrayCopyDeep(o):null==o?o:o.constructor==Object?objectCopyDeep(o):o;var o;let i=-1;for(;++i<n;)deleteByPath(e,r[i]);return e},omit=function(t,r){return null==r?curry2(_omit,__,t):_omit(t,r)},thunkify=(t,...r)=>function(){return t(...r)},curry=(t,...r)=>curryArity(t.length,t,r);curry.arity=function(t,r,...n){return curryArity(t,r,n)};const rubico={pipe:pipe,tap:tap,switchCase:switchCase,tryCatch:tryCatch,fork:fork,assign:assign,get:get,set:set,pick:pick,omit:omit,map:map,filter:filter,reduce:reduce,transform:transform,flatMap:flatMap,and:and,or:or,not:not,any:any,all:all,eq:eq,gt:gt,lt:lt,gte:gte,lte:lte,thunkify:thunkify,always:always,curry:curry,__:__};export{pipe,tap,switchCase,tryCatch,fork,assign,get,set,pick,omit,map,filter,reduce,transform,flatMap,and,or,not,any,all,eq,gt,lt,gte,lte,thunkify,always,curry,__};export default rubico;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const e=r.length;let t=-1;for(;++t<e;){const e=r[t];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),funcConcat=(r,e)=>function(...t){const n=r(...t);return isPromise(n)?n.then(e):e(n)},funcApply=(r,e)=>r(...e),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},pipe=function(...r){const e=r.pop().reduce(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},compose=function(...r){const e=r.pop().reduceRight(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},always=r=>function(){return r},thunkifyArgs=(r,e)=>function(){return r(...e)},thunkConditional=(r,e,t)=>r?e():t(),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},tap=r=>function(...e){const t=e[0],n=r(...e);return isPromise(n)?n.then(always(t)):t};tap.if=(r,e)=>function(...t){const n=r(...t);if(isPromise(n))return n.then(curry3(thunkConditional,__,thunkifyArgs(tap(e),t),always(t[0])));if(n){const r=e(...t);if(isPromise(r))return r.then(always(t[0]))}return t[0]};const isArray=Array.isArray,curryArgs2ResolveArgs0=(r,e,t)=>function(...t){return r(t,e)},curryArgs2ResolveArgs1=(r,e,t)=>function(...t){return r(e,t)},curryArgs2=function(r,e,t){return e==__?curryArgs2ResolveArgs0(r,t):curryArgs2ResolveArgs1(r,e)},functionArrayAll=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=r[o](...e);isPromise(t)&&(s=!0),n[o]=t}return s?promiseAll(n):n},curry4ResolveArg0=(r,e,t,n)=>function(o){return r(o,e,t,n)},curry4ResolveArg1=(r,e,t,n)=>function(o){return r(e,o,t,n)},curry4ResolveArg2=(r,e,t,n)=>function(o){return r(e,t,o,n)},curry4ResolveArg3=(r,e,t,n)=>function(o){return r(e,t,n,o)},curry4=function(r,e,t,n,o){return e==__?curry4ResolveArg0(r,t,n,o):t==__?curry4ResolveArg1(r,e,n,o):n==__?curry4ResolveArg2(r,e,t,o):curry4ResolveArg3(r,e,t,n)},objectSet=function(r,e,t){return r[e]=t,r},asyncFunctionArrayAllSeries=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=r[n](...e);t[n]=isPromise(o)?await o:o}return t},functionArrayAllSeries=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=r[o](...e);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(asyncFunctionArrayAllSeries,r,e,__,o)));n[o]=t}return n},functionObjectAll=function(r,e){const t={},n=[];for(const o in r){const s=r[o](...e);isPromise(s)?n.push(s.then(curry3(objectSet,t,o,__))):t[o]=s}return 0==n.length?t:promiseAll(n).then(always(t))},all=function(...r){const e=r.pop();return 0==r.length?isArray(e)?curryArgs2(functionArrayAll,e,__):curryArgs2(functionObjectAll,e,__):areAnyValuesPromises(r)?isArray(e)?promiseAll(r).then(curry2(functionArrayAll,e,__)):promiseAll(r).then(curry2(functionObjectAll,e,__)):isArray(e)?functionArrayAll(e,r):functionObjectAll(e,r)};all.series=function(...r){const e=r.pop();return 0==r.length?curryArgs2(functionArrayAllSeries,e,__):areAnyValuesPromises(r)?promiseAll(r).then(curry2(functionArrayAllSeries,e,__)):functionArrayAllSeries(e,r)};const objectAssign=Object.assign,_assign=function(r,e){const t=functionObjectAll(e,[r]);return isPromise(t)?t.then(curry3(objectAssign,{},r,__)):{...r,...t}},assign=function(r,e){return null==e?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,e)):_assign(r,e)},catcherApply=function(r,e,t){return r(e,...t)},_tryCatch=function(r,e,t){try{const n=r(...t);return isPromise(n)?n.catch(curry3(catcherApply,e,__,t)):n}catch(r){return e(r,...t)}},tryCatch=function(...r){if(r.length>2){const e=r.pop(),t=r.pop();return areAnyValuesPromises(r)?promiseAll(r).then(curry3(_tryCatch,t,e,__)):_tryCatch(t,e,r)}const e=r[0],t=r[1];return function(...r){return _tryCatch(e,t,r)}},thunkify3=(r,e,t,n)=>function(){return r(e,t,n)},arrayConditional=function(r,e,t){const n=r.length-1;for(;(t+=2)<n;){const n=r[t],o=r[t+1],s="function"==typeof n?n(...e):n;if(isPromise(s))return s.then(curry3(thunkConditional,__,"function"==typeof o?thunkifyArgs(o,e):always(o),thunkify3(arrayConditional,r,e,t)));if(s)return"function"==typeof o?o(...e):o}if(t==r.length)return;const o=r[n];return"function"==typeof o?o(...e):o},areAllValuesNonfunctions=function(r){const e=r.length;let t=-1;for(;++t<e;)if("function"==typeof r[t])return!1;return!0},thunkify2=(r,e,t)=>function(){return r(e,t)},nonfunctionsConditional=function(r,e){const t=r.length,n=t-1;for(;(e+=2)<n;){const t=r[e],n=r[e+1];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(n),thunkify2(nonfunctionsConditional,r,e)));if(t)return n}if(e!=t)return r[e]},curryArgs3ResolveArgs0=(r,e,t)=>function(...n){return r(n,e,t)},curryArgs3ResolveArgs1=(r,e,t)=>function(...n){return r(e,n,t)},curryArgs3ResolveArgs2=(r,e,t)=>function(...n){return r(e,t,n)},curryArgs3=function(r,e,t,n){return e==__?curryArgs3ResolveArgs0(r,t,n):t==__?curryArgs3ResolveArgs1(r,e,n):curryArgs3ResolveArgs2(r,e,t)},switchCase=(...r)=>{const e=r.pop();return areAllValuesNonfunctions(e)?nonfunctionsConditional(e,-2):0==r.length?(t=arrayConditional,o=__,s=-2,(n=e)==__?curryArgs3ResolveArgs0(t,o,s):o==__?curryArgs3ResolveArgs1(t,n,s):curryArgs3ResolveArgs2(t,n,o)):areAnyValuesPromises(r)?promiseAll(r).then(curry3(arrayConditional,e,__,-2)):arrayConditional(e,r,-2);var t,n,o,s},symbolIterator=Symbol.iterator,MappingIterator=(r,e)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const t=r.next();return t.done?t:{value:e(t.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,e)=>({[symbolAsyncIterator](){return this},async next(){const t=await r.next();if(t.done)return t;const n=e(t.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},arrayMap=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=e(r[o],o,r);isPromise(t)&&(s=!0),n[o]=t}return s?promiseAll(n):n},callPropUnary=(r,e,t)=>r[e](t),stringMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},setMap=function(r,e){const t=new Set,n=[];for(const o of r){const s=e(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,t,"add",__))):t.add(s)}return 0==n.length?t:promiseAll(n).then(always(t))},callPropBinary=(r,e,t,n)=>r[e](t,n),mapMap=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(callPropBinary,t,"set",o,__))):t.set(o,i)}return 0==n.length?t:promiseAll(n).then(always(t))},promiseObjectAllExecutor=r=>function(e){const t={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){t[r]=o,n-=1,0==n&&e(t)})(o))):t[o]=s}0==n&&e(t)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,e){const t={};let n=!1;for(const o in r){const s=e(r[o],o,r);isPromise(s)&&(n=!0),t[o]=s}return n?promiseObjectAll(t):t},arrayMapSeriesAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=e(r[n]);t[n]=isPromise(o)?await o:o}return t},arrayMapSeries=function(r,e){const t=r.length,n=Array(t);let o=-1;for(;++o<t;){const t=e(r[o]);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,e,__,o)));n[o]=t}return n},tapSync=r=>function(...e){return r(...e),e[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,e,t,n,o,s){const i=r.length;for(;++o<i;){s.size>=t&&await promiseRace(s);const i=e(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=i}return promiseAll(n)},arrayMapPool=function(r,e,t){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=e(r[s]);if(isPromise(n)){const i=new Set,c=n.then(tapSync((()=>i.delete(c))));return i.add(c),o[s]=c,arrayMapPoolAsync(r,e,t,o,s,i)}o[s]=n}return o},_curryArity=(r,e,t)=>function(...n){const o=t.length,s=n.length,i=[];let c=-1,u=-1,a=0;for(;++c<o;){const o=t[c];if(o==__&&(u+=1)<s){const r=n[u];r==__&&(a+=1),i.push(r)}else i.push(o);if(i.length==r)return 0==a?e(...i):curryArity(r,e,i)}for(;++u<s;){const t=n[u];if(t==__&&(a+=1),i.push(t),i.length==r)return 0==a?e(...i):curryArity(r,e,i)}return curryArity(r,e,i)},curryArity=function(r,e,t){const n=t.length;if(n<r)return _curryArity(r,e,t);let o=-1;for(;++o<n;){if(t[o]==__)return _curryArity(r,e,t)}return e(...t)},spread2=r=>function([e,t]){return r(e,t)},objectMapEntries=function(r,e){const t={},n=[];for(const o in r){const s=e([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[t])))):t[s[0]]=s[1]}return 0==n.length?t:promiseAll(n).then(always(t))},mapSet=function(r,e,t){return r.set(e,t)},mapMapEntriesForEachCallback=(r,e,t)=>function(n,o){const s=r([o,n]);isPromise(s)?t.push(s.then(spread2(curryArity(3,mapSet,[e])))):e.set(s[0],s[1])},mapMapEntries=function(r,e){const t=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(e,t,n)),0==n.length?t:promiseAll(n).then(always(t))},_map=function(r,e){return isArray(r)?arrayMap(r,e):null==r?r:"function"==typeof r.then?r.then(e):"function"==typeof r.map?r.map(e):"string"==typeof r||r.constructor==String?stringMap(r,e):r.constructor==Set?setMap(r,e):r.constructor==Map?mapMap(r,e):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),e):r.constructor==Object?objectMap(r,e):e(r)},map=(...r)=>{const e=r.pop();if(0==r.length)return curry2(_map,__,e);const t=r[0];return isPromise(t)?t.then(curry2(_map,__,e)):_map(t,e)};map.entries=function(r){return function(e){if(null==e)throw new TypeError("value is not an Object or Map");if(e.constructor==Object)return objectMapEntries(e,r);if(e.constructor==Map)return mapMapEntries(e,r);throw new TypeError("value is not an Object or Map")}},map.series=r=>function(e){if(isArray(e))return arrayMapSeries(e,r);throw new TypeError(`${e} is not an Array`)},map.pool=(r,e)=>function(t){if(isArray(t))return arrayMapPool(t,e,r);throw new TypeError(`${t} is not an Array`)};const FilteringIterator=(r,e)=>({[symbolIterator](){return this},next(){let t=r.next();for(;!t.done;){const{value:n}=t;if(e(n))return{value:n,done:!1};t=r.next()}return t}}),FilteringAsyncIterator=(r,e)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:t,done:n}=await r.next();if(n)this.isAsyncIteratorDone=!0;else{const r=e(t);if(isPromise(r)?await r:r)return{value:t,done:!1}}}return{value:void 0,done:!0}}}),arrayExtendMap=function(r,e,t,n){const o=e.length;let s=r.length-1;for(;++n<o;)r[++s]=t(e[n],n,r);return r},arrayFilterByConditions=function(r,e,t,n){const o=r.length;let s=-1;for(;++t<o;)n[++s]&&e.push(r[t]);return e},arrayFilter=function(r,e){const t=r.length,n=[];let o=-1,s=-1;for(;++o<t;){const t=r[o],i=e(t,o,r);if(isPromise(i))return promiseAll(arrayExtendMap([i],r,e,o)).then(curry4(arrayFilterByConditions,r,n,o-1,__));i&&(n[++s]=t)}return n},stringFilter=function(r,e){const t=arrayFilter(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify1=(r,e)=>function(){return r(e)},noop=function(){},setFilter=function(r,e){const t=new Set,n=t.add.bind(t),o=[];for(const s of r){const i=e(s,s,r);isPromise(i)?o.push(i.then(curry3(thunkConditional,__,thunkify1(n,s),noop))):i&&t.add(s)}return 0==o.length?t:promiseAll(o).then(always(t))},thunkify4=(r,e,t,n,o)=>function(){return r(e,t,n,o)},mapFilter=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry3(thunkConditional,__,thunkify4(callPropBinary,t,"set",o,s),noop))):i&&t.set(o,s)}return 0==n.length?t:promiseAll(n).then(always(t))},objectSetIf=function(r,e,t,n){n&&(r[e]=t)},objectFilter=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(objectSetIf,t,o,r[o],__))):i&&(t[o]=s)}return 0==n.length?t:promiseAll(n).then(always(t))},_filter=function(r,e){return isArray(r)?arrayFilter(r,e):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,e):r.constructor==Set?setFilter(r,e):r.constructor==Map?mapFilter(r,e):"function"==typeof r.filter?r.filter(e):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),e):r.constructor==Object?objectFilter(r,e):r},filter=function(...r){const e=r.pop();return 0==r.length?curry2(_filter,__,e):_filter(r[0],e)},objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(r,e,t){let n=r.next();if(n.done)return t;for(;!n.done;)t=e(t,n.value),isPromise(t)&&(t=await t),n=r.next();return t},iteratorReduce=function(r,e,t){let n=r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=r.next());!n.done;){if(t=e(t,n.value),isPromise(t))return t.then(curry3(iteratorReduceAsync,r,e,__));n=r.next()}return t},asyncIteratorReduce=async function(r,e,t){let n=await r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=await r.next());!n.done;)t=await e(t,n.value),n=await r.next();return t},arrayReduceAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;)t=e(t,r[n],n,r),isPromise(t)&&(t=await t);return t},arrayReduce=function(r,e,t){const n=r.length;let o=-1;for(void 0===t&&(t=r[++o]);++o<n;)if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry4(arrayReduceAsync,r,e,__,o));return t},curry5ResolveArg0=(r,e,t,n,o)=>function(s){return r(s,e,t,n,o)},curry5ResolveArg1=(r,e,t,n,o)=>function(s){return r(e,s,t,n,o)},curry5ResolveArg2=(r,e,t,n,o)=>function(s){return r(e,t,s,n,o)},curry5ResolveArg3=(r,e,t,n,o)=>function(s){return r(e,t,n,s,o)},curry5ResolveArg4=(r,e,t,n,o)=>function(s){return r(e,t,n,o,s)},curry5=function(r,e,t,n,o,s){return e==__?curry5ResolveArg0(r,t,n,o,s):t==__?curry5ResolveArg1(r,e,n,o,s):n==__?curry5ResolveArg2(r,e,t,o,s):o==__?curry5ResolveArg3(r,e,t,n,s):curry5ResolveArg4(r,e,t,n,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,t,n,o){const s=n.length;for(;++o<s;){const s=n[o];t=e(t,r[s],s,r),isPromise(t)&&(t=await t)}return t},objectReduce=function(r,e,t){const n=objectKeys(r),o=n.length;let s=-1;for(void 0===t&&(t=r[n[++s]]);++s<o;){const o=n[s];if(t=e(t,r[o],o,r),isPromise(t))return t.then((i=objectReduceAsync,u=e,a=__,l=n,y=s,(c=r)==__?curry5ResolveArg0(i,u,a,l,y):u==__?curry5ResolveArg1(i,c,a,l,y):a==__?curry5ResolveArg2(i,c,u,l,y):l==__?curry5ResolveArg3(i,c,u,a,y):curry5ResolveArg4(i,c,u,a,l)))}var i,c,u,a,l,y;return t},mapReduceAsync=async function(r,e,t,n){for(const[o,s]of n)t=e(t,s,o,r),isPromise(t)&&(t=await t);return t},mapReduce=function(r,e,t){const n=r.entries();if(void 0===t){const r=n.next();if(r.done)return t;t=r.value[1]}for(const[o,s]of n)if(t=e(t,s,o,r),isPromise(t))return t.then(curry4(mapReduceAsync,r,e,__,n));return t},reducerConcat=(r,e)=>function(t,n){const o=r(t,n);return isPromise(o)?o.then(curry2(e,__,n)):e(o,n)},genericReduce=function(r,e,t){return isArray(r)?arrayReduce(r,e,t):null==r?void 0===t?curry2(e,r,__):e(t,r):r.constructor==Map?mapReduce(r,e,t):"function"==typeof r[symbolIterator]?iteratorReduce(r[symbolIterator](),e,t):"function"==typeof r[symbolAsyncIterator]?asyncIteratorReduce(r[symbolAsyncIterator](),e,t):"function"==typeof r.reduce?r.reduce(e,t):"function"==typeof r.chain?r.chain(curry2(e,t,__)):"function"==typeof r.flatMap?r.flatMap(curry2(e,t,__)):r.constructor==Object?objectReduce(r,e,t):void 0===t?curry2(e,r,__):e(t,r)},_reduce=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,n)}return isPromise(t)?t.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,t)},reduce=function(...r){return"function"==typeof r[0]?curry3(_reduce,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_reduce,__,r[1],r[2])):_reduce(r[0],r[1],r[2])},isBinary=ArrayBuffer.isView,add=(r,e)=>r+e,_arrayExtend=function(r,e){const t=r.length,n=e.length;let o=-1;for(;++o<n;)r[t+o]=e[o];return r},arrayExtend=function(r,e){return isArray(e)||isBinary(e)?_arrayExtend(r,e):(r.push(e),r)},globalThisHasBuffer="function"==typeof Buffer,bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(r,e){const t=r.length,n=globalThisHasBuffer&&r.constructor==Buffer?bufferAlloc(t+e.length):new r.constructor(t+e.length);return n.set(r),n.set(e,t),n},binaryExtend=function(r,e){return isArray(e)||isBinary(e)?_binaryExtend(r,e):_binaryExtend(r,[e])},isNodeReadStream=r=>null!=r&&"function"==typeof r.pipe,__streamWrite=r=>function(e,t,n){return r.write(e,t,n),r},_streamExtendExecutor=(r,e)=>function(t,n){e.on("data",__streamWrite(r)),e.on("end",thunkify1(t,r)),e.on("error",n)},_streamExtend=(r,e)=>new Promise(_streamExtendExecutor(r,e)),streamExtend=function(r,e){return null!=(t=e)&&"function"==typeof t.pipe?_streamExtend(r,e):(r.write(e),r);var t},setExtend=function(r,e){if(null!=e&&e.constructor==Set){for(const t of e)r.add(t);return r}return r.add(e)},callConcat=function(r,e){return r.concat(e)},identityTransform=function(r,e,t){const n=genericReduce(r,e(noop),null);return isPromise(n)?n.then(always(t)):t},genericTransform=function(r,e,t){if(isArray(t))return genericReduce(r,e(arrayExtend),t);if(isBinary(t)){const n=genericReduce(r,e(arrayExtend),[]);return isPromise(n)?n.then(curry2(binaryExtend,t,__)):binaryExtend(t,n)}if(null==t)return identityTransform(r,e,t);const n=t.constructor;return"string"==typeof t||n==String?genericReduce(r,e(add),t):"function"==typeof t.concat?genericReduce(r,e(callConcat),t):"function"==typeof t.write?genericReduce(r,e(streamExtend),t):n==Set?genericReduce(r,e(setExtend),t):n==Object?genericReduce(r,e(objectAssign),t):identityTransform(r,e,t)},_transform=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,n)}return isPromise(t)?t.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,t)},transform=function(...r){return"function"==typeof r[0]?curry3(_transform,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_transform,__,r[1],r[2])):_transform(r[0],r[1],r[2])},arrayPush=function(r,e){return r.push(e),r},FlatMappingIterator=function(r,e){let t=[],n=0;return{[symbolIterator](){return this},next(){if(n<t.length){const r=t[n];return n+=1,{value:r,done:!1}}const o=r.next();if(o.done)return o;const s=genericReduce(e(o.value),arrayPush,[]);return s.length>1&&(t=s,n=1),{value:s[0],done:!1}}}},sleep=r=>new Promise((e=>{setTimeout(e,r)})),FlatMappingAsyncIterator=function(r,e){const t=[],n=new Set;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||t.length>0||n.size>0;){if(!this.isAsyncIteratorDone){const{value:o,done:s}=await r.next();if(s)this.isAsyncIteratorDone=s;else{const r=e(o);if(isPromise(r)){const e=r.then(curry3(genericReduce,__,arrayPush,t)).then((()=>n.delete(e)));n.add(e)}else{const e=genericReduce(r,arrayPush,t);if(isPromise(e)){const r=e.then((()=>n.delete(r)));n.add(r)}}}}if(t.length>0)return{value:t.shift(),done:!1};n.size>0&&await promiseRace([sleep(1e3),...n])}return{value:void 0,done:!0}}}},getArg1=(r,e)=>e,identity=r=>r,funcConcatSync=(r,e)=>function(...t){return e(r(...t))},asyncIteratorForEach=async function(r,e){const t=[];for await(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},arrayFlatten=function(r){const e=r.length,t=[],n=[];let o=-1;for(;++o<e;){const e=r[o];if(isArray(e)){const r=e.length;let t=-1;for(;++t<r;)n.push(e[t])}else if(null==e)n.push(e);else if("function"==typeof e.then)t.push(e.then(curry2(arrayPush,n,__)));else if("function"==typeof e[symbolIterator])for(const r of e)n.push(r);else if("function"==typeof e[symbolAsyncIterator])t.push(asyncIteratorForEach(e[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof e.chain){const r=e.chain(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.flatMap){const r=e.flatMap(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.reduce){const r=e.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(r)&&t.push(r)}else if(e.constructor==Object)for(const r in e)n.push(e[r]);else n.push(e)}return 0==t.length?n:promiseAll(t).then(always(n))},arrayFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlatten):arrayFlatten(t)},objectFlatten=function(r){const e=[],t={},n=curry2(objectAssign,t,__),o=funcConcatSync(getArg1,n);for(const s in r){const i=r[s];if(null!=i)if("function"==typeof i[symbolIterator])for(const r of i)objectAssign(t,r);else if("function"==typeof i[symbolAsyncIterator])e.push(asyncIteratorForEach(i[symbolAsyncIterator](),n));else if("function"==typeof i.chain){const r=i.chain(identity);isPromise(r)?e.push(r.then(n)):objectAssign(t,r)}else if("function"==typeof i.flatMap){const r=i.flatMap(identity);isPromise(r)?e.push(r.then(n)):n(r)}else if("function"==typeof i.reduce){const r=i.reduce(o,null);isPromise(r)&&e.push(r)}else objectAssign(t,i)}return 0==e.length?t:promiseAll(e).then((()=>t))},objectFlatMap=function(r,e){const t=objectMap(r,e);return isPromise(t)?t.then(objectFlatten):objectFlatten(t)},setFlatten=function(r){r.size;const e=[],t=new Set,n=(r,e)=>t.add(e),o=curry3(callPropUnary,t,"add",__);for(const s of r)if(isArray(s)){const r=s.length;let e=-1;for(;++e<r;)t.add(s[e])}else if(null==s)t.add(s);else if("function"==typeof s[symbolIterator])for(const r of s)t.add(r);else if("function"==typeof s[symbolAsyncIterator])e.push(asyncIteratorForEach(s[symbolAsyncIterator](),o));else if("function"==typeof s.chain){const r=s.chain(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.flatMap){const r=s.flatMap(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.reduce){const r=s.reduce(n,null);isPromise(r)&&e.push(r)}else if(s.constructor==Object)for(const r in s)t.add(s[r]);else t.add(s);return 0==e.length?t:promiseAll(e).then((()=>t))},setFlatMap=function(r,e){const t=setMap(r,e);return isPromise(t)?t.then(setFlatten):setFlatten(t)},arrayJoin=(r,e)=>r.join(e),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlattenToString):arrayFlattenToString(t)},_flatMap=function(r,e){if(isArray(r))return arrayFlatMap(r,e);if(null==r)return e(r);if("function"==typeof r.then)return r.then(e);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,e):FlatMappingAsyncIterator(r,e);if("function"==typeof r.chain)return r.chain(e);if("function"==typeof r.flatMap)return r.flatMap(e);const t=r.constructor;return t==Object?objectFlatMap(r,e):t==Set?setFlatMap(r,e):"string"==typeof r||t==String?stringFlatMap(r,e):e(r)},flatMap=(...r)=>{const e=r.pop();if(0==r.length)return curry2(_flatMap,__,e);const t=r[0];return isPromise(t)?t.then(curry2(_flatMap,__,e)):_flatMap(r[0],e)},arrayForEach=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o]);isPromise(t)&&n.push(t)}return 0==n.length?r:promiseAll(n).then(always(r))},objectForEach=function(r,e){const t=[];for(const n in r){const o=e(r[n]);isPromise(o)&&t.push(o)}return 0==t.length?r:promiseAll(t).then(always(r))},iteratorForEach=function(r,e){const t=[];for(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},_forEach=function(r,e){return isArray(r)?arrayForEach(r,e):null==r?r:"function"==typeof r.forEach?r.forEach(e):"function"==typeof r[symbolIterator]?iteratorForEach(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),e):r.constructor==Object?objectForEach(r,e):r},forEach=function(...r){const e=r.pop();if(0==r.length)return curry2(_forEach,__,e);const t=r[0];return isPromise(t)?t.then(curry2(_forEach,__,e)):_forEach(t,e)},SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},asyncArraySome=async function(r,e,t,n){const o=r.length;for(;++t<o;){const o=e(r[t]);if(isPromise(o))n.add(SelfReferencingPromise(o));else if(o)return!0}for(;n.size>0;){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}return!1},arraySome=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n]);if(isPromise(t))return asyncArraySome(r,e,n,new Set([SelfReferencingPromise(t)]));if(t)return!0}return!1},asyncIteratorSome=async function(r,e,t,n=20){let o=r.next();for(isPromise(o)&&(o=await o);!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(s)return!0;o=r.next(),isPromise(o)&&(o=await o)}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},iteratorSome=function(r,e){for(const t of r){const n=e(t);if(isPromise(n))return asyncIteratorSome(r,e,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},reducerAnySync=r=>function(e,t){return!!e||r(t)},reducerSome=r=>function(e,t){return!0===e?e:isPromise(e)?e.then(curry2(reducerAnySync(r),__,t)):!!e||r(t)},_some=function(r,e){return isArray(r)?arraySome(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorSome(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorSome(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerSome(e),!1):r.constructor==Object?arraySome(objectValues(r),e):e(r)},some=function(...r){const e=r.pop();if(0==r.length)return curry2(_some,__,e);const t=r[0];return isPromise(t)?t.then(curry2(_some,__,e)):_some(t,e)},arrayEvery=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o]);if(isPromise(t))n.push(t);else if(!t)return!1}return 0==n.length||promiseAll(n).then(curry3(callPropUnary,__,"every",Boolean))},iteratorEvery=function(r,e){const t=[];for(const n of r){const r=e(n);if(isPromise(r))t.push(r);else if(!r)return!1}return 0==t.length||promiseAll(t).then(curry3(callPropUnary,__,"every",Boolean))},asyncIteratorEvery=async function(r,e,t,n=20){let o=await r.next();for(;!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(!s)return!1;o=await r.next()}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}return!0},reducerAllSync=(r,e,t)=>!!e&&r(t),reducerEvery=r=>function(e,t){return!1!==e&&(isPromise(e)?e.then(curry3(reducerAllSync,r,__,t)):!!e&&r(t))},_every=function(r,e){return isArray(r)?arrayEvery(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorEvery(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorEvery(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerEvery(e),!0):r.constructor==Object?arrayEvery(objectValues(r),e):e(r)},every=function(...r){const e=r.pop();if(0==r.length)return curry2(_every,__,e);const t=r[0];return isPromise(t)?t.then(curry2(_every,__,e)):_every(t,e)},areAllValuesTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkify2(areAllValuesTruthy,r,e),always(!1)));if(!t)return!1}return!0},asyncArePredicatesAllTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),!n)return!1}return!0},areAllPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,thunkify3(asyncArePredicatesAllTruthy,r,e,n),always(!1)));if(!t)return!1}return!0},and=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAllValuesTruthy(e,-1):0==r.length?curryArgs2(areAllPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAllPredicatesTruthy,__,e)):areAllPredicatesTruthy(r,e)},areAnyNonfunctionsTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,r,e)));if(t)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),n)return!0}return!1},areAnyPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,r,e,n)));if(t)return!0}return!1},or=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAnyNonfunctionsTruthy(e,-1):0==r.length?curryArgs2(areAnyPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAnyPredicatesTruthy,__,e)):areAnyPredicatesTruthy(r,e)},negate=r=>!r,_not=function(r,e){const t=e(...r);return isPromise(t)?t.then(negate):!t},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?curryArgs2(_not,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):!e},curryArgs4ResolveArgs0=(r,e,t,n)=>function(...o){return r(o,e,t,n)},curryArgs4ResolveArgs1=(r,e,t,n)=>function(...o){return r(e,o,t,n)},curryArgs4ResolveArgs2=(r,e,t,n)=>function(...o){return r(e,t,o,n)},curryArgs4ResolveArgs3=(r,e,t,n)=>function(...o){return r(e,t,n,o)},curryArgs4=function(r,e,t,n,o){return e==__?curryArgs4ResolveArgs0(r,t,n,o):t==__?curryArgs4ResolveArgs1(r,e,n,o):n==__?curryArgs4ResolveArgs2(r,e,t,o):curryArgs4ResolveArgs3(r,e,t,n)},leftResolverRightResolverCompare=function(r,e,t,n){const o=t(...r),s=n(...r);return isPromise(o)||isPromise(s)?promiseAll([o,s]).then(spread2(e)):e(o,s)},leftResolverRightValueCompare=function(r,e,t,n){const o=t(...r);return isPromise(o)||isPromise(n)?promiseAll([o,n]).then(spread2(e)):e(o,n)},leftValueRightResolverCompare=function(r,e,t,n){const o=n(...r);return isPromise(t)||isPromise(o)?promiseAll([t,o]).then(spread2(e)):e(t,o)},ComparisonOperator=r=>function(...e){const t=e.pop(),n=e.pop(),o="function"==typeof n,s="function"==typeof t;return o&&s?0==e.length?curryArgs4(leftResolverRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightResolverCompare,__,r,n,t)):leftResolverRightResolverCompare(e,r,n,t):o?0==e.length?curryArgs4(leftResolverRightValueCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightValueCompare,__,r,n,t)):leftResolverRightValueCompare(e,r,n,t):s?0==e.length?curryArgs4(leftValueRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftValueRightResolverCompare,__,r,n,t)):leftValueRightResolverCompare(e,r,n,t):isPromise(n)||isPromise(t)?promiseAll([n,t]).then(spread2(r)):r(n,t)},equals=function(r,e){return r==e},eq=ComparisonOperator(equals),greaterThan=(r,e)=>r>e,gt=ComparisonOperator(greaterThan),lessThan=(r,e)=>r<e,lt=ComparisonOperator(lessThan),greaterThanOrEqual=(r,e)=>r>=e,gte=ComparisonOperator(greaterThanOrEqual),lessThanOrEqual=(r,e)=>r<=e,lte=ComparisonOperator(lessThanOrEqual),memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;return s},_get=function(r,e,t){const n=null==r?void 0:getByPath(r,e);return void 0===n?"function"==typeof t?t(r):t:n},get=function(r,e,t){return isPromise(r)?r.then(curry3(_get,__,e,t)):isObject(r)&&!isArray(r)?_get(r,e,t):curry3(_get,__,r,e)},setByPath=function(r,e,t){if(!isObject(r))return r;const n=propertyPathToArray(t),o=n.length,s=o-1,i={...r};let c=i,u=-1;for(;++u<o;){const r=n[u];if(u==s)c[r]=e;else{const e=c[r],t=isArray(e)?e.slice():{...e};c[r]=t,c=t}}return i},_set=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(setByPath,r,__,e)):setByPath(r,n,e)}return isPromise(t)?t.then(curry3(setByPath,r,__,e)):setByPath(r,t,e)},set=function(r,e,t){return null==t?curry3(_set,__,r,e):isPromise(r)?r.then(curry3(_set,__,e,t)):_set(r,e,t)},_pick=function(r,e){if(null==r)return r;const t=e.length;let n={},o=-1;for(;++o<t;){const t=e[o],s=getByPath(r,t);null!=s&&(n=setByPath(n,s,t))}return n},pick=function(r,e){return null==e?curry2(_pick,__,r):isPromise(r)?r.then(curry2(_pick,__,e)):_pick(r,e)},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),n=t.length-1;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;const i=t[o];null!=s&&i in s&&delete s[i]},objectCopyDeep=function(r){const e={};for(const t in r){const n=r[t];isArray(n)?e[t]=arrayCopyDeep(n):null!=n&&n.constructor==Object?e[t]=objectCopyDeep(n):e[t]=n}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let n=-1;for(;++n<e;){const e=r[n];isArray(e)?t[n]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[n]=objectCopyDeep(e):t[n]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},_omit=function(r,e){const t=e.length,n=isArray(o=r)?arrayCopyDeep(o):null==o?o:o.constructor==Object?objectCopyDeep(o):o;var o;let s=-1;for(;++s<t;)deleteByPath(n,e[s]);return n},omit=function(r,e){return null==e?curry2(_omit,__,r):isPromise(r)?r.then(curry2(_omit,__,e)):_omit(r,e)},thunkify=(r,...e)=>function(){return areAnyValuesPromises(e)?promiseAll(e).then(curry2(funcApply,r,__)):r(...e)},curry=(r,...e)=>curryArity(r.length,r,e);curry.arity=function(r,e,...t){return curryArity(r,e,t)};const rubico={pipe:pipe,compose:compose,tap:tap,switchCase:switchCase,tryCatch:tryCatch,all:all,assign:assign,get:get,set:set,pick:pick,omit:omit,map:map,filter:filter,flatMap:flatMap,forEach:forEach,reduce:reduce,transform:transform,and:and,or:or,not:not,some:some,every:every,eq:eq,gt:gt,lt:lt,gte:gte,lte:lte,thunkify:thunkify,always:always,curry:curry,__:__};export{pipe,tap,switchCase,tryCatch,all,assign,get,set,pick,omit,map,filter,reduce,transform,flatMap,and,or,not,some,every,eq,gt,lt,gte,lte,thunkify,always,curry,__};export default rubico;