@daiso-tech/core 0.29.0 → 0.31.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 (246) hide show
  1. package/dist/async/utilities/abort/abort.d.ts +1 -1
  2. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +4 -5
  3. package/dist/async/utilities/lazy-promise/lazy-promise.js +3 -3
  4. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  5. package/dist/async/utilities/retry/retry.d.ts +1 -1
  6. package/dist/async/utilities/timeout/timeout.d.ts +1 -1
  7. package/dist/cache/contracts/cache-factory.contract.js +1 -1
  8. package/dist/cache/contracts/cache-factory.contract.js.map +1 -1
  9. package/dist/cache/contracts/cache.contract.d.ts +3 -3
  10. package/dist/cache/implementations/derivables/cache/cache.d.ts +14 -14
  11. package/dist/cache/implementations/derivables/cache/cache.js +3 -3
  12. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  13. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -1
  14. package/dist/collection/contracts/_module-exports.d.ts +1 -1
  15. package/dist/collection/contracts/_module-exports.js +1 -1
  16. package/dist/collection/contracts/_module-exports.js.map +1 -1
  17. package/dist/collection/contracts/_shared/_module.d.ts +11 -0
  18. package/dist/collection/contracts/_shared/_module.js +12 -0
  19. package/dist/collection/contracts/_shared/_module.js.map +1 -0
  20. package/dist/collection/contracts/_shared/compartor.type.d.ts +9 -0
  21. package/dist/collection/contracts/_shared/compartor.type.js +5 -0
  22. package/dist/collection/contracts/_shared/compartor.type.js.map +1 -0
  23. package/dist/collection/contracts/_shared/cross-join-result.type.d.ts +11 -0
  24. package/dist/collection/contracts/_shared/cross-join-result.type.js +5 -0
  25. package/dist/collection/contracts/_shared/cross-join-result.type.js.map +1 -0
  26. package/dist/collection/contracts/_shared/ensure-map.type.d.ts +8 -0
  27. package/dist/collection/contracts/_shared/ensure-map.type.js +5 -0
  28. package/dist/collection/contracts/_shared/ensure-map.type.js.map +1 -0
  29. package/dist/collection/contracts/_shared/ensure-record.type.d.ts +8 -0
  30. package/dist/collection/contracts/_shared/ensure-record.type.js +5 -0
  31. package/dist/collection/contracts/_shared/ensure-record.type.js.map +1 -0
  32. package/dist/collection/contracts/_shared/foreach.type.d.ts +22 -0
  33. package/dist/collection/contracts/_shared/foreach.type.js +5 -0
  34. package/dist/collection/contracts/_shared/foreach.type.js.map +1 -0
  35. package/dist/collection/contracts/_shared/map.type.d.ts +22 -0
  36. package/dist/collection/contracts/{_shared.js → _shared/map.type.js} +1 -1
  37. package/dist/collection/contracts/_shared/map.type.js.map +1 -0
  38. package/dist/collection/contracts/_shared/modifier.type.d.ts +18 -0
  39. package/dist/collection/contracts/_shared/modifier.type.js +5 -0
  40. package/dist/collection/contracts/_shared/modifier.type.js.map +1 -0
  41. package/dist/collection/contracts/_shared/predicate.type.d.ts +49 -0
  42. package/dist/collection/contracts/_shared/predicate.type.js +5 -0
  43. package/dist/collection/contracts/_shared/predicate.type.js.map +1 -0
  44. package/dist/collection/contracts/_shared/reduce.type.d.ts +24 -0
  45. package/dist/collection/contracts/_shared/reduce.type.js +5 -0
  46. package/dist/collection/contracts/_shared/reduce.type.js.map +1 -0
  47. package/dist/collection/contracts/_shared/tap.type.d.ts +16 -0
  48. package/dist/collection/contracts/_shared/tap.type.js +5 -0
  49. package/dist/collection/contracts/_shared/tap.type.js.map +1 -0
  50. package/dist/collection/contracts/_shared/transform.type.d.ts +16 -0
  51. package/dist/collection/contracts/_shared/transform.type.js +5 -0
  52. package/dist/collection/contracts/_shared/transform.type.js.map +1 -0
  53. package/dist/collection/contracts/async-collection.contract.d.ts +3 -3
  54. package/dist/collection/contracts/collection.contract.d.ts +31 -31
  55. package/dist/collection/contracts/collection.errors.d.ts +1 -1
  56. package/dist/collection/contracts/collection.errors.js +1 -1
  57. package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js +2 -2
  58. package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js.map +1 -1
  59. package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js +2 -1
  60. package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js.map +1 -1
  61. package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.js +2 -1
  62. package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.js.map +1 -1
  63. package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.js +2 -1
  64. package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.js.map +1 -1
  65. package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.js +2 -2
  66. package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.js.map +1 -1
  67. package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.js +2 -2
  68. package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.js.map +1 -1
  69. package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.js +2 -2
  70. package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.js.map +1 -1
  71. package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.js +2 -1
  72. package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.js.map +1 -1
  73. package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js +2 -2
  74. package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js.map +1 -1
  75. package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.js +2 -1
  76. package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.js.map +1 -1
  77. package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.js +6 -1
  78. package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.js.map +1 -1
  79. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.js +2 -1
  80. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.js.map +1 -1
  81. package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.js +2 -1
  82. package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.js.map +1 -1
  83. package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.js +2 -1
  84. package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.js.map +1 -1
  85. package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js +3 -2
  86. package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js.map +1 -1
  87. package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.js +2 -1
  88. package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.js.map +1 -1
  89. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +3 -3
  90. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +25 -24
  91. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  92. package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.d.ts +2 -2
  93. package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js +2 -1
  94. package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js.map +1 -1
  95. package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.js +2 -1
  96. package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.js.map +1 -1
  97. package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.d.ts +2 -2
  98. package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.js +2 -1
  99. package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.js.map +1 -1
  100. package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.js +2 -1
  101. package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.js.map +1 -1
  102. package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.js +2 -1
  103. package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.js.map +1 -1
  104. package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.d.ts +2 -2
  105. package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.js +3 -1
  106. package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.js.map +1 -1
  107. package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.d.ts +2 -2
  108. package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.js +3 -1
  109. package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.js.map +1 -1
  110. package/dist/collection/implementations/iterable-collection/_shared/map-iterable.js +2 -1
  111. package/dist/collection/implementations/iterable-collection/_shared/map-iterable.js.map +1 -1
  112. package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.d.ts +2 -2
  113. package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js +2 -1
  114. package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js.map +1 -1
  115. package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.d.ts +2 -2
  116. package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.js +2 -1
  117. package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.js.map +1 -1
  118. package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.js +6 -1
  119. package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.js.map +1 -1
  120. package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.d.ts +2 -2
  121. package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.js +2 -1
  122. package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.js.map +1 -1
  123. package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.js +2 -1
  124. package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.js.map +1 -1
  125. package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.js +2 -1
  126. package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.js.map +1 -1
  127. package/dist/collection/implementations/iterable-collection/_shared/update-iterable.d.ts +2 -2
  128. package/dist/collection/implementations/iterable-collection/_shared/update-iterable.js +3 -2
  129. package/dist/collection/implementations/iterable-collection/_shared/update-iterable.js.map +1 -1
  130. package/dist/collection/implementations/iterable-collection/_shared/when-iterable.js +2 -1
  131. package/dist/collection/implementations/iterable-collection/_shared/when-iterable.js.map +1 -1
  132. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +31 -31
  133. package/dist/collection/implementations/iterable-collection/iterable-collection.js +23 -22
  134. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  135. package/dist/collection/implementations/list-collection/list-collection.d.ts +31 -31
  136. package/dist/collection/implementations/list-collection/list-collection.js +44 -38
  137. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  138. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +10 -4
  139. package/dist/event-bus/contracts/event-bus.contract.d.ts +22 -9
  140. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +3 -4
  141. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +0 -1
  142. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  143. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +3 -4
  144. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  145. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -4
  146. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +0 -1
  147. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  148. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +11 -11
  149. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +2 -2
  150. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  151. package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +4 -4
  152. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +1 -1
  153. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -1
  154. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  155. package/dist/lock/contracts/lock-provider-factory.contract.js +1 -1
  156. package/dist/lock/contracts/lock-provider-factory.contract.js.map +1 -1
  157. package/dist/lock/contracts/lock.contract.d.ts +5 -5
  158. package/dist/lock/contracts/lock.events.d.ts +1 -1
  159. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +12 -12
  160. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +3 -3
  161. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  162. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +1 -1
  163. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +14 -14
  164. package/dist/lock/implementations/derivables/lock-provider/lock.js +5 -17
  165. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  166. package/dist/utilities/_module-exports.d.ts +2 -2
  167. package/dist/utilities/_module-exports.js +2 -2
  168. package/dist/utilities/_module-exports.js.map +1 -1
  169. package/dist/utilities/classes/_module.d.ts +0 -1
  170. package/dist/utilities/classes/_module.js +0 -1
  171. package/dist/utilities/classes/_module.js.map +1 -1
  172. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +1 -1
  173. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +1 -1
  174. package/dist/utilities/classes/key-prefixer/key-prefixer.js +1 -1
  175. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
  176. package/dist/utilities/functions/_module-exports.d.ts +7 -0
  177. package/dist/utilities/functions/_module-exports.js +8 -0
  178. package/dist/utilities/functions/_module-exports.js.map +1 -0
  179. package/dist/utilities/functions/factory.d.ts +44 -0
  180. package/dist/utilities/functions/factory.js +80 -0
  181. package/dist/utilities/functions/factory.js.map +1 -0
  182. package/dist/utilities/functions/get-constructor-name.d.ts +7 -0
  183. package/dist/utilities/functions/get-constructor-name.js +10 -0
  184. package/dist/utilities/functions/get-constructor-name.js.map +1 -0
  185. package/dist/utilities/functions/invokable.d.ts +20 -0
  186. package/dist/utilities/functions/invokable.js +33 -0
  187. package/dist/utilities/functions/invokable.js.map +1 -0
  188. package/dist/utilities/functions/is-nullable.d.ts +7 -0
  189. package/dist/utilities/functions/is-nullable.js +10 -0
  190. package/dist/utilities/functions/is-nullable.js.map +1 -0
  191. package/dist/utilities/functions/lazy.d.ts +20 -0
  192. package/dist/utilities/functions/lazy.js +39 -0
  193. package/dist/utilities/functions/lazy.js.map +1 -0
  194. package/dist/utilities/functions/object.d.ts +15 -0
  195. package/dist/utilities/functions/object.js +33 -0
  196. package/dist/utilities/functions/object.js.map +1 -0
  197. package/dist/utilities/functions/resolve-one-or-more.d.ts +12 -0
  198. package/dist/utilities/functions/resolve-one-or-more.js +25 -0
  199. package/dist/utilities/functions/resolve-one-or-more.js.map +1 -0
  200. package/dist/utilities/types/_module.d.ts +10 -0
  201. package/dist/utilities/types/_module.js +11 -0
  202. package/dist/utilities/types/_module.js.map +1 -0
  203. package/dist/utilities/types/async-iterable-value.type.d.ts +8 -0
  204. package/dist/utilities/types/async-iterable-value.type.js +5 -0
  205. package/dist/utilities/types/async-iterable-value.type.js.map +1 -0
  206. package/dist/utilities/types/at-least-one.type.d.ts +8 -0
  207. package/dist/utilities/types/at-least-one.type.js +5 -0
  208. package/dist/utilities/types/at-least-one.type.js.map +1 -0
  209. package/dist/utilities/types/factory.type.d.ts +49 -0
  210. package/dist/utilities/types/factory.type.js +5 -0
  211. package/dist/utilities/types/factory.type.js.map +1 -0
  212. package/dist/utilities/types/invokable.type.d.ts +20 -0
  213. package/dist/utilities/types/invokable.type.js +5 -0
  214. package/dist/utilities/types/invokable.type.js.map +1 -0
  215. package/dist/utilities/types/items.type.d.ts +8 -0
  216. package/dist/utilities/types/items.type.js +5 -0
  217. package/dist/utilities/types/items.type.js.map +1 -0
  218. package/dist/utilities/types/lazy.type.d.ts +31 -0
  219. package/dist/utilities/{types.js → types/lazy.type.js} +1 -1
  220. package/dist/utilities/types/lazy.type.js.map +1 -0
  221. package/dist/utilities/types/none-func.type.d.ts +8 -0
  222. package/dist/utilities/types/none-func.type.js +5 -0
  223. package/dist/utilities/types/none-func.type.js.map +1 -0
  224. package/dist/utilities/types/one-or-more.type.d.ts +8 -0
  225. package/dist/utilities/types/one-or-more.type.js +5 -0
  226. package/dist/utilities/types/one-or-more.type.js.map +1 -0
  227. package/dist/utilities/types/promiseable.type.d.ts +8 -0
  228. package/dist/utilities/types/promiseable.type.js +5 -0
  229. package/dist/utilities/types/promiseable.type.js.map +1 -0
  230. package/dist/utilities/types/result.type.d.ts +8 -0
  231. package/dist/utilities/types/result.type.js +5 -0
  232. package/dist/utilities/types/result.type.js.map +1 -0
  233. package/package.json +1 -1
  234. package/dist/collection/contracts/_shared.d.ts +0 -141
  235. package/dist/collection/contracts/_shared.js.map +0 -1
  236. package/dist/utilities/classes/pipeline/_module.d.ts +0 -1
  237. package/dist/utilities/classes/pipeline/_module.js +0 -2
  238. package/dist/utilities/classes/pipeline/_module.js.map +0 -1
  239. package/dist/utilities/classes/pipeline/pipeline.d.ts +0 -46
  240. package/dist/utilities/classes/pipeline/pipeline.js +0 -76
  241. package/dist/utilities/classes/pipeline/pipeline.js.map +0 -1
  242. package/dist/utilities/functions.d.ts +0 -57
  243. package/dist/utilities/functions.js +0 -123
  244. package/dist/utilities/functions.js.map +0 -1
  245. package/dist/utilities/types.d.ts +0 -104
  246. package/dist/utilities/types.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
- import {} from "../../../../utilities/_module-exports.js";
5
+ import { resolveInvokable, } from "../../../../utilities/_module-exports.js";
6
6
  /**
7
7
  * @internal
8
8
  */
@@ -20,7 +20,7 @@ export class AsyncInsertAfterIterable {
20
20
  for await (const item of this.collection) {
21
21
  yield item;
22
22
  if (!hasMatched &&
23
- (await this.predicateFn(item, index, this.collection))) {
23
+ (await resolveInvokable(this.predicateFn)(item, index, this.collection))) {
24
24
  yield* this.iterable;
25
25
  hasMatched = true;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-insert-after-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAA2B,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAIrB;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,WAA6D,EAC7D,QAAgD;QAFhD,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,aAAQ,GAAR,QAAQ,CAAwC;IACzD,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC;YACX,IACI,CAAC,UAAU;gBACX,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EACxD,CAAC;gBACC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrB,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-insert-after-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,gBAAgB,GAEnB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAIrB;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,WAA6D,EAC7D,QAAgD;QAFhD,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,aAAQ,GAAR,QAAQ,CAAwC;IACzD,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC;YACX,IACI,CAAC,UAAU;gBACX,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CACrC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,CAAC,EACJ,CAAC;gBACC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrB,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
@@ -2,7 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
- import {} from "../../../../utilities/_module-exports.js";
5
+ import { resolveInvokable, } from "../../../../utilities/_module-exports.js";
6
6
  /**
7
7
  * @internal
8
8
  */
@@ -19,7 +19,7 @@ export class AsyncInsertBeforeIterable {
19
19
  let hasMatched = false, index = 0;
20
20
  for await (const item of this.collection) {
21
21
  if (!hasMatched &&
22
- (await this.predicateFn(item, index, this.collection))) {
22
+ (await resolveInvokable(this.predicateFn)(item, index, this.collection))) {
23
23
  yield* this.iterable;
24
24
  hasMatched = true;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-insert-before-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAA2B,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAItB;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,WAA6D,EAC7D,QAAgD;QAFhD,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,aAAQ,GAAR,QAAQ,CAAwC;IACzD,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IACI,CAAC,UAAU;gBACX,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EACxD,CAAC;gBACC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrB,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,MAAM,IAAI,CAAC;YACX,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-insert-before-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,gBAAgB,GAEnB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAItB;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,WAA6D,EAC7D,QAAgD;QAFhD,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,aAAQ,GAAR,QAAQ,CAAwC;IACzD,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IACI,CAAC,UAAU;gBACX,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CACrC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,CAAC,EACJ,CAAC;gBACC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrB,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,MAAM,IAAI,CAAC;YACX,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -14,7 +15,7 @@ export class AsyncMapIterable {
14
15
  }
15
16
  async *[Symbol.asyncIterator]() {
16
17
  for await (const [index, item] of this.collection.entries()) {
17
- yield this.mapFn(item, index, this.collection);
18
+ yield resolveInvokable(this.mapFn)(item, index, this.collection);
18
19
  }
19
20
  }
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-map-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-map-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAIb;IACA;IAFZ,YACY,UAAoC,EACpC,KAA0D;QAD1D,eAAU,GAAV,UAAU,CAA0B;QACpC,UAAK,GAAL,KAAK,CAAqD;IACnE,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-map-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-map-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAIb;IACA;IAFZ,YACY,UAAoC,EACpC,KAA0D;QAD1D,eAAU,GAAV,UAAU,CAA0B;QACpC,UAAK,GAAL,KAAK,CAAqD;IACnE,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;CACJ"}
@@ -2,7 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
- import {} from "../../../../utilities/_module-exports.js";
5
+ import { resolveInvokable, } from "../../../../utilities/_module-exports.js";
6
6
  /**
7
7
  * @internal
8
8
  */
@@ -19,7 +19,7 @@ export class AsyncPartionIterable {
19
19
  const arrayA = [];
20
20
  const arrayB = [];
21
21
  for await (const [index, item] of this.collection.entries()) {
22
- if (await this.predicateFn(item, index, this.collection)) {
22
+ if (await resolveInvokable(this.predicateFn)(item, index, this.collection)) {
23
23
  arrayA.push(item);
24
24
  }
25
25
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"async-partion-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAA2B,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAIjB;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,WAA6D,EAC7D,cAEqB;QAJrB,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,mBAAc,GAAd,cAAc,CAEO;IAC9B,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACJ"}
1
+ {"version":3,"file":"async-partion-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,gBAAgB,GAEnB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAIjB;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,WAA6D,EAC7D,cAEqB;QAJrB,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;QAC7D,mBAAc,GAAd,cAAc,CAEO;IAC9B,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IACI,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CACpC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,EACH,CAAC;gBACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -16,7 +17,7 @@ export class AsyncSkipUntilIterable {
16
17
  let hasMatched = false, index = 0;
17
18
  for await (const item of this.collection) {
18
19
  if (!hasMatched) {
19
- hasMatched = await this.predicateFn(item, index, this.collection);
20
+ hasMatched = await resolveInvokable(this.predicateFn)(item, index, this.collection);
20
21
  }
21
22
  if (hasMatched) {
22
23
  yield item;
@@ -1 +1 @@
1
- {"version":3,"file":"async-skip-until-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAEnB;IACA;IAFZ,YACY,UAAoC,EACpC,WAA6D;QAD7D,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;IACtE,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAC/B,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,CAAC;YACN,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC;YACf,CAAC;YACD,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-skip-until-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAEnB;IACA;IAFZ,YACY,UAAoC,EACpC,WAA6D;QAD7D,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;IACtE,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CACjD,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,CAAC;YACN,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC;YACf,CAAC;YACD,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -13,7 +14,11 @@ export class AsyncSortIterable {
13
14
  this.comparator = comparator;
14
15
  }
15
16
  async *[Symbol.asyncIterator]() {
16
- yield* [...(await this.collection.toArray())].sort(this.comparator);
17
+ if (this.comparator === undefined) {
18
+ yield* [...(await this.collection.toArray())].sort();
19
+ return;
20
+ }
21
+ yield* [...(await this.collection.toArray())].sort(resolveInvokable(this.comparator));
17
22
  }
18
23
  }
19
24
  //# sourceMappingURL=async-sort-iterable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-sort-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAEd;IACA;IAFZ,YACY,UAAoC,EACpC,UAA+B;QAD/B,eAAU,GAAV,UAAU,CAA0B;QACpC,eAAU,GAAV,UAAU,CAAqB;IACxC,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;CACJ"}
1
+ {"version":3,"file":"async-sort-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAEd;IACA;IAFZ,YACY,UAAoC,EACpC,UAA+B;QAD/B,eAAU,GAAV,UAAU,CAA0B;QACpC,eAAU,GAAV,UAAU,CAAqB;IACxC,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO;QACX,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAC9C,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CACpC,CAAC;IACN,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -14,7 +15,7 @@ export class AsyncTakeUntilIterable {
14
15
  }
15
16
  async *[Symbol.asyncIterator]() {
16
17
  for await (const [index, item] of this.collection.entries()) {
17
- if (await this.predicateFn(item, index, this.collection)) {
18
+ if (await resolveInvokable(this.predicateFn)(item, index, this.collection)) {
18
19
  break;
19
20
  }
20
21
  yield item;
@@ -1 +1 @@
1
- {"version":3,"file":"async-take-until-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAEnB;IACA;IAFZ,YACY,UAAoC,EACpC,WAA6D;QAD7D,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;IACtE,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,MAAM;YACV,CAAC;YACD,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-take-until-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAEnB;IACA;IAFZ,YACY,UAAoC,EACpC,WAA6D;QAD7D,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAkD;IACtE,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IACI,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CACpC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,EACH,CAAC;gBACC,MAAM;YACV,CAAC;YACD,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -13,7 +14,7 @@ export class AsyncTapIterable {
13
14
  this.callback = callback;
14
15
  }
15
16
  async *[Symbol.asyncIterator]() {
16
- await this.callback(this.collection);
17
+ await resolveInvokable(this.callback)(this.collection);
17
18
  yield* this.collection;
18
19
  }
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-tap-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAEb;IACA;IAFZ,YACY,UAAoC,EACpC,QAA4C;QAD5C,eAAU,GAAV,UAAU,CAA0B;QACpC,aAAQ,GAAR,QAAQ,CAAoC;IACrD,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ"}
1
+ {"version":3,"file":"async-tap-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAEb;IACA;IAFZ,YACY,UAAoC,EACpC,QAA4C;QAD5C,eAAU,GAAV,UAAU,CAA0B;QACpC,aAAQ,GAAR,QAAQ,CAAoC;IACrD,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -15,7 +16,7 @@ export class AsyncUniqueIterable {
15
16
  async *[Symbol.asyncIterator]() {
16
17
  const set = new Set([]);
17
18
  for await (const [index, item] of this.collection.entries()) {
18
- const item_ = await this.callback(item, index, this.collection);
19
+ const item_ = await resolveInvokable(this.callback)(item, index, this.collection);
19
20
  if (!set.has(item_)) {
20
21
  yield item;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-unique-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAIhB;IACA;IAFZ,YACY,UAAoC,EACpC,WAIJ,CAAC,IAAI,EAAE,EAAE,CAAC,IAA0B;QALhC,eAAU,GAAV,UAAU,CAA0B;QACpC,aAAQ,GAAR,QAAQ,CAIwB;IACzC,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAU,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC;YACf,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-unique-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAIhB;IACA;IAFZ,YACY,UAAoC,EACpC,WAIJ,CAAC,IAAI,EAAE,EAAE,CAAC,IAA0B;QALhC,eAAU,GAAV,UAAU,CAA0B;QACpC,aAAQ,GAAR,QAAQ,CAIwB;IACzC,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAU,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC/C,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC;YACf,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -16,8 +17,8 @@ export class AsyncChangeIterable {
16
17
  }
17
18
  async *[Symbol.asyncIterator]() {
18
19
  for await (const [index, item] of this.collection.entries()) {
19
- if (await this.predicateFn(item, index, this.collection)) {
20
- yield this.mapFn(item, index, this.collection);
20
+ if (await resolveInvokable(this.predicateFn)(item, index, this.collection)) {
21
+ yield resolveInvokable(this.mapFn)(item, index, this.collection);
21
22
  }
22
23
  else {
23
24
  yield item;
@@ -1 +1 @@
1
- {"version":3,"file":"async-update-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-update-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAOhB;IACA;IAKA;IAPZ,YACY,UAAoC,EACpC,WAIP,EACO,KAIP;QAVO,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAIlB;QACO,UAAK,GAAL,KAAK,CAIZ;IACF,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAGzB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"async-update-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-update-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAOhB;IACA;IAKA;IAPZ,YACY,UAAoC,EACpC,WAIP,EACO,KAIP;QAVO,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAIlB;QACO,UAAK,GAAL,KAAK,CAIZ;IACF,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAGzB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IACI,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CACpC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,EACH,CAAC;gBACC,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC9B,IAAqB,EACrB,KAAK,EACL,IAAI,CAAC,UAAU,CAClB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import {} from "../../../../collection/contracts/_module-exports.js";
5
+ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -16,7 +17,7 @@ export class AsyncWhenIterable {
16
17
  }
17
18
  async *[Symbol.asyncIterator]() {
18
19
  if (await this.condition()) {
19
- yield* await this.callback(this.collection);
20
+ yield* await resolveInvokable(this.callback)(this.collection);
20
21
  return;
21
22
  }
22
23
  yield* this.collection;
@@ -1 +1 @@
1
- {"version":3,"file":"async-when-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-when-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAId;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,SAA+C,EAC/C,QAGP;QALO,eAAU,GAAV,UAAU,CAA0B;QACpC,cAAS,GAAT,SAAS,CAAsC;QAC/C,aAAQ,GAAR,QAAQ,CAGf;IACF,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO;QACX,CAAC;QACD,KAAK,CAAC,CAAC,IAAI,CAAC,UAAkD,CAAC;IACnE,CAAC;CACJ"}
1
+ {"version":3,"file":"async-when-iterable.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/async-iterable-collection/_shared/async-when-iterable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAId;IACA;IACA;IAHZ,YACY,UAAoC,EACpC,SAA+C,EAC/C,QAGP;QALO,eAAU,GAAV,UAAU,CAA0B;QACpC,cAAS,GAAT,SAAS,CAAsC;QAC/C,aAAQ,GAAR,QAAQ,CAGf;IACF,CAAC;IAEJ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,KAAK,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QACD,KAAK,CAAC,CAAC,IAAI,CAAC,UAAkD,CAAC;IACnE,CAAC;CACJ"}
@@ -206,9 +206,9 @@ export declare class AsyncIterableCollection<TInput = unknown> implements IAsync
206
206
  filter<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): IAsyncCollection<TOutput>;
207
207
  reject<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): IAsyncCollection<Exclude<TInput, TOutput>>;
208
208
  map<TOutput>(mapFn: AsyncMap<TInput, IAsyncCollection<TInput>, TOutput>): IAsyncCollection<TOutput>;
209
- reduce(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>): LazyPromise<TInput>;
210
- reduce(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>, initialValue: TInput): LazyPromise<TInput>;
211
- reduce<TOutput>(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TOutput>, initialValue: TOutput): LazyPromise<TOutput>;
209
+ reduce(reduce: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>): LazyPromise<TInput>;
210
+ reduce(reduce: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>, initialValue: TInput): LazyPromise<TInput>;
211
+ reduce<TOutput>(reduce: AsyncReduce<TInput, IAsyncCollection<TInput>, TOutput>, initialValue: TOutput): LazyPromise<TOutput>;
212
212
  join(separator?: string): LazyPromise<Extract<TInput, string>>;
213
213
  collapse(): IAsyncCollection<AsyncCollapse<TInput>>;
214
214
  flatMap<TOutput>(mapFn: AsyncMap<TInput, IAsyncCollection<TInput>, Iterable<TOutput>>): IAsyncCollection<TOutput>;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { ItemNotFoundCollectionError, MultipleItemsFoundCollectionError, UnexpectedCollectionError, TypeCollectionError, EmptyCollectionError, } from "../../../collection/contracts/_module-exports.js";
5
5
  import { AsyncCrossJoinIterable, AsyncSlidingIteralbe, AsyncShuffleIterable, AsyncEntriesIterable, AsyncFilterIterable, AsyncChunkIterable, AsyncChunkWhileIterable, AsyncCollapseIterable, AsyncCountByIterable, AsyncFlatMapIterable, AsyncGroupByIterable, AsyncInsertAfterIterable, AsyncInsertBeforeIterable, AsyncMapIterable, AsyncMergeIterable, AsyncPadEndIterable, AsyncPadStartIterable, AsyncPartionIterable, AsyncSkipIterable, AsyncSkipUntilIterable, AsyncSortIterable, AsyncSplitIterable, AsyncTakeIterable, AsyncTakeUntilIterable, AsyncTapIterable, AsyncUniqueIterable, AsyncChangeIterable, AsyncWhenIterable, AsyncZipIterable, AsyncReverseIterable, AsyncSliceIterable, AsyncRepeatIterable, AsyncTakeUntilAbortIterable, AsyncDelayIterable, AsyncTakeUntilTimeoutIterable, } from "../../../collection/implementations/async-iterable-collection/_shared/_module.js";
6
- import {} from "../../../utilities/_module-exports.js";
6
+ import { isInvokable, resolveInvokable, } from "../../../utilities/_module-exports.js";
7
7
  import { resolveAsyncLazyable } from "../../../utilities/_module-exports.js";
8
8
  import { LazyPromise } from "../../../async/_module-exports.js";
9
9
  /**
@@ -239,20 +239,20 @@ export class AsyncIterableCollection {
239
239
  return new AsyncIterableCollection(new AsyncFilterIterable(this, predicateFn));
240
240
  }
241
241
  reject(predicateFn) {
242
- return this.filter(async (...arguments_) => !(await predicateFn(...arguments_)));
242
+ return this.filter(async (...arguments_) => !(await resolveInvokable(predicateFn)(...arguments_)));
243
243
  }
244
244
  map(mapFn) {
245
245
  return new AsyncIterableCollection(new AsyncMapIterable(this, mapFn));
246
246
  }
247
- reduce(reduceFn, initialValue) {
247
+ reduce(reduce, initialValue) {
248
248
  return this.createLazyPromise(async () => {
249
249
  if (initialValue === undefined && (await this.isEmpty())) {
250
- throw new TypeCollectionError("Reduce of empty array must be inputed a initial value");
250
+ throw new TypeCollectionError("AsyncReduce of empty array must be inputed a initial value");
251
251
  }
252
252
  if (initialValue !== undefined) {
253
253
  let output = initialValue;
254
254
  for await (const [index, item] of this.entries()) {
255
- output = await reduceFn(output, item, index, this);
255
+ output = await resolveInvokable(reduce)(output, item, index, this);
256
256
  }
257
257
  return output;
258
258
  }
@@ -260,7 +260,7 @@ export class AsyncIterableCollection {
260
260
  let output = (await this.firstOrFail()), index = 0, isFirstIteration = true;
261
261
  for await (const item of this) {
262
262
  if (!isFirstIteration) {
263
- output = await reduceFn(output, item, index, this);
263
+ output = await resolveInvokable(reduce)(output, item, index, this);
264
264
  }
265
265
  isFirstIteration = false;
266
266
  index++;
@@ -299,7 +299,7 @@ export class AsyncIterableCollection {
299
299
  return this;
300
300
  }
301
301
  let fn;
302
- if (typeof value === "function") {
302
+ if (isInvokable(value)) {
303
303
  fn = value;
304
304
  }
305
305
  else {
@@ -436,7 +436,7 @@ export class AsyncIterableCollection {
436
436
  }
437
437
  let part = 0, total = 0;
438
438
  for await (const item of this) {
439
- if (await predicateFn(item, total, this)) {
439
+ if (await resolveInvokable(predicateFn)(item, total, this)) {
440
440
  part++;
441
441
  }
442
442
  total++;
@@ -447,7 +447,7 @@ export class AsyncIterableCollection {
447
447
  some(predicateFn) {
448
448
  return this.createLazyPromise(async () => {
449
449
  for await (const [index, item] of this.entries()) {
450
- if (await predicateFn(item, index, this)) {
450
+ if (await resolveInvokable(predicateFn)(item, index, this)) {
451
451
  return true;
452
452
  }
453
453
  }
@@ -458,7 +458,7 @@ export class AsyncIterableCollection {
458
458
  return this.createLazyPromise(async () => {
459
459
  let isTrue = true;
460
460
  for await (const [index, item] of this.entries()) {
461
- isTrue &&= await predicateFn(item, index, this);
461
+ isTrue &&= await resolveInvokable(predicateFn)(item, index, this);
462
462
  if (!isTrue) {
463
463
  break;
464
464
  }
@@ -473,7 +473,7 @@ export class AsyncIterableCollection {
473
473
  return new AsyncIterableCollection(new AsyncTakeUntilIterable(this, predicateFn));
474
474
  }
475
475
  takeWhile(predicateFn) {
476
- return this.takeUntil(async (...arguments_) => !(await predicateFn(...arguments_)));
476
+ return this.takeUntil(async (...arguments_) => !(await resolveInvokable(predicateFn)(...arguments_)));
477
477
  }
478
478
  skip(offset) {
479
479
  return new AsyncIterableCollection(new AsyncSkipIterable(this, offset));
@@ -482,7 +482,7 @@ export class AsyncIterableCollection {
482
482
  return new AsyncIterableCollection(new AsyncSkipUntilIterable(this, predicateFn));
483
483
  }
484
484
  skipWhile(predicateFn) {
485
- return this.skipUntil(async (...arguments_) => !(await predicateFn(...arguments_)));
485
+ return this.skipUntil(async (...arguments_) => !(await resolveInvokable(predicateFn)(...arguments_)));
486
486
  }
487
487
  when(condition, callback) {
488
488
  return new AsyncIterableCollection(new AsyncWhenIterable(this, () => condition, callback));
@@ -498,7 +498,7 @@ export class AsyncIterableCollection {
498
498
  }
499
499
  pipe(callback) {
500
500
  return this.createLazyPromise(async () => {
501
- return await callback(this);
501
+ return resolveInvokable(callback)(this);
502
502
  });
503
503
  }
504
504
  tap(callback) {
@@ -532,8 +532,8 @@ export class AsyncIterableCollection {
532
532
  const differenceCollection = new AsyncIterableCollection(iterable);
533
533
  return this.filter(async (item, index, collection) => {
534
534
  return !(await differenceCollection.some(async (matchItem, matchIndex, matchCollection) => {
535
- return ((await selectFn(item, index, collection)) ===
536
- (await selectFn(matchItem, matchIndex, matchCollection)));
535
+ return ((await resolveInvokable(selectFn)(item, index, collection)) ===
536
+ (await resolveInvokable(selectFn)(matchItem, matchIndex, matchCollection)));
537
537
  }));
538
538
  });
539
539
  }
@@ -582,7 +582,7 @@ export class AsyncIterableCollection {
582
582
  firstOr(defaultValue, predicateFn = () => true) {
583
583
  return this.createLazyPromise(async () => {
584
584
  for await (const [index, item] of this.entries()) {
585
- if (await predicateFn(item, index, this)) {
585
+ if (await resolveInvokable(predicateFn)(item, index, this)) {
586
586
  return item;
587
587
  }
588
588
  }
@@ -605,7 +605,7 @@ export class AsyncIterableCollection {
605
605
  return this.createLazyPromise(async () => {
606
606
  let matchedItem = null;
607
607
  for await (const [index, item] of this.entries()) {
608
- if (await predicateFn(item, index, this)) {
608
+ if (await resolveInvokable(predicateFn)(item, index, this)) {
609
609
  matchedItem = item;
610
610
  }
611
611
  }
@@ -631,7 +631,8 @@ export class AsyncIterableCollection {
631
631
  return this.createLazyPromise(async () => {
632
632
  let beforeItem = null, index = 0;
633
633
  for await (const item of this) {
634
- if ((await predicateFn(item, index, this)) && beforeItem) {
634
+ if ((await resolveInvokable(predicateFn)(item, index, this)) &&
635
+ beforeItem) {
635
636
  return beforeItem;
636
637
  }
637
638
  index++;
@@ -659,7 +660,7 @@ export class AsyncIterableCollection {
659
660
  if (hasMatched) {
660
661
  return item;
661
662
  }
662
- hasMatched = await predicateFn(item, index, this);
663
+ hasMatched = await resolveInvokable(predicateFn)(item, index, this);
663
664
  index++;
664
665
  }
665
666
  return await resolveAsyncLazyable(defaultValue);
@@ -678,7 +679,7 @@ export class AsyncIterableCollection {
678
679
  return this.createLazyPromise(async () => {
679
680
  let matchedItem = null;
680
681
  for await (const [index, item] of this.entries()) {
681
- if (await predicateFn(item, index, this)) {
682
+ if (await resolveInvokable(predicateFn)(item, index, this)) {
682
683
  if (matchedItem !== null) {
683
684
  throw new MultipleItemsFoundCollectionError("Multiple items were found");
684
685
  }
@@ -707,7 +708,7 @@ export class AsyncIterableCollection {
707
708
  return this.createLazyPromise(async () => {
708
709
  let size = 0;
709
710
  for await (const item of this) {
710
- if (await predicateFn(item, size, this)) {
711
+ if (await resolveInvokable(predicateFn)(item, size, this)) {
711
712
  size++;
712
713
  }
713
714
  }
@@ -733,7 +734,7 @@ export class AsyncIterableCollection {
733
734
  searchFirst(predicateFn) {
734
735
  return this.createLazyPromise(async () => {
735
736
  for await (const [index, item] of this.entries()) {
736
- if (await predicateFn(item, index, this)) {
737
+ if (await resolveInvokable(predicateFn)(item, index, this)) {
737
738
  return index;
738
739
  }
739
740
  }
@@ -744,7 +745,7 @@ export class AsyncIterableCollection {
744
745
  return this.createLazyPromise(async () => {
745
746
  let matchedIndex = -1;
746
747
  for await (const [index, item] of this.entries()) {
747
- if (await predicateFn(item, index, this)) {
748
+ if (await resolveInvokable(predicateFn)(item, index, this)) {
748
749
  matchedIndex = index;
749
750
  }
750
751
  }
@@ -754,7 +755,7 @@ export class AsyncIterableCollection {
754
755
  forEach(callback) {
755
756
  return this.createLazyPromise(async () => {
756
757
  for await (const [index, item] of this.entries()) {
757
- await callback(item, index, this);
758
+ await resolveInvokable(callback)(item, index, this);
758
759
  }
759
760
  });
760
761
  }
@@ -1 +1 @@
1
- {"version":3,"file":"async-iterable-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/async-iterable-collection/async-iterable-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-iterable-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/async-iterable-collection/async-iterable-collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAUH,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,mBAAmB,EAEnB,oBAAoB,GAEvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,GAChC,MAAM,2EAA2E,CAAC;AACnF,OAAO,EACH,WAAW,EACX,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAOtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AASzD;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAuNX;IApNrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,MAAM,CACT,SAAyD;QAEzD,OAAO,IAAI,uBAAuB,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CAAC,UAAU,CACb,SAAqC,EACrC,SAAqC,EACrC,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,UAAU,CACpD,SAAS,EACT,QAAQ,CACX,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,GAAG,CACN,SAAsC,EACtC,SAAsC;QAEtC,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAEjC,MAAM,CAAC,kBAAkB,GAAgB,CAAC,KAAK,EAAE,EAAE;QACvD,OAAO,CAAC,CACJ,KAAK,YAAY,2BAA2B;YAC5C,KAAK,YAAY,iCAAiC;YAClD,KAAK,YAAY,mBAAmB;YACpC,KAAK,YAAY,oBAAoB,CACxC,CAAC;IACN,CAAC,CAAC;IAEM,MAAM,CAAC,cAAc,GAAG,CAC5B,QAAoC,EACZ,EAAE;QAC1B,OAAO,IAAI,uBAAuB,CAAS,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC;IAEe,aAAa,CAAgB;IAC7B,aAAa,CAAuB;IACpC,WAAW,CAAqB;IAChC,YAAY,CAAkB;IAC9B,YAAY,CAAkB;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgEG;IACH,YACqB,WAAuC,EAAE,EAC1D,WAA4C,EAAE;QAD7B,aAAQ,GAAR,QAAQ,CAAiC;QAG1D,MAAM,EACF,aAAa,GAAG,IAAI,EACpB,WAAW,GAAG,uBAAuB,CAAC,kBAAkB,EACxD,aAAa,GAAG,IAAI,EACpB,YAAY,GAAG,IAAI,EACnB,YAAY,GAAG,IAAI,GACtB,GAAG,QAAQ,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAEO,iBAAiB,CACrB,OAAkC;QAElC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;YAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAiC,CAAC;IACvE,CAAC;IAED,OAAO;QACH,OAAO,IAAI,uBAAuB,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CACF,WAAsE;QAEtE,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,MAAM,CACF,WAAsE;QAEtE,OAAO,IAAI,CAAC,MAAM,CACd,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,CACpB,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAC5D,CAAC;IACN,CAAC;IAED,GAAG,CACC,KAA0D;QAE1D,OAAO,IAAI,uBAAuB,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAcD,MAAM,CACF,MAA8D,EAC9D,YAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,mBAAmB,CACzB,4DAA4D,CAC/D,CAAC;YACN,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,MAAM,GAAG,YAAuB,CAAC;gBAErC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/C,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CACnC,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,CACP,CAAC;gBACN,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,uGAAuG;YACvG,IAAI,MAAM,GAAY,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAQ,EACnD,KAAK,GAAG,CAAC,EACT,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CACnC,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,CACP,CAAC;gBACN,CAAC;gBACD,gBAAgB,GAAG,KAAK,CAAC;gBACzB,KAAK,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,SAAS,GAAG,GAAG;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,GAAG,GAAkB,IAAI,CAAC;YAC9B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACf,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACJ,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;gBACjC,CAAC;YACL,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,uBAAuB,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CACH,KAAoE;QAEpE,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CACxC,CAAC;IACN,CAAC;IAED,MAAM,CACF,WAIC,EACD,KAAoE;QAEpE,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CACpD,CAAC;IACN,CAAC;IAED,GAAG,CACC,KAAa,EACb,KAAkE;QAElE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,EAAsD,CAAC;QAC3D,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,EAAE,GAAG,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACJ,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,GAAG,CAAC,KAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,WAAW,CACnB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,CAClD,CAAC;IACN,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,QAAgB;QAC/B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,GAAG,IAAI,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,IAAI,GAAG,CAAC,EACR,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,GAAG,IAAI,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,GAAG,GAAG,IAAI,CAA4B,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,OAAO,CAA4B,CAAC;YACxC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,EACzB,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC;iBACG,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrB,IAAI,MAAM,EAAE,CAAC;oBACT,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC;iBAED,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAA4B,CAAC;YACpD,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAiC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACZ,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;oBACpB,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACZ,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;oBACpB,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,IAAI,EAAE,CAAC;gBACX,CAAC;gBACD,KAAK,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,WAAsE;QAEtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,WAAsE;QAEtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAC1C,IAAI,EACJ,KAAK,EACL,IAAI,CACP,CAAC;gBACF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM;gBACV,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,KAAa;QACd,OAAO,IAAI,uBAAuB,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAChD,CAAC;IACN,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,CAAC,SAAS,CACjB,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,CACpB,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAC5D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,MAAc;QACf,OAAO,IAAI,uBAAuB,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAChD,CAAC;IACN,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,CAAC,SAAS,CACjB,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,CACpB,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAC5D,CAAC;IACN,CAAC;IAED,IAAI,CACA,SAAkB,EAClB,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CACzD,CAAC;IACN,CAAC;IAED,SAAS,CACL,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAC9D,CAAC;IACN,CAAC;IAED,OAAO,CACH,SAAkB,EAClB,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAC1D,CAAC;IACN,CAAC;IAED,YAAY,CACR,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CACjE,CAAC;IACN,CAAC;IAED,IAAI,CACA,QAA2D;QAE3D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CACC,QAA4C;QAE5C,OAAO,IAAI,uBAAuB,CAC9B,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAiB;QACnB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAClB,IAAI,EACJ,SAAS,EACT,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,UAAU,CACN,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,uBAAuB,CACvB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAmB;QACrB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAClB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CACpB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,CACH,SAAiB,EACjB,IAAI,GAAG,SAAS,GAAG,CAAC;QAEpB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAClD,CAAC;IACN,CAAC;IAED,OAAO,CACH,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CACpB,IAAI,EACJ,QAAQ,EACR,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,CACH,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,MAAM,CACF,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC1C,CAAC;IACN,CAAC;IAED,UAAU,CACN,QAAoC,EACpC,WAAgE,CAC5D,IAAI,EACN,EAAE,CAAC,IAA0B;QAE/B,MAAM,oBAAoB,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACjD,OAAO,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CACpC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE;gBAC7C,OAAO,CACH,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAC7B,IAAI,EACJ,KAAK,EACL,UAAU,CACb,CAAC;oBACF,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAC7B,SAAS,EACT,UAAU,EACV,eAAe,CAClB,CAAC,CACL,CAAC;YACN,CAAC,CACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CACnB,IAAI,EACJ,MAAM,EACN,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,QAAQ,CACJ,SAAiB,EACjB,SAAwC;QAExC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,qBAAqB,CACrB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CACF,SAAiB,EACjB,SAAwC;QAExC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAc,EAAE,GAAY;QAC9B,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,OAAO,CACH,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,MAAM,CACF,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,YAAY,CACR,WAA6D,EAC7D,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC7D,CAAC;IACN,CAAC;IAED,WAAW,CACP,WAA6D,EAC7D,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC5D,CAAC;IACN,CAAC;IAED,SAAS,CACL,QAAuC;QAEvC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,sBAAsB,CACtB,IAAI,EACJ,QAAQ,EACR,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,GAAG,CACC,QAAuC;QAEvC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,UAA+B;QAChC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAC1C,CAAC;IACN,CAAC;IAED,OAAO,CAAC,SAAkB;QACtB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CACpB,IAAI,EACJ,SAAS,IAAI,uBAAuB,CAAC,kBAAkB,EACvD,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;QAC5B,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,KAAK,CACD,WAAuE;QAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,YAAsC,EACtC,cAII,GAAG,EAAE,CAAC,IAAI;QAEd,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,OAAO,IAAe,CAAC;gBAC3B,CAAC;YACL,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,WAAuE;QAEvE,OAAO,IAAI,CAAC,iBAAiB,CAAU,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,WAAuE;QAEvE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CACF,YAAsC,EACtC,cAII,GAAG,EAAE,CAAC,IAAI;QAEd,OAAO,IAAI,CAAC,iBAAiB,CAAsB,KAAK,IAAI,EAAE;YAC1D,IAAI,WAAW,GAAmB,IAAI,CAAC;YACvC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,WAAW,GAAG,IAAe,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC;YACvB,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,WAAuE;QAEvE,OAAO,IAAI,CAAC,iBAAiB,CAAU,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CACF,WAA6D;QAE7D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CACJ,YAAsC,EACtC,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAqB,KAAK,IAAI,EAAE;YACzD,IAAI,UAAU,GAAkB,IAAI,EAChC,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IACI,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACxD,UAAU,EACZ,CAAC;oBACC,OAAO,UAAU,CAAC;gBACtB,CAAC;gBACD,KAAK,EAAE,CAAC;gBACR,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CACR,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAS,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,WAA6D;QAE7D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,YAAsC,EACtC,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAC5C,IAAI,EACJ,KAAK,EACL,IAAI,CACP,CAAC;gBACF,KAAK,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAS,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,WAAsE;QAEtE,OAAO,IAAI,CAAC,iBAAiB,CAAU,KAAK,IAAI,EAAE;YAC9C,IAAI,WAAW,GAAmB,IAAI,CAAC;YACvC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACvB,MAAM,IAAI,iCAAiC,CACvC,2BAA2B,CAC9B,CAAC;oBACN,CAAC;oBACD,WAAW,GAAG,IAAe,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,IAAc;QAChB,OAAO,IAAI,uBAAuB,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc,CAAC,WAAwB;QACnC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,2BAA2B,CAAC,IAAI,EAAE,WAAW,CAAC,CACrD,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,IAAc;QAC3B,OAAO,IAAI,uBAAuB,CAC9B,IAAI,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,CAChD,CAAC;IACN,CAAC;IAED,KAAK,CACD,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;oBACxD,IAAI,EAAE,CAAC;gBACX,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzD,YAAY,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CACH,QAAwD;QAExD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAA8C,EAAE,CAAC;YAC7D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;gBACN,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC1B,IACI,CAAC,CACG,OAAO,GAAG,KAAK,QAAQ;oBACvB,OAAO,GAAG,KAAK,QAAQ;oBACvB,OAAO,GAAG,KAAK,QAAQ,CAC1B,EACH,CAAC;oBACC,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,OAAO,MAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,mBAAmB,CACzB,gDAAgD,CACnD,CAAC;gBACN,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,mBAAmB,CACzB,gDAAgD,CACnD,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,GAAwB,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC"}