@navios/di 0.8.0 → 0.9.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 (264) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/README.md +117 -17
  3. package/lib/browser/container/abstract-container.d.mts +112 -0
  4. package/lib/browser/container/abstract-container.d.mts.map +1 -0
  5. package/lib/browser/container/abstract-container.mjs +100 -0
  6. package/lib/browser/container/abstract-container.mjs.map +1 -0
  7. package/lib/browser/container/container.d.mts +100 -0
  8. package/lib/browser/container/container.d.mts.map +1 -0
  9. package/lib/browser/container/container.mjs +424 -0
  10. package/lib/browser/container/container.mjs.map +1 -0
  11. package/lib/browser/container/scoped-container.d.mts +93 -0
  12. package/lib/browser/container/scoped-container.d.mts.map +1 -0
  13. package/lib/browser/container/scoped-container.mjs +119 -0
  14. package/lib/browser/container/scoped-container.mjs.map +1 -0
  15. package/lib/browser/decorators/factory.decorator.d.mts +26 -0
  16. package/lib/browser/decorators/factory.decorator.d.mts.map +1 -0
  17. package/lib/browser/decorators/factory.decorator.mjs +20 -0
  18. package/lib/browser/decorators/factory.decorator.mjs.map +1 -0
  19. package/lib/browser/decorators/injectable.decorator.d.mts +38 -0
  20. package/lib/browser/decorators/injectable.decorator.d.mts.map +1 -0
  21. package/lib/browser/decorators/injectable.decorator.mjs +21 -0
  22. package/lib/browser/decorators/injectable.decorator.mjs.map +1 -0
  23. package/lib/browser/enums/injectable-scope.enum.d.mts +18 -0
  24. package/lib/browser/enums/injectable-scope.enum.d.mts.map +1 -0
  25. package/lib/browser/enums/injectable-scope.enum.mjs +20 -0
  26. package/lib/browser/enums/injectable-scope.enum.mjs.map +1 -0
  27. package/lib/browser/enums/injectable-type.enum.d.mts +8 -0
  28. package/lib/browser/enums/injectable-type.enum.d.mts.map +1 -0
  29. package/lib/browser/enums/injectable-type.enum.mjs +10 -0
  30. package/lib/browser/enums/injectable-type.enum.mjs.map +1 -0
  31. package/lib/browser/errors/di-error.d.mts +43 -0
  32. package/lib/browser/errors/di-error.d.mts.map +1 -0
  33. package/lib/browser/errors/di-error.mjs +98 -0
  34. package/lib/browser/errors/di-error.mjs.map +1 -0
  35. package/lib/browser/event-emitter.d.mts +16 -0
  36. package/lib/browser/event-emitter.d.mts.map +1 -0
  37. package/lib/browser/event-emitter.mjs +320 -0
  38. package/lib/browser/event-emitter.mjs.map +1 -0
  39. package/lib/browser/index.d.mts +37 -1558
  40. package/lib/browser/index.mjs +29 -2749
  41. package/lib/browser/interfaces/container.interface.d.mts +59 -0
  42. package/lib/browser/interfaces/container.interface.d.mts.map +1 -0
  43. package/lib/browser/interfaces/factory.interface.d.mts +14 -0
  44. package/lib/browser/interfaces/factory.interface.d.mts.map +1 -0
  45. package/lib/browser/interfaces/on-service-destroy.interface.d.mts +7 -0
  46. package/lib/browser/interfaces/on-service-destroy.interface.d.mts.map +1 -0
  47. package/lib/browser/interfaces/on-service-init.interface.d.mts +7 -0
  48. package/lib/browser/interfaces/on-service-init.interface.d.mts.map +1 -0
  49. package/lib/browser/internal/context/async-local-storage.browser.mjs +20 -0
  50. package/lib/browser/internal/context/async-local-storage.browser.mjs.map +1 -0
  51. package/lib/browser/internal/context/async-local-storage.d.mts +9 -0
  52. package/lib/browser/internal/context/async-local-storage.d.mts.map +1 -0
  53. package/lib/browser/internal/context/async-local-storage.types.d.mts +11 -0
  54. package/lib/browser/internal/context/async-local-storage.types.d.mts.map +1 -0
  55. package/lib/browser/internal/context/factory-context.d.mts +23 -0
  56. package/lib/browser/internal/context/factory-context.d.mts.map +1 -0
  57. package/lib/browser/internal/context/resolution-context.d.mts +43 -0
  58. package/lib/browser/internal/context/resolution-context.d.mts.map +1 -0
  59. package/lib/browser/internal/context/resolution-context.mjs +56 -0
  60. package/lib/browser/internal/context/resolution-context.mjs.map +1 -0
  61. package/lib/browser/internal/context/service-initialization-context.d.mts +48 -0
  62. package/lib/browser/internal/context/service-initialization-context.d.mts.map +1 -0
  63. package/lib/browser/internal/context/sync-local-storage.mjs +53 -0
  64. package/lib/browser/internal/context/sync-local-storage.mjs.map +1 -0
  65. package/lib/browser/internal/core/instance-resolver.d.mts +119 -0
  66. package/lib/browser/internal/core/instance-resolver.d.mts.map +1 -0
  67. package/lib/browser/internal/core/instance-resolver.mjs +306 -0
  68. package/lib/browser/internal/core/instance-resolver.mjs.map +1 -0
  69. package/lib/browser/internal/core/name-resolver.d.mts +52 -0
  70. package/lib/browser/internal/core/name-resolver.d.mts.map +1 -0
  71. package/lib/browser/internal/core/name-resolver.mjs +118 -0
  72. package/lib/browser/internal/core/name-resolver.mjs.map +1 -0
  73. package/lib/browser/internal/core/scope-tracker.d.mts +65 -0
  74. package/lib/browser/internal/core/scope-tracker.d.mts.map +1 -0
  75. package/lib/browser/internal/core/scope-tracker.mjs +120 -0
  76. package/lib/browser/internal/core/scope-tracker.mjs.map +1 -0
  77. package/lib/browser/internal/core/service-initializer.d.mts +44 -0
  78. package/lib/browser/internal/core/service-initializer.d.mts.map +1 -0
  79. package/lib/browser/internal/core/service-initializer.mjs +109 -0
  80. package/lib/browser/internal/core/service-initializer.mjs.map +1 -0
  81. package/lib/browser/internal/core/service-invalidator.d.mts +81 -0
  82. package/lib/browser/internal/core/service-invalidator.d.mts.map +1 -0
  83. package/lib/browser/internal/core/service-invalidator.mjs +142 -0
  84. package/lib/browser/internal/core/service-invalidator.mjs.map +1 -0
  85. package/lib/browser/internal/core/token-resolver.d.mts +54 -0
  86. package/lib/browser/internal/core/token-resolver.d.mts.map +1 -0
  87. package/lib/browser/internal/core/token-resolver.mjs +77 -0
  88. package/lib/browser/internal/core/token-resolver.mjs.map +1 -0
  89. package/lib/browser/internal/holder/holder-storage.interface.d.mts +99 -0
  90. package/lib/browser/internal/holder/holder-storage.interface.d.mts.map +1 -0
  91. package/lib/browser/internal/holder/instance-holder.d.mts +101 -0
  92. package/lib/browser/internal/holder/instance-holder.d.mts.map +1 -0
  93. package/lib/browser/internal/holder/instance-holder.mjs +19 -0
  94. package/lib/browser/internal/holder/instance-holder.mjs.map +1 -0
  95. package/lib/browser/internal/holder/unified-storage.d.mts +53 -0
  96. package/lib/browser/internal/holder/unified-storage.d.mts.map +1 -0
  97. package/lib/browser/internal/holder/unified-storage.mjs +144 -0
  98. package/lib/browser/internal/holder/unified-storage.mjs.map +1 -0
  99. package/lib/browser/internal/lifecycle/circular-detector.d.mts +39 -0
  100. package/lib/browser/internal/lifecycle/circular-detector.d.mts.map +1 -0
  101. package/lib/browser/internal/lifecycle/circular-detector.mjs +55 -0
  102. package/lib/browser/internal/lifecycle/circular-detector.mjs.map +1 -0
  103. package/lib/browser/internal/lifecycle/lifecycle-event-bus.d.mts +18 -0
  104. package/lib/browser/internal/lifecycle/lifecycle-event-bus.d.mts.map +1 -0
  105. package/lib/browser/internal/lifecycle/lifecycle-event-bus.mjs +43 -0
  106. package/lib/browser/internal/lifecycle/lifecycle-event-bus.mjs.map +1 -0
  107. package/lib/browser/internal/stub-factory-class.d.mts +14 -0
  108. package/lib/browser/internal/stub-factory-class.d.mts.map +1 -0
  109. package/lib/browser/internal/stub-factory-class.mjs +18 -0
  110. package/lib/browser/internal/stub-factory-class.mjs.map +1 -0
  111. package/lib/browser/symbols/injectable-token.d.mts +5 -0
  112. package/lib/browser/symbols/injectable-token.d.mts.map +1 -0
  113. package/lib/browser/symbols/injectable-token.mjs +6 -0
  114. package/lib/browser/symbols/injectable-token.mjs.map +1 -0
  115. package/lib/browser/token/injection-token.d.mts +55 -0
  116. package/lib/browser/token/injection-token.d.mts.map +1 -0
  117. package/lib/browser/token/injection-token.mjs +100 -0
  118. package/lib/browser/token/injection-token.mjs.map +1 -0
  119. package/lib/browser/token/registry.d.mts +37 -0
  120. package/lib/browser/token/registry.d.mts.map +1 -0
  121. package/lib/browser/token/registry.mjs +86 -0
  122. package/lib/browser/token/registry.mjs.map +1 -0
  123. package/lib/browser/utils/default-injectors.d.mts +12 -0
  124. package/lib/browser/utils/default-injectors.d.mts.map +1 -0
  125. package/lib/browser/utils/default-injectors.mjs +13 -0
  126. package/lib/browser/utils/default-injectors.mjs.map +1 -0
  127. package/lib/browser/utils/get-injectable-token.d.mts +9 -0
  128. package/lib/browser/utils/get-injectable-token.d.mts.map +1 -0
  129. package/lib/browser/utils/get-injectable-token.mjs +13 -0
  130. package/lib/browser/utils/get-injectable-token.mjs.map +1 -0
  131. package/lib/browser/utils/get-injectors.d.mts +55 -0
  132. package/lib/browser/utils/get-injectors.d.mts.map +1 -0
  133. package/lib/browser/utils/get-injectors.mjs +121 -0
  134. package/lib/browser/utils/get-injectors.mjs.map +1 -0
  135. package/lib/browser/utils/types.d.mts +23 -0
  136. package/lib/browser/utils/types.d.mts.map +1 -0
  137. package/lib/{container-DAKOvAgr.mjs → container-8-z89TyQ.mjs} +1325 -1462
  138. package/lib/container-8-z89TyQ.mjs.map +1 -0
  139. package/lib/{container-Bp1W-pWJ.d.mts → container-CNiqesCL.d.mts} +598 -617
  140. package/lib/container-CNiqesCL.d.mts.map +1 -0
  141. package/lib/{container-DENMeJ87.cjs → container-CaY2fDuk.cjs} +1369 -1512
  142. package/lib/container-CaY2fDuk.cjs.map +1 -0
  143. package/lib/{container-YPwvmlK2.d.cts → container-D-0Ho3qL.d.cts} +598 -612
  144. package/lib/container-D-0Ho3qL.d.cts.map +1 -0
  145. package/lib/index.cjs +13 -15
  146. package/lib/index.cjs.map +1 -1
  147. package/lib/index.d.cts +58 -223
  148. package/lib/index.d.cts.map +1 -1
  149. package/lib/index.d.mts +62 -222
  150. package/lib/index.d.mts.map +1 -1
  151. package/lib/index.mjs +5 -6
  152. package/lib/index.mjs.map +1 -1
  153. package/lib/testing/index.cjs +569 -311
  154. package/lib/testing/index.cjs.map +1 -1
  155. package/lib/testing/index.d.cts +370 -41
  156. package/lib/testing/index.d.cts.map +1 -1
  157. package/lib/testing/index.d.mts +370 -41
  158. package/lib/testing/index.d.mts.map +1 -1
  159. package/lib/testing/index.mjs +568 -305
  160. package/lib/testing/index.mjs.map +1 -1
  161. package/package.json +2 -1
  162. package/src/__tests__/circular-detector.spec.mts +193 -0
  163. package/src/__tests__/concurrent.spec.mts +368 -0
  164. package/src/__tests__/container.spec.mts +32 -30
  165. package/src/__tests__/di-error.spec.mts +351 -0
  166. package/src/__tests__/e2e.browser.spec.mts +0 -4
  167. package/src/__tests__/e2e.spec.mts +10 -19
  168. package/src/__tests__/event-emitter.spec.mts +232 -109
  169. package/src/__tests__/get-injectors.spec.mts +250 -39
  170. package/src/__tests__/injection-token.spec.mts +293 -349
  171. package/src/__tests__/library-findings.spec.mts +8 -8
  172. package/src/__tests__/registry.spec.mts +358 -210
  173. package/src/__tests__/resolution-context.spec.mts +255 -0
  174. package/src/__tests__/scope-tracker.spec.mts +598 -0
  175. package/src/__tests__/scope-upgrade.spec.mts +808 -0
  176. package/src/__tests__/scoped-container.spec.mts +595 -0
  177. package/src/__tests__/test-container.spec.mts +293 -0
  178. package/src/__tests__/token-resolver.spec.mts +207 -0
  179. package/src/__tests__/unified-storage.spec.mts +535 -0
  180. package/src/__tests__/unit-test-container.spec.mts +405 -0
  181. package/src/__type-tests__/container.spec-d.mts +180 -0
  182. package/src/__type-tests__/factory.spec-d.mts +15 -3
  183. package/src/__type-tests__/inject.spec-d.mts +115 -20
  184. package/src/__type-tests__/injectable.spec-d.mts +69 -52
  185. package/src/__type-tests__/injection-token.spec-d.mts +176 -0
  186. package/src/__type-tests__/scoped-container.spec-d.mts +212 -0
  187. package/src/container/abstract-container.mts +327 -0
  188. package/src/container/container.mts +142 -170
  189. package/src/container/scoped-container.mts +126 -208
  190. package/src/decorators/factory.decorator.mts +16 -11
  191. package/src/decorators/injectable.decorator.mts +20 -16
  192. package/src/enums/index.mts +2 -2
  193. package/src/enums/injectable-scope.enum.mts +1 -0
  194. package/src/enums/injectable-type.enum.mts +1 -0
  195. package/src/errors/di-error.mts +96 -0
  196. package/src/event-emitter.mts +3 -27
  197. package/src/index.mts +6 -153
  198. package/src/interfaces/container.interface.mts +13 -0
  199. package/src/interfaces/factory.interface.mts +1 -1
  200. package/src/interfaces/index.mts +1 -1
  201. package/src/internal/context/async-local-storage.mts +3 -2
  202. package/src/internal/context/async-local-storage.types.mts +1 -0
  203. package/src/internal/context/factory-context.mts +1 -0
  204. package/src/internal/context/index.mts +3 -1
  205. package/src/internal/context/resolution-context.mts +1 -0
  206. package/src/internal/context/service-initialization-context.mts +43 -0
  207. package/src/internal/core/index.mts +5 -4
  208. package/src/internal/core/instance-resolver.mts +460 -302
  209. package/src/internal/core/name-resolver.mts +196 -0
  210. package/src/internal/core/scope-tracker.mts +242 -0
  211. package/src/internal/core/{instantiator.mts → service-initializer.mts} +51 -29
  212. package/src/internal/core/service-invalidator.mts +290 -0
  213. package/src/internal/core/token-resolver.mts +122 -0
  214. package/src/internal/holder/holder-storage.interface.mts +11 -5
  215. package/src/internal/holder/index.mts +2 -5
  216. package/src/internal/holder/instance-holder.mts +1 -3
  217. package/src/internal/holder/unified-storage.mts +245 -0
  218. package/src/internal/index.mts +2 -1
  219. package/src/internal/lifecycle/circular-detector.mts +1 -0
  220. package/src/internal/lifecycle/index.mts +1 -1
  221. package/src/internal/lifecycle/lifecycle-event-bus.mts +1 -0
  222. package/src/internal/stub-factory-class.mts +16 -0
  223. package/src/symbols/injectable-token.mts +3 -1
  224. package/src/testing/index.mts +2 -0
  225. package/src/testing/test-container.mts +546 -85
  226. package/src/testing/types.mts +117 -0
  227. package/src/testing/unit-test-container.mts +509 -0
  228. package/src/token/injection-token.mts +41 -4
  229. package/src/token/registry.mts +75 -9
  230. package/src/utils/default-injectors.mts +16 -0
  231. package/src/utils/get-injectable-token.mts +2 -3
  232. package/src/utils/get-injectors.mts +26 -15
  233. package/src/utils/index.mts +3 -1
  234. package/src/utils/types.mts +1 -0
  235. package/tsdown.config.mts +11 -1
  236. package/lib/browser/index.d.mts.map +0 -1
  237. package/lib/browser/index.mjs.map +0 -1
  238. package/lib/container-Bp1W-pWJ.d.mts.map +0 -1
  239. package/lib/container-DAKOvAgr.mjs.map +0 -1
  240. package/lib/container-DENMeJ87.cjs.map +0 -1
  241. package/lib/container-YPwvmlK2.d.cts.map +0 -1
  242. package/src/__tests__/async-local-storage.browser.spec.mts +0 -166
  243. package/src/__tests__/async-local-storage.spec.mts +0 -333
  244. package/src/__tests__/errors.spec.mts +0 -87
  245. package/src/__tests__/factory.spec.mts +0 -137
  246. package/src/__tests__/injectable.spec.mts +0 -246
  247. package/src/__tests__/request-scope.spec.mts +0 -416
  248. package/src/__tests__/service-instantiator.spec.mts +0 -410
  249. package/src/__tests__/service-locator-event-bus.spec.mts +0 -242
  250. package/src/__tests__/service-locator-manager.spec.mts +0 -300
  251. package/src/__tests__/service-locator.spec.mts +0 -966
  252. package/src/__tests__/unified-api.spec.mts +0 -130
  253. package/src/browser.mts +0 -11
  254. package/src/injectors.mts +0 -18
  255. package/src/internal/context/request-context.mts +0 -225
  256. package/src/internal/core/invalidator.mts +0 -437
  257. package/src/internal/core/service-locator.mts +0 -202
  258. package/src/internal/core/token-processor.mts +0 -252
  259. package/src/internal/holder/base-holder-manager.mts +0 -334
  260. package/src/internal/holder/holder-manager.mts +0 -85
  261. package/src/internal/holder/request-storage.mts +0 -127
  262. package/src/internal/holder/singleton-storage.mts +0 -92
  263. package/src/testing/README.md +0 -80
  264. package/src/testing/__tests__/test-container.spec.mts +0 -173
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-D-0Ho3qL.d.cts","names":[],"sources":["../src/token/injection-token.mts","../src/utils/types.mts","../src/interfaces/container.interface.mts","../src/enums/injectable-scope.enum.mts","../src/enums/injectable-type.enum.mts","../src/internal/context/service-initialization-context.mts","../src/utils/get-injectors.mts","../src/internal/context/factory-context.mts","../src/interfaces/factory.interface.mts","../src/token/registry.mts","../src/internal/core/name-resolver.mts","../src/errors/di-error.mts","../src/internal/holder/instance-holder.mts","../src/internal/holder/holder-storage.interface.mts","../src/internal/lifecycle/lifecycle-event-bus.mts","../src/internal/core/service-invalidator.mts","../src/internal/core/token-resolver.mts","../src/internal/holder/unified-storage.mts","../src/container/abstract-container.mts","../src/container/scoped-container.mts","../src/internal/core/scope-tracker.mts","../src/internal/core/service-initializer.mts","../src/internal/core/instance-resolver.mts","../src/container/container.mts"],"sourcesContent":[],"mappings":";;;KAIY,SAAA;AAAA,KACA,yBAAA,GADS,OAAA,GAAA,GAAA;AACT,KACA,qBADyB,CAAA,GAAA,CAAA,GAAA,KAAA,GAAA,EACc,GADd,EAAA,GAAA,GAAA;AACzB,KACA,6BADqB,CAAA,GAAkB,CAAA,GAAG,KAAA,GAAA,CAAA,EACM,GADN,EAAA,GAAA,GAAA;AAC1C,KAEA,qBAFA,CAAA,CAAA,CAA6B,GAAA,KAAA,GAAA,IAAmB,EAAA,GAAG,EAAA,EAAA,GAEA,CAFA;AAEnD,KACA,gCADoD,CAAA,CAAA,EAAA,GAAA,CAAA,GAAA,KAAA,GAAA,EACC,GADD,EAAA,GACS,CADT;AACpD,KACA,wCADgC,CAAA,CAAA,EAAA,GAAqB,CAAA,GAAQ,KAAC,GAAA,CAAA,EAElE,GAFkE,EAAA,GAGrE,CAHqE;AAC9D,KAIA,4BAAA,GAA+B,SAJS,GAIG,SAJH;AAIxC,KAEA,gCAAA,GACR,WAHmD,CAGvC,SAHgD,CAAA,GAI5D,WAJ4D,CAIhD,SAJgD,CAAA;AAEpD,KAIA,wBAAA,GACR,4BALwC,GAMxC,gCANwC;AAC5B,cAwCH,cAxCG,CAAA,CAAA,EAAA,UA2CJ,wBA3CI,GAAA,OAAA,GAAA,OAAA,EAAA,iBAAA,OAAA,IA6Ca,CA7Cb,SA6CuB,WA7CvB,CA6CmC,SA7CnC,CAAA,GAAA,KAAA,GA+CV,CA/CU,SA+CA,WA/CA,CA+CY,SA/CZ,CAAA,GAAA,KAAA,GAiDR,CAjDQ,SAiDE,SAjDF,GAAA,IAAA,GAmDN,CAnDM,SAmDI,SAnDJ,GAAA,IAAA,GAAA,KAAA,EAAA,CAAA;EAAZ,SAAA,IAAA,EAAA,MAAA,GAAA,MAAA,GA2DwC,SA3DxC;EACY,SAAA,MAAA,EA2DY,SA3DZ,GAAA,SAAA;EAAZ,SAAA,EAAA,EAAA,MAAA;EAAW,QAAA,aAAA;EAEH,WAAA,CAAA,IAAA,EAAA,MAAA,GAAwB,MAAA,GAwDQ,SAvDxC,EAAA,MAAA,EAwDwB,SAxDxB,GAAA,SACA,EAAA,QAAA,CAAA,EAAA,MAAA;EAmCS,OAAA,MAAA,CAAA,UA0Ba,SA1BC,CAAA,CAAA,IAAA,EA2BjB,CA3BiB,CAAA,EA4BtB,cA5BsB,CA4BP,YA5BO,CA4BM,CA5BN,CAAA,EAAA,SAAA,CAAA;EAGf,OAAA,MAAA,CAAA,UA0Bc,SA1Bd,EAAA,eA0BwC,wBA1BxC,CAAA,CAAA,IAAA,EA2BF,CA3BE,EAAA,MAAA,EA4BA,MA5BA,CAAA,EA6BP,MA7BO,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,SAAA,aAAA,GA8BN,cA9BM,CA8BS,YA9BT,CA8BsB,CA9BtB,CAAA,EA8B0B,MA9B1B,EAAA,KAAA,CAAA,GA+BN,cA/BM,CA+BS,YA/BT,CA+BsB,CA/BtB,CAAA,EA+B0B,MA/B1B,EAAA,IAAA,CAAA;EAEiB,OAAA,MAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,MAAA,GAAA,MAAA,CAAA,EA8Bc,cA9Bd,CA8B6B,CA9B7B,EAAA,SAAA,CAAA;EAAsB,OAAA,MAAA,CAAA,CAAA,EAAA,eA+BjB,wBA/BiB,CAAA,CAAA,IAAA,EAAA,MAAA,GAAA,GAAA,EAAA,MAAA,EAiCvC,MAjCuC,CAAA,EAkC9C,cAlC8C,CAkC/B,CAlC+B,EAkC5B,MAlC4B,CAAA;EAAZ,OAAA,KAAA,CAAA,CAAA,EAAA,UAwCX,wBAxCW,CAAA,CAAA,KAAA,EAyC5B,cAzC4B,CAyCb,CAzCa,EAyCV,CAzCU,CAAA,EAAA,KAAA,EA0C5B,CAAA,CAAE,KA1C0B,CA0CpB,CA1CoB,CAAA,CAAA,EA2ClC,mBA3CkC,CA2Cd,CA3Cc,EA2CX,CA3CW,CAAA;EAEjC,OAAA,OAAA,CAAA,CAAA,EAAA,UA6CwB,wBA7CxB,CAAA,CAAA,KAAA,EA8CK,cA9CL,CA8CoB,CA9CpB,EA8CuB,CA9CvB,CAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EA+Ca,cA/Cb,EAAA,GA+CgC,OA/ChC,CA+CwC,CAAA,CAAE,KA/C1C,CA+CgD,CA/ChD,CAAA,CAAA,CAAA,EAgDD,qBAhDC,CAgDqB,CAhDrB,EAgDwB,CAhDxB,CAAA;EAAsB,OAAA,UAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAqDjB,mBArDiB,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAsDvB,mBAtDuB,CAsDH,CAtDG,EAAA,GAAA,CAAA;EAAZ,QAAA,CAAA,CAAA,EAAA,MAAA;;AAEE,cA0EL,mBA1EK,CAAA,CAAA,EAAA,UA0E4B,wBA1E5B,CAAA,CAAA;EAER,SAAA,KAAA,EA8EiB,cA9EjB,CA8EgC,CA9EhC,EA8EmC,CA9EnC,CAAA;EAAU,SAAA,KAAA,EA+EO,CAAA,CAAE,KA/ET,CA+Ee,CA/Ef,CAAA;EAQwB,EAAA,EAAA,MAAA;EAChB,IAAA,EAAA,MAAA,GAAA,MAAA,GAiEK,SAjEL;EADgB,MAAA,EAmE3B,wBAnE2B;EAChB,WAAA,CAAA,KAAA,EAqED,cArEC,CAqEc,CArEd,EAqEiB,CArEjB,CAAA,EAAA,KAAA,EAsED,CAAA,CAAE,KAtED,CAsEO,CAtEP,CAAA;EAMF,QAAA,CAAA,CAAA,EAAA,MAAA;;AAEO,cA0EpB,qBA1EoB,CAAA,CAAA,EAAA,UA0Ee,wBA1Ef,CAAA,CAAA;EAAb,SAAA,KAAA,EAkFO,cAlFP,CAkFsB,CAlFtB,EAkFyB,CAlFzB,CAAA;EAAf,SAAA,OAAA,EAAA,CAAA,GAAA,EAmF8B,cAnF9B,EAAA,GAmFiD,OAnFjD,CAmFyD,CAAA,CAAE,KAnF3D,CAmFiE,CAnFjE,CAAA,CAAA;EACqB,KAAA,CAAA,EA0ET,CAAA,CAAE,KA1EO,CA0ED,CA1EC,CAAA;EAA0B,QAAA,EAAA,OAAA;EAC1C,EAAA,EAAA,MAAA;EACE,IAAA,EAAA,MAAA,GAAA,MAAA,GA2EqB,SA3ErB;EACP,MAAA,EA2EY,wBA3EZ;EAC6B,WAAA,CAAA,KAAA,EA6EP,cA7EO,CA6EQ,CA7ER,EA6EW,CA7EX,CAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EA8EC,cA9ED,EAAA,GA8EoB,OA9EpB,CA8E4B,CAAA,CAAE,KA9E9B,CA8EoC,CA9EpC,CAAA,CAAA;EAAb,OAAA,CAAA,GAAA,EAqFA,cArFA,CAAA,EAqFiB,OArFjB,CAqFyB,CAAA,CAAE,KArF3B,CAqFiC,CArFjC,CAAA,CAAA;EAAiB,QAAA,CAAA,CAAA,EAAA,MAAA;;AACJ,KAiGtB,iBAAA,GACR,SAlG8B,GAmG9B,cAnG8B,CAAA,GAAA,EAAA,GAAA,CAAA,GAoG9B,mBApG8B,CAAA,GAAA,EAAA,GAAA,CAAA,GAqG9B,qBArG8B,CAAA,GAAA,EAAA,GAAA,CAAA;AAAb,KAuGT,kBAAA,GACR,cAxGiB,CAAA,GAAA,EAAA,GAAA,CAAA,GAyGjB,mBAzGiB,CAAA,GAAA,EAAA,GAAA,CAAA,GA0GjB,qBA1GiB,CAAA,GAAA,EAAA,GAAA,CAAA;;;KCpFT,6CACV,kBAAkB,sDACD,kDAEN,+BAA+B,aAAa,KAAK,MAAM;KAMxD,0BACV,oBAAoB;ADfV,KCqBA,YDrBS,CAAA,CAAA,CAAA,GCqBS,mBDrBT,CCsBnB,CDtBmB,SAAA,GAAA,GAAA,CAAA,CAAA,ECsBC,CDtBD,EAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AACT,KCwBA,QDxBA,CAAA,CAAA,CAAA,GCyBV,YDzBmC,CCyBtB,CDzBsB,CAAA,UAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,GAAA,IAAA,IAAA,CAAA,GAAA,KAAA;AACzB,KC0BA,OD1BA,CAAA,CAAA,CAAA,GAAA,CC0Bc,CD1Bd,CAAqB,SAAA,CC0BK,mBD1BgB,CC0BI,CD1BJ,CAAA,CAAA,GAAA,KAAA,GAAA,IAAA;AAC1C,KC2BA,YD3BA,CAAA,CAAA,EAAA,UAA6B,OAAA,EAAA,GAAA,EAAmB,CAAA,GC4B1D,OD5B6D,CC4BrD,CD5BqD,CAAA,SAAA,IAAA,GC6BzD,YD7ByD,CC6B5C,OD7B4C,CC6BpC,CD7BoC,EC6BjC,QD7BiC,CC6BxB,CD7BwB,CAAA,CAAA,EAAA,CC6BlB,QD7BkB,CC6BT,CD7BS,CAAA,EAAA,GC6BF,CD7BE,CAAA,CAAA,GAAA,CC8BxD,CD9BwD,EAAA,GC8BlD,CD9BkD,CAAA;AAEnD,KC8BA,aAAA,GD9BqB;EACrB,KAAA,EC+BN,cD/BM,CAAA,GAAA,CAAA,GCgCN,mBDhCsC,CAAA,GAAA,EAAqB,GAAA,CAAQ,GCiCnE,qBDjCoE,CAAA,GAAA,EAAA,GAAA,CAAA,GCkCpE,SDlCoE;EAC9D,OAAA,ECkCD,ODlCC,CAAA,GAAA,CAAA;EAIA,SAAA,MAAA,EAAA,GAAA;EAEA,SAAA,KAAA,EC8BM,KD9BN,GAAA,IAAA;CACI;AAAZ,UCiCa,WAAA,CDjCb;EACY,YAAA,EAAA,MAAA;EAAZ,QAAA,EAAA,OAAA;EAAW,QAAA,ECmCH,aDnCG,EAAA;AAEf;;;AAhBA;AACA;AACA;AAEA;AACA;AACY,UEOK,UAAA,CFPL;EAIA;AAEZ;;EACI,GAAA,CAAA,UEKY,SFLZ,CAAA,CAAA,KAAA,EEMO,CFNP,CAAA,EEOC,YFPD,CEOc,CFPd,CAAA,SEOyB,UFPzB,CAAA,KAAA,EAAA,CAAA,GEQE,OFRF,CEQU,CFRV,CAAA,GESE,OFTF,CESU,YFTV,CESuB,CFTvB,CAAA,CAAA;EACY,GAAA,CAAA,UEUA,qBFVA,CEUsB,CFVtB,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,EEWL,CFXK,EAAA,IAAA,EEYN,CFZM,CAAA,EEaX,OFbW,CEaH,YFbG,CEaU,CFbV,CAAA,CAAA;EAAZ,GAAA,CAAA,CAAA,EAAA,UEee,wBFff,CAAA,CAAA,KAAA,EEgBO,cFhBP,CEgBsB,CFhBtB,EEgByB,CFhBzB,CAAA,EAAA,IAAA,EEiBM,CAAA,CAAE,KFjBR,CEiBc,CFjBd,CAAA,CAAA,EEkBC,OFlBD,CEkBS,CFlBT,CAAA;EAAW,GAAA,CAAA,CAAA,EAAA,UEoBI,wBFpBJ,EAAA,UAAA,OAAA,CAAA,CAAA,KAAA,EEqBJ,cFrBI,CEqBW,CFrBX,EEqBc,CFrBd,EEqBiB,CFrBjB,CAAA,CAAA,EEsBV,CFtBU,SAAA,KAAA,GEuBT,OFvBS,CEuBD,CFvBC,CAAA,GEwBT,CFxBS,SEwBC,OFxBD,CAAA,KAAA,KAAA,CAAA,GAAA,oCEyB6B,IFzB7B,CE0BL,YF1BK,CAAA,ME0Bc,IF1Bd,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EAEH,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EE6BI,cF7BoB,CE6BL,CF7BK,EAAA,SAChC,CAAA,CAAA,EE4B2C,OF5B3C,CE4BmD,CF5BnD,CAAA;EAoCS,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EEPG,mBFOW,CEPS,CFOT,EAAA,GAAA,CAAA,CAAA,EEPmB,OFOnB,CEP2B,CFO3B,CAAA;EAGf,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EETI,qBFSJ,CET0B,CFS1B,EAAA,GAAA,CAAA,CAAA,EEToC,OFSpC,CET4C,CFS5C,CAAA;EAEiB;;;EAEvB,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EER0B,OFQ1B,CAAA,IAAA,CAAA;EAAsB;;;EAEV,YAAA,CAAA,KAAA,EAAA,GAAA,CAAA,EAAA,OAAA;EAER;;;;;;;;EAiBuB,WAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EEbtB,SFasB,GEbV,cFaU,CEbK,CFaL,EAAA,GAAA,CAAA,GEbe,mBFaf,CEbmC,CFanC,EAAA,GAAA,CAAA,EAAA,QAAA,EEZnB,CFYmB,CAAA,EAAA,IAAA;EAAb;;;EACgC,OAAA,EAAA,EEPvC,OFOuC,CAAA,IAAA,CAAA;EAC1C;;;EAGwB,KAAA,EAAA,EENvB,OFMuB,CAAA,IAAA,CAAA;EAAb;;;;;;EACf,UAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,GAAA,EAAA,IAAA,CAAA,EAAA,GAAA,CAAA,EECmC,CFDnC,GAAA,IAAA;;;;aG5FM,eAAA;;;AHIZ;EACY,SAAA,GAAA,WAAA;EACA;AACZ;AAEA;EACY,SAAA,GAAA,WAAA;EACA;AAIZ;AAEA;EACgB,OAAA,GAAA,SAAA;;;;aIlBJ,cAAA;;;AJIZ;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAIY,UKJK,4BAAA,CLIuB;EAE5B,MAAA,EKLF,SLKE,CAAA,aAAA,CAAA;EACI;;;;EACD,SAAA,EKFF,ULEE;EAEH,kBAAA,EAAA,CAAA,QAAwB,EAAA,GAAA,GAAA,IAChC,EAAA,GAAA,IAAA;EAoCS,mBAAc,EAAA,GAAA,GAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA;EAGf;;;EAE2B,WAAA,EAAA,MAAA;EAEjC;;;;EAEY,YAAA,EKvCF,GLuCE,CAAA,MAAA,CAAA;EAER;;;EASkB,KAAA,EK9CnB,eL8CmB;EADgB;;;;;;;;EAUQ,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EK9Cb,eL8Ca,CAAA,EAAA,IAAA;;;;AAjFxC,UMoBK,SAAA,CNpBL;EACA,WAAA,CAAA,UMqBY,yBNrBoC,CAAA,CAAA,KAAG,EMsBpD,CNtBoD,CAAA,EMuB1D,YNvB0D,CMuB7C,CNvB6C,CAAA,SMuBlC,UNvBkC,CAAA,KAAA,EAAA,CAAA,GMwBzD,ONxByD,CMwBjD,CNxBiD,CAAA,GMyBzD,ONzByD,CMyBjD,YNzBiD,CMyBpC,CNzBoC,CAAA,CAAA;EAEnD,WAAA,CAAA,IAAA,EAAA,UMwBkB,qBNxBkC,CMwBZ,INxBY,CAAA,CAAA,CAAA,KAAA,EMyBrD,CNzBqD,EAAA,IAAA,EM0BtD,IN1BsD,CAAA,EM2B3D,ON3B2D,CM2BnD,YN3BmD,CM2BtC,CN3BsC,CAAA,CAAA;EACpD,WAAA,CAAA,eM4BO,wBN5ByB,EAAqB,CAAA,EAAA,UM8BnD,kBN9B4D,CM8BzC,CN9ByC,EM8BtC,MN9BsC,CAAA,CAAA,CAAA,KAAA,EMgC/D,CNhC+D,EAAA,IAAA,EMiChE,CAAA,CAAE,KNjC8D,CMiCxD,MNjCwD,CAAA,CAAA,EMkCrE,ONlCqE,CMkC7D,CNlC6D,CAAA;EAC9D,WAAA,CAAA,CAAA,EAAA,UMoCe,wBNpCyB,CAAA,CAAA,KAAA,EMqCzC,cNnCL,CMmCoB,CNnCpB,EMmCuB,CNnCvB,CAAA,EAAA,IAAA,EMoCI,CAAA,CAAE,KNpCN,CMoCY,CNpCZ,CAAA,CAAA,EMqCD,ONrCC,CMqCO,CNrCP,CAAA;EAEM,WAAA,CAAA,CAAA,EAAA,UMqCe,wBNrCgB,EAAA,UAAY,OAAS,CAAA,CAAA,KAAA,EMsCrD,cNtCqD,CMsCtC,CNtCsC,EMsCnC,CNtCmC,EMsChC,CNtCgC,CAAA,CAAA,EMuC3D,CNvC2D,SAAA,KAAA,GMwC1D,ONxC0D,CMwClD,CNxCkD,CAAA,GMyC1D,CNzC0D,SMyChD,ONzCgD,CAAA,KAAA,KAAA,CAAA,GAAA,oCM0CpB,IN1CoB,CM2CtD,YN3CsD,CAAA,MM2CnC,IN3CmC,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EAEpD,WAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EM8CY,cN9CoB,CM8CL,CN9CK,EAAA,SAAA,CAAA,CAAA,EM8CW,ON9CX,CM8CmB,CN9CnB,CAAA;EAC5B,WAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EM8CQ,mBN9CR,CM8C4B,CN9C5B,EAAA,GAAA,CAAA,CAAA,EM8CsC,ON9CtC,CM8C8C,CN9C9C,CAAA;EAAZ,WAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EM+CoB,qBN/CpB,CM+C0C,CN/C1C,EAAA,GAAA,CAAA,CAAA,EM+CoD,ON/CpD,CM+C4D,CN/C5D,CAAA;EACY,MAAA,CAAA,UMgDG,yBNhDH,CAAA,CAAA,KAAA,EMiDL,CNjDK,CAAA,EMkDX,YNlDW,CMkDE,CNlDF,CAAA,SMkDa,UNlDb,CAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GMkDuC,YNlDvC,CMkDoD,CNlDpD,CAAA;EAAZ,MAAA,CAAA,IAAA,EAAA,UMmDqB,qBNnDrB,CMmD2C,INnD3C,CAAA,CAAA,CAAA,KAAA,EMoDO,CNpDP,EAAA,IAAA,EMqDM,INrDN,CAAA,EMsDC,YNtDD,CMsDc,CNtDd,CAAA;EAAW,MAAA,CAAA,eMwDI,wBNxDJ,EAAA,CAAA,EAAA,UM0DD,kBN1DC,CM0DkB,CN1DlB,EM0DqB,MN1DrB,CAAA,CAAA,CAAA,KAAA,EM4DJ,CN5DI,EAAA,IAAA,EM6DL,CAAA,CAAE,KN7DG,CM6DG,MN7DH,CAAA,CAAA,EM8DV,CN9DU;EAEH,MAAA,CAAA,CAAA,EAAA,UM8DU,wBN7DlB,CAAA,CAAA,KAAA,EM8DO,cN9DP,CM8DsB,CN7DtB,EM6DyB,CN7DzB,CAAA,EAAA,IAAA,EM8DM,CAAA,CAAE,KN9DR,CM8Dc,CN9Dd,CAAA,CAAA,EM+DC,CN/DD;EAmCS,MAAA,CAAA,CAAA,EAAA,UM8BS,wBN9BK,EAAA,UAAA,OAAA,CAAA,CAAA,KAAA,EM+BhB,cN/BgB,CM+BD,CN/BC,EM+BE,CN/BF,EM+BK,CN/BL,CAAA,CAAA,EMgCtB,CNhCsB,SAAA,KAAA,GMiCrB,CNjCqB,GMkCrB,CNlCqB,SMkCX,ONlCW,CAAA,KAAA,KAAA,CAAA,GAAA,oCMmCiB,INnCjB,CMoCjB,YNpCiB,CAAA,MMoCE,INpCF,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EAGf,MAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EMqCO,cNrCP,CMqCsB,CNrCtB,EAAA,SAAA,CAAA,CAAA,EMqCsC,CNrCtC;EAEiB,MAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EMoCV,mBNpCU,CMoCU,CNpCV,EAAA,GAAA,CAAA,CAAA,EMoCoB,CNpCpB;EAAsB,MAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EMqChC,qBNrCgC,CMqCV,CNrCU,EAAA,GAAA,CAAA,CAAA,EMqCA,CNrCA;EAAZ;;;;;;;;;;;;;;;;;;EAwBa,QAAA,CAAA,UMiC/B,SNjC+B,CAAA,CAAA,KAAA,EMkCzC,CNlCyC,CAAA,EAAA,CMmC9C,YNnC8C,CMmCjC,CNnCiC,CAAA,SMmCtB,UNnCsB,CAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GMmCI,YNnCJ,CMmCiB,CNnCjB,CAAA,CAAA,GAAA,IAAA;EAC1C,QAAA,CAAA,CAAA,EAAA,UMmCc,wBNnCd,CAAA,CAAA,KAAA,EMoCC,cNpCD,CMoCgB,CNpChB,EMoCmB,CNpCnB,CAAA,EAAA,IAAA,EMqCA,CAAA,CAAE,KNrCF,CMqCQ,CNrCR,CAAA,CAAA,EMsCL,CNtCK,GAAA,IAAA;EACE,QAAA,CAAA,CAAA,EAAA,UMsCY,wBNtCZ,EAAA,UAAA,OAAA,CAAA,CAAA,KAAA,EMuCD,cNvCC,CMuCc,CNvCd,EMuCiB,CNvCjB,EMuCoB,CNvCpB,CAAA,CAAA,EMwCP,CNxCO,SAAA,KAAA,GMyCN,CNzCM,GAAA,IAAA,GM0CN,CN1CM,SM0CI,ON1CJ,CAAA,KAAA,KAAA,CAAA,GAAA,oCM2CgC,IN3ChC,CM4CF,YN5CE,CAAA,MM4CiB,IN5CjB,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EACP,QAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EM+CgB,cN/ChB,CM+C+B,CN/C/B,EAAA,SAAA,CAAA,CAAA,EM+C+C,CN/C/C,GAAA,IAAA;EAC6B,QAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EM+Cb,mBN/Ca,CM+CO,CN/CP,EAAA,GAAA,CAAA,CAAA,EM+CiB,CN/CjB,GAAA,IAAA;EAAb,QAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EMgDA,qBNhDA,CMgDsB,CNhDtB,EAAA,GAAA,CAAA,CAAA,EMgDgC,CNhDhC,GAAA,IAAA;EAAiB,YAAA,CAAA,EAAA,EAAA,GAAA,GAAA,GAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EMoDlB,WNpDkB,EAAA,GAAA,CAAA,GAAA,EMoDI,ONpDJ,CAAA,GAAA,CAAA,EAAA,EMoDoB,WNpDpB,CAAA;EAAhC,qBAAA,CAAA,OAAA,EMuDO,4BNvDP,GAAA,IAAA,CAAA,EMwDD,4BNxDC,GAAA,IAAA;;AACe,iBM0DL,YAAA,CAAA,CN1DK,EM0DO,SN1DP;;;;AAxFrB;AACA;AACA;AACA;AAEA;AACY,UODK,cAAA,CPCL;EACA,MAAA,EODF,SPCE,CAAA,aAAA,CAAA;EAIA;AAEZ;;;EAEgB,SAAA,EOJH,UPIG;EAAZ,kBAAA,EAAA,CAAA,QAAA,EAAA,GAAA,GAAA,IAAA,EAAA,GAAA,IAAA;;;;AAfQ,UQCK,URDI,CAAA,CAAA,CAAA,CAAA;EACT,MAAA,CAAA,GAAA,CAAA,EQCG,cRDH,CAAyB,EQCL,ORDK,CQCG,CRDH,CAAA,GQCQ,CRDR;AACrC;AACY,UQEK,kBRFL,CAA6B,CAAA,EAAA,UQEQ,wBRFc,CAAA,CAAA;EAEnD,MAAA,CAAA,GAAqB,CAArB,EQCG,cRDkB,EAAA,GAAA,IAAA,EAA8B,CQCtB,CAAA,CAAE,MRDqB,CQCd,CRDc,CAAA,CAAA,CAAA,EQCR,ORDQ,CQCA,CRDA,CAAA,GQCK,CRDL;AAChE;;;KSNY;ETAA,KAAA,ESCH,eTDY;EACT,aAAA,ESCK,cTDoB,CSCL,QTDK,ESCK,MTDL,CAAA;EACzB,MAAA,ESCF,STDE;EACA,IAAA,ESCJ,cTDI;EAEA,QAAA,EAAA,MAAA;AACZ,CAAA;AACY,cSCC,QAAA,CTDD;EAIA,iBAAA,MAAA;EAEA,iBAAA,SAAA;EACI,iBAAA,eAAA;EAAZ,WAAA,CAAA,MAAA,CAAA,ESFoC,QTEpC,GAAA,SAAA;EACY,GAAA,CAAA,KAAA,ESDH,cTCG,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,OAAA;EAAZ,GAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAA,ESUO,cTVP,CSUsB,QTVtB,ESUgC,MTVhC,CAAA,CAAA,ESWC,aTXD,CSWe,QTXf,ESWyB,MTXzB,CAAA;EAAW,MAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAA,ESuBJ,cTvBI,CSuBW,QTvBX,ESuBqB,MTvBrB,CAAA,CAAA,ESwBV,aTxBU,CSwBI,QTxBJ,ESwBc,MTxBd,CAAA,EAAA;EAEH,GAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,KAAwB,ESmCzB,cTlCP,CSkCsB,QTlCtB,ESkCgC,MTlChC,CAAA,EAAA,KAAA,ESmCO,eTlCP,EAAA,MAAA,ESmCQ,STnCwB,EAAA,IAAA,ESoC1B,cTpC0B,EAAA,QAAA,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAmCvB,MAAA,CAAA,KAAA,ESwBG,cTxBW,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,IAAA;EAGf;;;;;;;;;EAQF,WAAA,CAAA,KAAA,ESgDC,cThDD,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,KAAA,ESiDC,eTjDD,CAAA,EAAA,OAAA;;AAQkC,cS+D/B,cT/D+B,ES+DjB,QT/DiB;;;;AAzE5C;AACA;AACA;AACA;AAEA;AACY,cUsDC,YAAA,CVtDD;EACA,iBAAA,MAAA;EAIA,iBAAA,iBAA4B;EAE5B,WAAA,CAAA,MAAgC,CAAhC,EUkD2B,OVlD3B,GAAA,IAAgC;EAC5B;;;;;AAGhB;AAqCA;;;;;;;;;EASkB,oBAAA,CAAA,KAAA,EUkBP,kBVlBO,EAAA,IAAA,CAAA,EAAA,GAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EUqBN,eVrBM,CAAA,EAAA,MAAA;EAER;;;;;;;;;;;;EAkB0C,4BAAA,CAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,MAAA;EAC1C;;;EAGwB,cAAA,CAAA,KAAA,EAAA,GAAA,CAAA,EAAA,MAAA;;;;aWxFtB,WAAA;EXCA,eAAS,GAAA,iBAAA;EACT,uBAAA,GAAA,yBAAyB;EACzB,gBAAA,GAAA,kBAAqB;EACrB,kBAAA,GAAA,oBAA6B;EAE7B,kBAAA,GAAA,oBAAoD;EACpD,oBAAA,GAAA,sBAAgC;EAChC,wBAAA,GAAA,0BAAwC;EAIxC,kBAAA,GAAA,oBAA4B;EAE5B,kBAAA,GAAA,oBAAgC;EAC5B,qBAAA,GAAA,uBAAA;EAAZ,YAAA,GAAA,cAAA;EACY,mBAAA,GAAA,qBAAA;EAAZ,yBAAA,GAAA,2BAAA;EAAW,YAAA,GAAA,cAAA;AAEf;AAqCa,cWtCA,OAAA,SAAgB,KAAA,CXsCF;EAGf,SAAA,IAAA,EWrCc,WXqCd;EAEiB,SAAA,OAAA,EAAA,MAAA;EAAsB,SAAA,OAAA,CAAA,EW1CvB,MX0CuB,CAAA,MAAA,EAAA,OAAA,CAAA;EAAZ,WAAA,CAAA,IAAA,EWvCb,WXuCa,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EWrCzB,MXqCyB,CAAA,MAAA,EAAA,OAAA,CAAA;EAEjC,OAAA,eAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EW/BkC,OX+BlC;EAAsB,OAAA,uBAAA,CAAA,KAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA,CAAA,EWvBwC,OXuBxC;EAAZ,OAAA,gBAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EWfyB,OXezB;EAER,OAAA,kBAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EWTmC,OXSnC;EAAU,OAAA,OAAA,CAAA,OAAA,EAAA,MAAA,GWAI,KXAJ,EAAA,OAAA,CAAA,EWCJ,MXDI,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EWEb,OXFa;EAER,OAAA,kBAAA,CAAA,KAAA,EAAA,MAAA,EAAA,CAAA,EWUoC,OXVpC;EAAU,OAAA,oBAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EWqBR,wBXrBQ,GAAA,SAAA,EAAA,KAAA,EAAA,OAAA,CAAA,EWuBf,OXvBe;EAQwB,OAAA,wBAAA,CAAA,KAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA,CAAA,EWsByB,OXtBzB;EAChB,OAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EW6BoB,OX7BpB;EADgB,OAAA,kBAAA,CAAA,KAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EW0CvC,OX1CuC;EAChB,OAAA,qBAAA,CAAA,KAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA,EAAA,OAAA,EWmDf,aXnDe,EAAA,CAAA,EWoDvB,OXpDuB;EAMF,OAAA,YAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,MAAA,CAAA,EW0DrB,OX1DqB;EAChB,OAAA,mBAAA,CAAA,WAAA,EAAA,MAAA,EAAA,KAAA,EWkEC,KXlED,GAAA,MAAA,CAAA,EWmEL,OXnEK;EACuB,OAAA,yBAAA,CAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,KAAA,EW6EtB,KX7EsB,GAAA,MAAA,CAAA,EW8E5B,OX9E4B;;;;;;AAlFjC;AACY,aYAA,cAAA;EZCA;EACA,OAAA,GAAA,SAAA;EAEA;EACA,QAAA,GAAA,UAAA;EACA;EAIA,UAAA,GAAA,YAAA;EAEA;EACI,KAAA,GAAA,OAAA;;;AACZ,KYFQ,uBAAA,GZER,GAAA,GAAA,IAAA,GYF+C,OZE/C,CAAA,IAAA,CAAA;;AAEJ;AAqCA;;AAK6B,UYxCZ,sBZwCY,CAAA,QAAA,CAAA,CAAA;EAAsB,MAAA,EYvCzC,cAAA,CAAe,QZuC0B;EAAZ,IAAA,EAAA,MAAA;EAEjC,QAAA,EAAA,IAAA;EAAsB,eAAA,EYtCT,OZsCS,CAAA,CAAA,SAAA,EYtCW,QZsCX,CAAA,CAAA,GAAA,IAAA;EAAZ,cAAA,EAAA,IAAA;EAER,IAAA,EYtCA,cZsCA;EAAU,KAAA,EYrCT,eZqCS;EAER,IAAA,EYtCF,GZsCE,CAAA,MAAA,CAAA;EAAU,gBAAA,EYrCA,uBZqCA,EAAA;EAQwB,SAAA,EAAA,MAAA;EAChB;EADgB,UAAA,EY1C9B,GZ0C8B,CAAA,MAAA,CAAA;;;;;;AASvC,UY5CY,qBZ4CZ,CAAA,QAAA,CAAA,CAAA;EACqB,MAAA,EY5ChB,cAAA,CAAe,OZ4CC;EAA0B,IAAA,EAAA,MAAA;EAC1C,QAAA,EY3CE,QZ2CF;EACE,eAAA,EAAA,IAAA;EACP,cAAA,EAAA,IAAA;EAC6B,IAAA,EY3C1B,cZ2C0B;EAAb,KAAA,EY1CZ,eZ0CY;EAAiB,IAAA,EYzC9B,GZyC8B,CAAA,MAAA,CAAA;EAAhC,gBAAA,EYxCc,uBZwCd,EAAA;EAC4B,SAAA,EAAA,MAAA;EAAb;EAAiB,UAAA,EYtCxB,GZsCwB,CAAA,MAAA,CAAA;;;;;;AAKlB,UYpCH,wBZoCG,CAAA,QAAA,CAAA,CAAA;EAAG,MAAA,EYnCb,cAAA,CAAe,UZmCF;EAAlB,IAAA,EAAA,MAAA;EAMuB,QAAA,EYvChB,QZuCgB,GAAA,IAAA;EACF,eAAA,EAAA,IAAA;EAAG,cAAA,EYtCX,OZsCW,CAAA,IAAA,CAAA;EAAlB,IAAA,EYrCH,cZqCG;EACQ,KAAA,EYrCV,eZqCU;EAAN,IAAA,EYpCL,GZoCK,CAAA,MAAA,CAAA;EACY,gBAAA,EYpCL,uBZoCK,EAAA;EAAG,SAAA,EAAA,MAAA;EAAvB;EAIyB,UAAA,EYrChB,GZqCgB,CAAA,MAAA,CAAA;;;;;;AAEkB,UYhC/B,mBAAA,CZgC+B;EAAV,MAAA,EY/B5B,cAAA,CAAe,KZ+Ba;EACX,IAAA,EAAA,MAAA;EAAG,QAAA,EY9BlB,KZ8BkB;EAAzB,eAAA,EAAA,IAAA;EAKM,cAAA,EAAA,IAAA;EACc,IAAA,EYjCjB,cZiCiB;EAApB,KAAA,EYhCI,eZgCJ;EAAmB,IAAA,EY/BhB,GZ+BgB,CAAA,MAAA,CAAA;EAsBX,gBAAA,EYpDO,uBZoDY,EAAA;EAAc,SAAA,EAAA,MAAA;EAMJ;EAAG,UAAA,EYvD/B,GZuD+B,CAAA,MAAA,CAAA;;;;;;;;AAAlB,KY9Cf,cZ8Ce,CAAA,WAAA,OAAA,CAAA,GY7CvB,sBZ6CuB,CY7CA,QZ6CA,CAAA,GY5CvB,qBZ4CuB,CY5CD,QZ4CC,CAAA,GY3CvB,wBZ2CuB,CY3CE,QZ2CF,CAAA,GY1CvB,mBZ0CuB;;;AA/I3B;AACA;AACA;AACA;AAEA;AACA;AACY,KaDA,ebCA,CAAA,IAAA,OAAA,CAAA,GAAA,CAAA,SAAwC,EaApC,cbCR,CaDuB,CbE1B,CAAC,CAAA,GAAA,CaDD,ObCC,EaDQ,cbCR,CaDuB,CbCvB,CAAA,CAAA,CAAA,GAAA,IAAA;AAEN;AAEA;;;;;AAEe,UaEE,cAAA,CbFF;EAEH;AAqCZ;;EAK6B,SAAA,KAAA,EatCX,ebsCW;EAAsB;;;;;;;;;EAcP,GAAA,CAAA,IAAA,OAAA,CAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EarCF,ebqCE,CarCc,CbqCd,CAAA;EAChB;;;;;;EAQR,GAAA,CAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EatCgB,cbsChB,CAAA,EAAA,IAAA;EAAf;;;;;;EAK6B,MAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAb;;;;;;;;;EAGa,YAAA,CAAA,CAAA,CAAA,CAAA,YAAA,EAAA,MAAA,EAAA,IAAA,EazBxB,cbyBwB,EAAA,IAAA,EaxBxB,GbwBwB,CAAA,MAAA,CAAA,CAAA,EAAA,CatB9B,UbwBQ,CAAA,OaxBU,OAAA,CAAQ,abwBlB,CAAA,CAAA,SAAA,EaxB4C,CbwB5C,CAAA,CAAA,CAAA,EavBR,cbwBgB,CaxBD,CbwBC,CAAA,CAAG;EAAlB;;;EAOwB,OAAA,CAAA,KAAA,EazBZ,ebyBY,CAAA,EAAA,OAAA;EAAlB;;;EAEc,WAAA,EAAA,EAAA,MAAA,EAAA;EAAG;;;;;EAKjB,OAAA,CAAA,QAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EahBgC,cbgBhC,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;EACQ;;;;;;EACd,cAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EaVgC,cbUhC,GAAA,IAAA;EAKM;;;;AAuBX;;EAM0C,cAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA;EAAG;;;;;;;EAAA,yBAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;;;;;;AA/I7C;AACA;AACA;AACA;AAEY,ccIC,iBAAA,CdJoB;EACrB,iBAAA,MAAA;EACA,QAAA,SAAA;EAIA,WAAA,CAAA,MAA4B,CAA5B,EcA2B,OdA3B,GAA4B,IAAA;EAE5B,EAAA,CAAA,cAAA,MAAA,GAAA,OAAA,MAAgC,EAAA,GAAA,QAAA,MAAA,EAAA,CAAA,CAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EcEjC,KdFiC,EAAA,QAAA,EAAA,CAAA,KAAA,EcGtB,KdHsB,EAAA,GAAA,IAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAC5B,IAAA,CAAA,GAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,Ec2BuB,Od3BvB,Cc2BuB,oBd3BvB,CAAA,GAAA,CAAA,EAAA,GAAA,SAAA,CAAA;;;;AAdJ,UeEK,eAAA,CfFI;EACT;EACA,iBAAA,CAAA,EAAA,OAAqB;AACjC;AAEY,UeEK,mBAAA,CfFgB;EACrB;EACA,UAAA,CAAA,EAAA,OAAA;EAIA;EAEA,aAAA,CAAA,EAAA,CAAA,YAAA,EAAA,MAAgC,EAAA,GeFA,OfEA,CAAA,IAAA,CAAA;EAC5B;EAAZ,OAAA,CAAA,EAAA,OAAA;;;;AAGJ;AAqCA;;;;AAKuC,cepC1B,kBAAA,CfoC0B;EAEjC,iBAAA,QAAA;EAAsB,iBAAA,MAAA;EAAZ,WAAA,CAAA,QAAA,EepCe,iBfoCf,GAAA,IAAA,EAAA,MAAA,CAAA,EenCa,OfmCb,GAAA,IAAA;EAER;;;;;;;;;EAkBE,qBAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EezCG,cfyCH,EAAA,OAAA,CAAA,EexCG,mBfwCH,CAAA,EevCL,OfuCK,CAAA,IAAA,CAAA;EACuB;;;;;;;;;EAKZ,4BAAA,CAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EeVH,GfUG,CAAA,MAAA,CAAA,EAAA,OAAA,EeTR,cfSQ,EAAA,MAAA,EeRT,cfQS,CAAA,EAAA,IAAA;EAAiB;;;;EACA,mBAAA,CAAA,OAAA,EeuBzB,cfvByB,EAAA,OAAA,CAAA,EewBzB,efxByB,CAAA,EeyBjC,OfzBiC,CAAA,IAAA,CAAA;EAAhC;;;EAE4B,gBAAA,CAAA,OAAA,Ee8DA,cf9DA,CAAA,Ee8DiB,Of9DjB,CAAA,IAAA,CAAA;EAEtB;;;EACP,QAAA,2BAAA;EAMuB;;;EACjB,QAAA,wBAAA;EACQ;;;EACS,QAAA,wBAAA;EAAvB;;;EAKwB,QAAA,qBAAA;EAAlB;;;EACqC,QAAA,iBAAA;;;;AA5GhD;AACA;AACA;AACA;AAEA;AACA;AACY,cgBQC,aAAA,ChBRD;EAIA,iBAAA,MAAA;EAEA,WAAA,CAAA,MAAgC,CAAhC,EgBG2B,OhBH3B,GAAA,IAAgC;EAC5B;;;;;AAGhB;AAqCA;EAGY,cAAA,CAAA,KAAA,EgB5BY,iBhB4BZ,CAAA,EgB5BgC,kBhB4BhC;EAEiB;;;;;;;;EAMnB,YAAA,CAAA,IAAA,OAAA,CAAA,CAAA,KAAA,EgBrByB,kBhBqBzB,CAAA,EgBrB8C,chBqB9C,CgBrB6D,ChBqB7D,CAAA;EAAU;;;;;;;EAiBa,gBAAA,CAAA,IAAA,OAAA,CAAA,CAAA,KAAA,EgBrBM,iBhBqBN,CAAA,EgBrB0B,chBqB1B,CgBrByC,ChBqBzC,CAAA;EAAb;;;;;;;EAKc,2BAAA,CAAA,KAAA,EgBVvB,iBhBUuB,EAAA,IAAA,CAAA,EAAA,GAAA,CAAA,EAAA,CgBP9B,OhBOiB,GAAA,SAAA,EAAiB;IAAhC,WAAA,EgBNa,kBhBMb;IAC4B,aAAA,CAAA,EAAA,GAAA;EAAb,CAAA,CAAiB;;;;AAxFtC;AACA;AACA;AACA;AAEA;AACA;AACA;AAIY,ciBGC,cAAA,YAA0B,cjBHgB,CAAA;EAE3C,SAAA,KAAA,EiBEM,ejBFN;EACI,iBAAA,OAAA;EAAZ;;;;EAGQ,iBAAA,UAAwB;EAqCvB,WAAA,CAAA,KAAc,CAAA,EiB9BN,ejB8BM;EAGf,GAAA,CAAA,IAAA,OAAA,CAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EiB7B8B,ejB6B9B,CiB7B8C,CjB6B9C,CAAA;EAEiB,GAAA,CAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EiBDO,cjBCP,CAAA,EAAA,IAAA;EAAsB,MAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAZ,YAAA,CAAA,CAAA,CAAA,CAAA,YAAA,EAAA,MAAA,EAAA,IAAA,EiBkB7B,cjBlB6B,EAAA,IAAA,EiBmB7B,GjBnB6B,CAAA,MAAA,CAAA,CAAA,EAAA,CiBqBnC,UjBnBE,CAAA,OiBmBgB,OAAA,CAAQ,ajBnBxB,CAAA,CAAA,SAAA,EiBmBkD,CjBnBlD,CAAA,CAAA,CAAA,EiBoBF,cjBpBwB,CiBoBT,CjBpBS,CAAA,CAAZ;EAER,aAAA,CAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,IAAA;EAAU,OAAA,CAAA,KAAA,EiBoED,ejBpEC,CAAA,EAAA,OAAA;EAER,WAAA,CAAA,CAAA,EAAA,MAAA,EAAA;EAAU,OAAA,CAAA,QAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EiB8EuB,cjB9EvB,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;EAQwB,cAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EiB4EP,cjB5EO,GAAA,IAAA;EAChB,cAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA;EADgB;;;;;;;EAUlB,yBAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAA0B;;;EAG/C,QAAA,oBAAA;EAC6B;;;EAA5B,QAAA,yBAAA;;;;;;;;;AAtEN;AAqCa,uBkB1BS,iBAAA,YAA6B,UlB0BxB,CAAA;EAGf;;;EAE2B,4BAAA,YAAA,EkB3BK,elB2BL;EAEjC;;;EAEE,4BAAA,SAAA,EAAA,MAAA,GAAA,SAAA;EAAU;;;EAU0B,SAAA,UAAA,CAAA,CAAA,EkB3BnB,clB2BmB;EAChB;;;EAMF,mBAAA,WAAA,CAAA,CAAA,EkB7BU,QlB6BV;EAChB;;;EACL,mBAAA,gBAAA,CAAA,CAAA,EkB1BoC,alB0BpC;EACqB;;;EAEd,mBAAA,eAAA,CAAA,CAAA,EkBxB4B,YlBwB5B;EACP;;;EACiC,mBAAA,qBAAA,CAAA,CAAA,EkBrBQ,kBlBqBR;EAAhC;;;EACgC,SAAA,GAAA,CAAA,UkBhBb,SlBgBa,CAAA,CAAA,KAAA,EkBf3B,ClBe2B,CAAA,EkBdjC,YlBciC,CkBdpB,ClBcoB,CAAA,SkBdT,UlBcS,CAAA,KAAA,EAAA,CAAA,GkBbhC,OlBagC,CkBbxB,ClBawB,CAAA,GkBZhC,OlBYgC,CkBZxB,YlBYwB,CkBZX,ClBYW,CAAA,CAAA;EAAhC,SAAA,GAAA,CAAA,UkBVmB,qBlBUnB,CkBVyC,ClBUzC,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,EkBTK,ClBSL,EAAA,IAAA,EkBRI,ClBQJ,CAAA,EkBPD,OlBOC,CkBPO,YlBOP,CkBPoB,ClBOpB,CAAA,CAAA;EACoD,SAAA,GAAA,CAAA,CAAA,EAAA,UkBN9B,wBlBM8B,CAAA,CAAA,KAAA,EkBL/C,clBK+C,CkBLhC,ClBKgC,EkBL7B,ClBK6B,CAAA,EAAA,IAAA,EkBJhD,CAAA,CAAE,KlBI8C,CkBJxC,ClBIwC,CAAA,CAAA,EkBHrD,OlBGqD,CkBH7C,ClBG6C,CAAA;EAAf,SAAA,GAAA,CAAA,CAAA,EAAA,UkBDf,wBlBCe,EAAA,UAAA,OAAA,CAAA,CAAA,KAAA,EkBAhC,clBAgC,CkBAjB,ClBAiB,EkBAd,ClBAc,EkBAX,ClBAW,CAAA,CAAA,EkBCtC,ClBDsC,SAAA,KAAA,GkBErC,OlBFqC,CkBE7B,ClBF6B,CAAA,GkBGrC,ClBHqC,SkBG3B,OlBH2B,CAAA,KAAA,KAAA,CAAA,GAAA,oCkBIC,IlBJD,CkBKjC,YlBLiC,CAAA,MkBKd,IlBLc,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EACT,SAAA,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EkBST,clBTS,CkBSM,ClBTN,EAAA,SAAA,CAAA,CAAA,EkBSsB,OlBTtB,CkBS8B,ClBT9B,CAAA;EAEtB,SAAA,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EkBQa,mBlBRb,CkBQiC,ClBRjC,EAAA,GAAA,CAAA,CAAA,EkBQ2C,OlBR3C,CkBQmD,ClBRnD,CAAA;EACQ,SAAA,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EkBQK,qBlBRL,CkBQ2B,ClBR3B,EAAA,GAAA,CAAA,CAAA,EkBQqC,OlBRrC,CkBQ6C,ClBR7C,CAAA;EAAG;;;EAOG,SAAA,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EkBMe,OlBNf,CAAA,IAAA,CAAA;EAAG;;;EAChB,SAAA,OAAA,CAAA,CAAA,EkBUS,OlBVT,CAAA,IAAA,CAAA;EACY;;;;;;;;EAM6B,qBAAA,CAAA,KAAA,EkBmB9C,SlBnB8C,GkBoB9C,clBpB8C,CAAA,GAAA,EAAA,GAAA,CAAA,GkBqB9C,mBlBrB8C,CAAA,GAAA,EAAA,GAAA,CAAA,GkBsB9C,qBlBtB8C,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAN;;;EAClB,YAAA,CAAA,KAAA,EAAA,GAAA,CAAA,EAAA,OAAA;EAAzB;;;EAMA,KAAA,CAAA,CAAA,EkBwEY,OlBxEZ,CAAA,IAAA,CAAA;EAAmB;AAsBxB;;;EAM6C,UAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,GAAA,EAAA,IAAA,CAAA,EAAA,GAAA,CAAA,EkBoDJ,ClBpDI,GAAA,IAAA;EAAlB;;;;EAHV,UAAA,qBAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,GAAA,EAAA,IAAA,EAAA,GAAA,EAAA,OAAA,EkBuEJ,clBvEI,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EkByEZ,ClBzEY,GAAA,IAAA;EAGyB;;;;;;AAa1C;;EAQ0C,WAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EkBwF/B,SlBxF+B,GkBwFnB,clBxFmB,CkBwFJ,ClBxFI,EAAA,GAAA,CAAA,GkBwFM,mBlBxFN,CkBwF0B,ClBxF1B,EAAA,GAAA,CAAA,EAAA,QAAA,EkByF5B,ClBzF4B,CAAA,EAAA,IAAA;EAAG;;;;EACmB,UAAA,oBAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EkBwGrD,SlBxGqD,GkBwGzC,clBxGyC,CkBwG1B,ClBxG0B,EAAA,GAAA,CAAA,GkBwGhB,mBlBxGgB,CkBwGI,ClBxGJ,EAAA,GAAA,CAAA,EAAA,QAAA,EkByGlD,ClBzGkD,EAAA,OAAA,EkB0GnD,clB1GmD,EAAA,KAAA,EkB2GrD,elB3GqD,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;;;;;;;AApJhE;AAqCA;;;AAKmD,cmB/BtC,eAAA,SAAwB,iBAAA,CnB+Bc;EAAZ,iBAAA,MAAA;EAEjC,iBAAA,QAAA;EAAsB,SAAA,SAAA,EAAA,MAAA;EAAZ,mBAAA,YAAA,GmBhCiB,eAAA,CAAA,OAAA;EnBkCzB,iBAAA,OAAA;EAAU,QAAA,QAAA;EAER,iBAAA,QAAA;EAAU,WAAA,CAAA,MAAA,EmB7BS,SnB6BT,EAAA,QAAA,EmB5BW,QnB4BX,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EmB1BL,MnB0BK,CAAA,MAAA,EAAA,GAAA,CAAA;EAQwB,UAAA,CAAA,CAAA,EmBtB5B,cnBsB4B;EAChB,UAAA,WAAA,CAAA,CAAA,EmBnBD,QnBmBC;EADgB,UAAA,gBAAA,CAAA,CAAA,EmBdZ,anBcY;EAChB,UAAA,eAAA,CAAA,CAAA,EmBXG,YnBWH;EAMF,UAAA,qBAAA,CAAA,CAAA,EmBbW,kBnBaX;EAChB;;;EACL,YAAA,CAAA,CAAA,EAAA,MAAA;EACqB;;;EAEd,SAAA,CAAA,CAAA,EmBAG,SnBAH;EACP;;;EACiC,WAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,SAAA;EAAhC;;;EACgC,WAAA,CAAA,GAAA,EAAA,MAAA,EAAA,KAAA,EAAA,GAAA,CAAA,EAAA,IAAA;EAAhC;;;;;EAKc,GAAA,CAAA,UmBgBJ,SnBhBI,CAAA,CAAA,KAAA,EmBiBT,CnBjBS,CAAA,EmBkBf,YnBlBe,CmBkBF,CnBlBE,CAAA,SmBkBS,UnBlBT,CAAA,KAAA,EAAA,CAAA,GmBmBd,OnBnBc,CmBmBN,CnBnBM,CAAA,GmBoBd,OnBpBc,CmBoBN,YnBpBM,CmBoBO,CnBpBP,CAAA,CAAA;EAAG,GAAA,CAAA,UmBsBP,qBnBtBO,CmBsBe,CnBtBf,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,EmBuBZ,CnBvBY,EAAA,IAAA,EmBwBb,CnBxBa,CAAA,EmByBlB,OnBzBkB,CmByBV,YnBzBU,CmByBG,CnBzBH,CAAA,CAAA;EAAlB,GAAA,CAAA,CAAA,EAAA,UmB2Bc,wBnB3Bd,CAAA,CAAA,KAAA,EmB4BM,cnB5BN,CmB4BqB,CnB5BrB,EmB4BwB,CnB5BxB,CAAA,EAAA,IAAA,EmB6BK,CAAA,CAAE,KnB7BP,CmB6Ba,CnB7Bb,CAAA,CAAA,EmB8BA,OnB9BA,CmB8BQ,CnB9BR,CAAA;EAMuB,GAAA,CAAA,CAAA,EAAA,UmB0BT,wBnB1BS,EAAA,UAAA,OAAA,CAAA,CAAA,KAAA,EmB2BjB,cnB3BiB,CmB2BF,CnB3BE,EmB2BC,CnB3BD,EmB2BI,CnB3BJ,CAAA,CAAA,EmB4BvB,CnB5BuB,SAAA,KAAA,GmB6BtB,OnB7BsB,CmB6Bd,CnB7Bc,CAAA,GmB8BtB,CnB9BsB,SmB8BZ,OnB9BY,CAAA,KAAA,KAAA,CAAA,GAAA,oCmB+BgB,InB/BhB,CmBgClB,YnBhCkB,CAAA,MmBgCC,InBhCD,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EACF,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EmBoCV,cnBpCU,CmBoCK,CnBpCL,EAAA,SAAA,CAAA,CAAA,EmBoCqB,OnBpCrB,CmBoC6B,CnBpC7B,CAAA;EAAG,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EmBqCb,mBnBrCa,CmBqCO,CnBrCP,EAAA,GAAA,CAAA,CAAA,EmBqCiB,OnBrCjB,CmBqCyB,CnBrCzB,CAAA;EAAlB,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EmBsCK,qBnBtCL,CmBsC2B,CnBtC3B,EAAA,GAAA,CAAA,CAAA,EmBsCqC,OnBtCrC,CmBsC6C,CnBtC7C,CAAA;EACQ;;;EACS,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EmBqFU,OnBrFV,CAAA,IAAA,CAAA;EAAvB;;;;EAKM,OAAA,CAAA,CAAA,EmBkGQ,OnBlGR,CAAA,IAAA,CAAA;EACQ;;;;;EACW,UAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,GAAA,EAAA,IAAA,CAAA,EAAA,GAAA,CAAA,EmByGoB,CnBzGpB,GAAA,IAAA;EAAzB;;;;EAMmB,WAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EmBgIb,SnBhIa,GmBgID,cnBhIC,CmBgIc,CnBhId,EAAA,GAAA,CAAA,GmBgIwB,mBnBhIxB,CmBgI4C,CnBhI5C,EAAA,GAAA,CAAA,EAAA,QAAA,EmBiIV,CnBjIU,CAAA,EAAA,IAAA;EAsBX;;;EAMgC,UAAA,CAAA,CAAA,EmBiHvB,OnBjHuB,CAAA,IAAA,CAAA;;;;AA5I7C;AAEA;AACA;AACA;AAIA;AAEA;AACgB,coBFH,YAAA,CpBEG;EAAZ,iBAAA,QAAA;EACY,iBAAA,YAAA;EAAZ,iBAAA,MAAA;EAAW,WAAA,CAAA,QAAA,EoBDgB,QpBChB,EAAA,YAAA,EoBAoB,YpBApB,EAAA,MAAA,CAAA,EoBCc,OpBDd,GAAA,IAAA;EAEH;AAqCZ;;;;;;;;;;;;;EAoB4B,oBAAA,CAAA,kBAAA,EAAA,MAAA,EAAA,mBAAA,EoBvCH,epBuCG,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EoBrCP,epBqCO,EAAA,eAAA,EoBpCP,cpBoCO,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,gBAAA,EoBnCN,cpBmCM,EAAA,cAAA,CAAA,EoBlCP,cpBkCO,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;EADgB;;;;;;;;;;;EAavC,qBAAA,CAAA,WAAA,EAAA,MAAA,EAAA,KAAA,EoBaM,cpBbN,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,gBAAA,EoBciB,cpBdjB,EAAA,cAAA,EoBee,cpBff,EAAA,SAAA,EAAA,MAAA,CAAA,EoBiBA,OpBjBA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EoBiB2B,OpBjB3B,CAAA,CAAA,CAAA;EAC6B;;;;EACA,QAAA,yBAAA;EAAb;;;;;;;;EAKE,wBAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,gBAAA,EoBqID,cpBrIC,EAAA,cAAA,CAAA,EoBsIF,cpBtIE,CAAA,EAAA,IAAA;;;;AA5FvB;AACA;AACA;AAEA;AACA;AACA;AAIY,cqBFC,kBAAA,CrBE2B;EAE5B,iBAAA,SAAA;EACI,WAAA,CAAA,SAAA,EqBJ0B,SrBI1B;EAAZ;;;;AAGJ;AAqCA;;EAK6B,kBAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EqBvCpB,4BrBuCoB,EAAA,MAAA,EqBtCjB,arBsCiB,CqBtCH,CrBsCG,EAAA,GAAA,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,CAAA,EqBpCxB,OrBoCwB,CAAA,CAAA,SAAA,EqBpCJ,CrBoCI,CAAA,GAAA,CqBpCE,OrBoCF,CAAA,CAAA;EAAsB;;;;;;;EAMzC,QAAA,gBAAA;EAAU;;;;;;;EAiBa,QAAA,kBAAA;;;;;;;;;AAjEjC;AAqCA;AAGY,csBtBC,gBAAA,CtBsBD;EAEiB,iBAAA,QAAA;EAAsB,iBAAA,OAAA;EAAZ,iBAAA,kBAAA;EAEjC,iBAAA,aAAA;EAAsB,iBAAA,YAAA;EAAZ,iBAAA,YAAA;EAER,iBAAA,kBAAA;EAAU,iBAAA,QAAA;EAER,iBAAA,MAAA;EAAU,WAAA,CAAA,QAAA,EsB5BW,QtB4BX,EAAA,OAAA,EsB3BU,ctB2BV,EAAA,kBAAA,EsB1BqB,kBtB0BrB,EAAA,aAAA,EsBzBgB,atByBhB,EAAA,YAAA,EsBxBe,YtBwBf,EAAA,YAAA,EsBvBe,YtBuBf,EAAA,kBAAA,EsBtBqB,kBtBsBrB,EAAA,QAAA,EsBrBW,iBtBqBX,EAAA,MAAA,CAAA,EsBpBS,OtBoBT,GAAA,IAAA;EAQwB;;;;;;;;;;EAUQ,eAAA,CAAA,KAAA,EsBpBzC,iBtBoByC,EAAA,IAAA,EAAA,GAAA,EAAA,gBAAA,EsBlB9B,UtBkB8B,EAAA,cAAA,CAAA,EsBjB/B,ctBiB+B,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EsBf/C,OtBe+C,CAAA,CAAA,SAAA,EAAA,GAAA,CAAA,GAAA,CsBfnB,OtBemB,CAAA,CAAA;EAC1C;;;;;;;;EAIW,4BAAA,CAAA,KAAA,EsBCV,iBtBDU,EAAA,IAAA,EAAA,GAAA,EAAA,eAAA,EsBGA,etBHA,CAAA,EsBIhB,OtBJgB,CAAA,CAAA,SAAA,EAAA,GAAA,CAAA,GAAA,CsBIY,OtBJZ,CAAA,CAAA;EAAiB;;;;;;;;;;;;;;;EAcb,QAAA,kBAAA;EAAG;;;;EAKC,QAAA,kCAAA;EAAlB;;;;EAC2B,QAAA,kBAAA;EACX;;;;;;EAMH,QAAA,sBAAA;EAsBX;;;;EAMc,QAAA,uBAAA;EACQ;;;EAJlB,QAAA,0BAAA;EAGyB;;;EACP,QAAA,wBAAA;EAAN;;AAY7B;EAAgD,QAAA,yBAAA;EAQN;;;;;;;EAPjB,QAAA,oBAAA;EAAN;;;EAOuB,QAAA,kCAAA;;;;AA9G1C;;;;;;;AAOgB,cuBvBH,SAAA,SAAkB,iBAAA,CvBuBf;EAER,mBAAA,QAAA,EuBVyB,QvBUzB;EAAU,mBAAA,MAAA,EuBTa,OvBSb,GAAA,IAAA;EAER,mBAAA,SAAA,EuBVwB,SvBUxB;EAAU,mBAAA,YAAA,GuB1Ba,eAAA,CAAA,SAAA;EvBkCW,mBAAA,SAAA,EAAA,SAAA;EAChB,iBAAA,OAAA;EADgB,iBAAA,kBAAA;EAChB,iBAAA,kBAAA;EAMF,iBAAA,aAAA;EAChB,iBAAA,YAAA;EACuB,iBAAA,YAAA;EAAb,iBAAA,QAAA;EAAf,iBAAA,gBAAA;EACqB,iBAAA,gBAAA;EAA0B,WAAA,CAAA,QAAA,CAAA,EuB9BnB,QvB8BmB,EAAA,MAAA,CAAA,EuB7BrB,OvB6BqB,GAAA,IAAA,EAAA,SAAA,CAAA,EuB5BlB,SvB4BkB;EAC1C,QAAA,YAAA;EACE;;;;;EAEN,GAAA,CAAA,UuBgBU,SvBhBV,CAAA,CAAA,KAAA,EuBiBK,CvBjBL,CAAA,EuBkBD,YvBlBC,CuBkBY,CvBlBZ,CAAA,SuBkBuB,UvBlBvB,CAAA,KAAA,EAAA,CAAA,GuBmBA,OvBnBA,CuBmBQ,CvBnBR,CAAA,GuBoBA,OvBpBA,CuBoBQ,YvBpBR,CuBoBqB,CvBpBrB,CAAA,CAAA;EAC4B,GAAA,CAAA,UuBqBlB,qBvBrBkB,CuBqBI,CvBrBJ,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,EuBsBvB,CvBtBuB,EAAA,IAAA,EuBuBxB,CvBvBwB,CAAA,EuBwB7B,OvBxB6B,CuBwBrB,YvBxBqB,CuBwBR,CvBxBQ,CAAA,CAAA;EAAb,GAAA,CAAA,CAAA,EAAA,UuB0BF,wBvB1BE,CAAA,CAAA,KAAA,EuB2BV,cvB3BU,CuB2BK,CvB3BL,EuB2BQ,CvB3BR,CAAA,EAAA,IAAA,EuB4BX,CAAA,CAAE,KvB5BS,CuB4BH,CvB5BG,CAAA,CAAA,EuB6BhB,OvB7BgB,CuB6BR,CvB7BQ,CAAA;EAAiB,GAAA,CAAA,CAAA,EAAA,UuB+BnB,wBvB/BmB,EAAA,UAAA,OAAA,CAAA,CAAA,KAAA,EuBgC3B,cvBhC2B,CuBgCZ,CvBhCY,EuBgCT,CvBhCS,EuBgCN,CvBhCM,CAAA,CAAA,EuBiCjC,CvBjCiC,SAAA,KAAA,GuBkChC,OvBlCgC,CuBkCxB,CvBlCwB,CAAA,GuBmChC,CvBnCgC,SuBmCtB,OvBnCsB,CAAA,KAAA,KAAA,CAAA,GAAA,oCuBoCM,IvBpCN,CuBqC5B,YvBrC4B,CAAA,MuBqCT,IvBrCS,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,iCAAA;EAAhC,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EuB0CU,cvB1CV,CuB0CyB,CvB1CzB,EAAA,SAAA,CAAA,CAAA,EuB0CyC,OvB1CzC,CuB0CiD,CvB1CjD,CAAA;EACoD,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EuB0C1C,mBvB1C0C,CuB0CtB,CvB1CsB,EAAA,GAAA,CAAA,CAAA,EuB0CZ,OvB1CY,CuB0CJ,CvB1CI,CAAA;EAAf,GAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EuB2C3B,qBvB3C2B,CuB2CL,CvB3CK,EAAA,GAAA,CAAA,CAAA,EuB2CK,OvB3CL,CuB2Ca,CvB3Cb,CAAA;EACT;;;EAGX,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EuB+Ee,OvB/Ef,CAAA,IAAA,CAAA;EAAlB;;;EAOwB,OAAA,CAAA,CAAA,EuB2FV,OvB3FU,CAAA,IAAA,CAAA;EAAlB;;;;;EAEN,UAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,GAAA,EAAA,IAAA,CAAA,EAAA,GAAA,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EuBkGiE,CvBlGjE,GAAA,IAAA;EAIyB;;;EACnB,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EuB2GI,MvB3GJ,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,EuB4GN,evB5GM;EACQ;;;EAAmB,mBAAA,CAAA,CAAA,EuBwHb,WvBxHa,CAAA,MAAA,CAAA;EACX;;;EAKhB,gBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EACc;;;AAsBzB;EAA8C,eAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAMJ,UAAA,CAAA,CAAA,EuB4G1B,cvB5G0B;EAAG,qBAAA,CAAA,CAAA,EuBgHlB,kBvBhHkB;EAAlB,qBAAA,CAAA,CAAA,EuBoHA,kBvBpHA;EACQ,gBAAA,CAAA,CAAA,EuBuHb,avBvHa;EAAN,eAAA,CAAA,CAAA,EuB2HR,YvB3HQ;EALI,eAAA,CAAA,CAAA,EuBoIZ,YvBpIY;EAChB,WAAA,CAAA,CAAA,EuBuIA,iBvBvIA;EAGyB,WAAA,CAAA,CAAA,EuBwIzB,QvBxIyB;EAAG,mBAAA,CAAA,CAAA,EuB4IpB,gBvB5IoB"}
package/lib/index.cjs CHANGED
@@ -1,12 +1,11 @@
1
- const require_container = require('./container-DENMeJ87.cjs');
2
- require("zod/v4");
1
+ const require_container = require('./container-CaY2fDuk.cjs');
3
2
 
4
3
  //#region src/decorators/factory.decorator.mts
5
- function Factory({ scope = require_container.InjectableScope.Singleton, token, registry = require_container.globalRegistry } = {}) {
4
+ function Factory({ scope = require_container.InjectableScope.Singleton, token, registry = require_container.globalRegistry, priority = 0 } = {}) {
6
5
  return (target, context) => {
7
- if (context && context.kind !== "class" || target instanceof Function && !context) throw new Error("[ServiceLocator] @Factory decorator can only be used on classes.");
6
+ if (context && context.kind !== "class" || target instanceof Function && !context) throw new Error("[DI] @Factory decorator can only be used on classes.");
8
7
  let injectableToken = token ?? require_container.InjectionToken.create(target);
9
- registry.set(injectableToken, scope, target, require_container.InjectableType.Factory);
8
+ registry.set(injectableToken, scope, target, require_container.InjectableType.Factory, priority);
10
9
  target[require_container.InjectableTokenMeta] = injectableToken;
11
10
  return target;
12
11
  };
@@ -328,7 +327,6 @@ var EventEmitter = class {
328
327
  };
329
328
 
330
329
  //#endregion
331
- exports.BaseHolderManager = require_container.BaseHolderManager;
332
330
  exports.BoundInjectionToken = require_container.BoundInjectionToken;
333
331
  exports.CircularDetector = require_container.CircularDetector;
334
332
  Object.defineProperty(exports, 'Container', {
@@ -339,7 +337,6 @@ Object.defineProperty(exports, 'Container', {
339
337
  });
340
338
  exports.DIError = require_container.DIError;
341
339
  exports.DIErrorCode = require_container.DIErrorCode;
342
- exports.DefaultRequestContext = require_container.DefaultRequestContext;
343
340
  Object.defineProperty(exports, 'EventEmitter', {
344
341
  enumerable: true,
345
342
  get: function () {
@@ -348,7 +345,6 @@ Object.defineProperty(exports, 'EventEmitter', {
348
345
  });
349
346
  exports.Factory = Factory;
350
347
  exports.FactoryInjectionToken = require_container.FactoryInjectionToken;
351
- exports.HolderManager = require_container.HolderManager;
352
348
  exports.Injectable = require_container.Injectable;
353
349
  exports.InjectableScope = require_container.InjectableScope;
354
350
  exports.InjectableTokenMeta = require_container.InjectableTokenMeta;
@@ -356,23 +352,25 @@ exports.InjectableType = require_container.InjectableType;
356
352
  exports.InjectionToken = require_container.InjectionToken;
357
353
  exports.InstanceResolver = require_container.InstanceResolver;
358
354
  exports.InstanceStatus = require_container.InstanceStatus;
359
- exports.Instantiator = require_container.Instantiator;
360
- exports.Invalidator = require_container.Invalidator;
361
355
  exports.LifecycleEventBus = require_container.LifecycleEventBus;
356
+ exports.NameResolver = require_container.NameResolver;
362
357
  exports.Registry = require_container.Registry;
363
- exports.RequestStorage = require_container.RequestStorage;
358
+ exports.ScopeTracker = require_container.ScopeTracker;
364
359
  exports.ScopedContainer = require_container.ScopedContainer;
365
- exports.ServiceLocator = require_container.ServiceLocator;
366
- exports.SingletonStorage = require_container.SingletonStorage;
367
- exports.TokenProcessor = require_container.TokenProcessor;
360
+ exports.ServiceInitializer = require_container.ServiceInitializer;
361
+ exports.ServiceInvalidator = require_container.ServiceInvalidator;
362
+ exports.StubFactoryClass = require_container.StubFactoryClass;
363
+ exports.TokenResolver = require_container.TokenResolver;
364
+ exports.UnifiedStorage = require_container.UnifiedStorage;
368
365
  exports.asyncInject = require_container.asyncInject;
369
- exports.createRequestContext = require_container.createRequestContext;
366
+ exports.createAsyncLocalStorage = require_container.createAsyncLocalStorage;
370
367
  exports.defaultInjectors = require_container.defaultInjectors;
371
368
  exports.getCurrentResolutionContext = require_container.getCurrentResolutionContext;
372
369
  exports.getInjectableToken = require_container.getInjectableToken;
373
370
  exports.getInjectors = require_container.getInjectors;
374
371
  exports.globalRegistry = require_container.globalRegistry;
375
372
  exports.inject = require_container.inject;
373
+ exports.isUsingNativeAsyncLocalStorage = require_container.isUsingNativeAsyncLocalStorage;
376
374
  exports.optional = require_container.optional;
377
375
  exports.provideFactoryContext = require_container.provideFactoryContext;
378
376
  exports.withResolutionContext = require_container.withResolutionContext;
package/lib/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["InjectableScope","InjectableType","InjectionToken","globalRegistry","InjectableTokenMeta","Factory","scope","Singleton","token","registry","target","context","kind","Function","Error","injectableToken","create","set","Injectable","InjectableScope","scope","Transient","EventEmitter","listeners","Map","on","event","listener","has","set","Set","get","add","off","delete","size","once","args","emit","Promise","all","Array","from","map"],"sources":["../src/decorators/factory.decorator.mts","../src/event-emitter.mts"],"sourcesContent":["import type {\n ClassTypeWithInstance,\n InjectionTokenSchemaType,\n} from '../token/injection-token.mjs'\nimport type { Factorable, FactorableWithArgs } from '../interfaces/index.mjs'\nimport type { Registry } from '../token/registry.mjs'\n\nimport { InjectableScope, InjectableType } from '../enums/index.mjs'\nimport { InjectionToken } from '../token/injection-token.mjs'\nimport { globalRegistry } from '../token/registry.mjs'\nimport { InjectableTokenMeta } from '../symbols/index.mjs'\n\nexport interface FactoryOptions {\n scope?: InjectableScope\n token?: InjectionToken<any, any>\n registry?: Registry\n}\n\n// #1 Factory without arguments\nexport function Factory<R>(options?: {\n scope?: InjectableScope\n registry?: Registry\n}): <T extends ClassTypeWithInstance<Factorable<R>>>(\n target: T,\n context?: ClassDecoratorContext,\n) => T\n\n// #2 Factory with typed token\nexport function Factory<R, S>(options: {\n scope?: InjectableScope\n token: InjectionToken<R, S>\n registry?: Registry\n}): R extends undefined // #2.1 Check that token has a type\n ? never // #2.1.1 Token must have a type\n : S extends InjectionTokenSchemaType // #2.2 Check that schema is an object or a record\n ? <T extends ClassTypeWithInstance<FactorableWithArgs<R, S>>>( // #2.2.1 Token have a schema\n target: T,\n context?: ClassDecoratorContext,\n ) => T\n : S extends undefined // #2.3 For a factory without schema\n ? <T extends ClassTypeWithInstance<Factorable<R>>>( // #2.3.1 Token without a schema\n target: T,\n context?: ClassDecoratorContext,\n ) => T\n : never // #2.4 Cannot use a token without a type and schema\n\nexport function Factory({\n scope = InjectableScope.Singleton,\n token,\n registry = globalRegistry,\n}: FactoryOptions = {}) {\n return <\n T extends ClassTypeWithInstance<\n Factorable<any> | FactorableWithArgs<any, any>\n >,\n >(\n target: T,\n context?: ClassDecoratorContext,\n ): T => {\n if (\n (context && context.kind !== 'class') ||\n (target instanceof Function && !context)\n ) {\n throw new Error(\n '[ServiceLocator] @Factory decorator can only be used on classes.',\n )\n }\n\n let injectableToken: InjectionToken<any, any> =\n token ?? InjectionToken.create(target)\n\n registry.set(injectableToken, scope, target, InjectableType.Factory)\n\n // @ts-expect-error\n target[InjectableTokenMeta] = injectableToken\n\n return target\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unsafe-function-type */\n\nimport { Injectable, InjectableScope } from './index.mjs'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type EventsConfig = {\n [event: string]: any[]\n}\nexport type EventsNames<Events extends EventsConfig> = Exclude<\n keyof Events,\n symbol | number\n>\nexport type EventsArgs<\n Events extends EventsConfig,\n Name extends EventsNames<Events>,\n> = Events[Name] extends any[] ? Events[Name] : []\n\nexport type ChannelEmitter<\n Events extends EventsConfig,\n Ns extends string,\n E extends EventsNames<Events>,\n> = {\n emit<Args extends EventsArgs<Events, E>>(\n ns: Ns,\n event: E,\n ...args: Args\n ): Promise<any>\n}\n\nexport interface EventEmitterInterface<Events extends EventsConfig> {\n on<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ): () => void\n emit<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n ...args: Args\n ): void | Promise<void>\n}\n\n@Injectable({ scope: InjectableScope.Transient })\nexport class EventEmitter<Events extends EventsConfig = {}>\n implements EventEmitterInterface<Events>\n{\n private listeners: Map<EventsNames<Events>, Set<Function>> = new Map()\n\n on<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ) {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set())\n }\n\n this.listeners.get(event)!.add(listener)\n\n return () => {\n this.off(event, listener)\n }\n }\n\n off<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ) {\n if (!this.listeners.has(event)) {\n return\n }\n\n this.listeners.get(event)!.delete(listener)\n if (this.listeners.get(event)!.size === 0) {\n this.listeners.delete(event)\n }\n }\n\n once<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ) {\n const off = this.on(event, (...args) => {\n off()\n // @ts-expect-error - This is a valid call\n listener(...args)\n })\n\n return off\n }\n\n async emit<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n ...args: Args\n ): Promise<any> {\n if (!this.listeners.has(event)) {\n return\n }\n\n return Promise.all(\n Array.from(this.listeners.get(event)!).map((listener) =>\n listener(...args),\n ),\n )\n }\n}\n"],"mappings":";;;;AA8CA,SAAgBK,QAAQ,EACtBC,QAAQN,kCAAgBO,WACxBC,OACAC,WAAWN,qCACO,EAAE,EAAA;AACpB,SAKEO,QACAC,YAAAA;AAEA,MACE,WAAYA,QAAQC,SAAS,WAC5BF,kBAAkBG,YAAY,CAACF,QAEhC,OAAM,IAAIG,MACR,mEAAA;EAIJ,IAAIC,kBACFP,SAASN,iCAAec,OAAON,OAAAA;AAEjCD,WAASQ,IAAIF,iBAAiBT,OAAOI,QAAQT,iCAAeI,QAAO;AAGnEK,SAAON,yCAAuBW;AAE9B,SAAOL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OClCVQ,6BAAW,EAAEE,OAAOD,kCAAgBE,WAAU,CAAA;AACxC,IAAMC,eAAN,MAAMA;;;;CAGHC,4BAAqD,IAAIC,KAAAA;CAEjEC,GACEC,OACAC,UACA;AACA,MAAI,CAAC,KAAKJ,UAAUK,IAAIF,MAAAA,CACtB,MAAKH,UAAUM,IAAIH,uBAAO,IAAII,KAAAA,CAAAA;AAGhC,OAAKP,UAAUQ,IAAIL,MAAAA,CAAQM,IAAIL,SAAAA;AAE/B,eAAO;AACL,QAAKM,IAAIP,OAAOC,SAAAA;;;CAIpBM,IACEP,OACAC,UACA;AACA,MAAI,CAAC,KAAKJ,UAAUK,IAAIF,MAAAA,CACtB;AAGF,OAAKH,UAAUQ,IAAIL,MAAAA,CAAQQ,OAAOP,SAAAA;AAClC,MAAI,KAAKJ,UAAUQ,IAAIL,MAAAA,CAAQS,SAAS,EACtC,MAAKZ,UAAUW,OAAOR,MAAAA;;CAI1BU,KACEV,OACAC,UACA;EACA,MAAMM,MAAM,KAAKR,GAAGC,QAAQ,GAAGW,SAAAA;AAC7BJ,QAAAA;AAEAN,YAAAA,GAAYU,KAAAA;IACd;AAEA,SAAOJ;;CAGT,MAAMK,KACJZ,OACA,GAAGW,MACW;AACd,MAAI,CAAC,KAAKd,UAAUK,IAAIF,MAAAA,CACtB;AAGF,SAAOa,QAAQC,IACbC,MAAMC,KAAK,KAAKnB,UAAUQ,IAAIL,MAAAA,CAAAA,CAASiB,KAAKhB,aAC1CA,SAAAA,GAAYU,KAAAA,CAAAA,CAAAA"}
1
+ {"version":3,"file":"index.cjs","names":["InjectableScope","InjectableType","InjectableTokenMeta","InjectionToken","globalRegistry","Factory","scope","Singleton","token","registry","priority","target","context","kind","Function","Error","injectableToken","create","set","Injectable","InjectableScope","scope","Transient","EventEmitter","listeners","Map","on","event","listener","has","set","Set","get","add","off","delete","size","once","args","emit","Promise","all","Array","from","map"],"sources":["../src/decorators/factory.decorator.mts","../src/event-emitter.mts"],"sourcesContent":["import type { Factorable, FactorableWithArgs } from '../interfaces/index.mjs'\nimport type {\n ClassTypeWithInstance,\n InjectionTokenSchemaType,\n} from '../token/injection-token.mjs'\nimport type { Registry } from '../token/registry.mjs'\n\nimport { InjectableScope, InjectableType } from '../enums/index.mjs'\nimport { InjectableTokenMeta } from '../symbols/index.mjs'\nimport { InjectionToken } from '../token/injection-token.mjs'\nimport { globalRegistry } from '../token/registry.mjs'\n\nexport interface FactoryOptions {\n scope?: InjectableScope\n token?: InjectionToken<any, any>\n registry?: Registry\n priority?: number\n}\n\n// #1 Factory without arguments\nexport function Factory<R>(options?: {\n scope?: InjectableScope\n registry?: Registry\n priority?: number\n}): <T extends ClassTypeWithInstance<Factorable<R>>>(\n target: T,\n context?: ClassDecoratorContext,\n) => T\n\n// #2 Factory with typed token\nexport function Factory<R, S>(options: {\n scope?: InjectableScope\n token: InjectionToken<R, S>\n registry?: Registry\n priority?: number\n}): R extends undefined\n ? never\n : S extends InjectionTokenSchemaType\n ? <T extends ClassTypeWithInstance<FactorableWithArgs<R, S>>>(\n target: T,\n context?: ClassDecoratorContext,\n ) => T\n : S extends undefined\n ? <T extends ClassTypeWithInstance<Factorable<R>>>(\n target: T,\n context?: ClassDecoratorContext,\n ) => T\n : never\n\nexport function Factory({\n scope = InjectableScope.Singleton,\n token,\n registry = globalRegistry,\n priority = 0,\n}: FactoryOptions = {}) {\n return <\n T extends ClassTypeWithInstance<\n Factorable<any> | FactorableWithArgs<any, any>\n >,\n >(\n target: T,\n context?: ClassDecoratorContext,\n ): T => {\n if (\n (context && context.kind !== 'class') ||\n (target instanceof Function && !context)\n ) {\n throw new Error(\n '[DI] @Factory decorator can only be used on classes.',\n )\n }\n\n let injectableToken: InjectionToken<any, any> =\n token ?? InjectionToken.create(target)\n\n registry.set(injectableToken, scope, target, InjectableType.Factory, priority)\n\n // @ts-expect-error\n target[InjectableTokenMeta] = injectableToken\n\n return target\n }\n}\n\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n/* eslint-disable @typescript-eslint/no-unsafe-function-type */\n\nimport { Injectable } from './decorators/index.mjs'\nimport { InjectableScope } from './enums/index.mjs'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type EventsConfig = {\n [event: string]: any[]\n}\nexport type EventsNames<Events extends EventsConfig> = Exclude<\n keyof Events,\n symbol | number\n>\nexport type EventsArgs<\n Events extends EventsConfig,\n Name extends EventsNames<Events>,\n> = Events[Name] extends any[] ? Events[Name] : []\n\n@Injectable({ scope: InjectableScope.Transient })\nexport class EventEmitter<Events extends EventsConfig = {}> {\n private listeners: Map<EventsNames<Events>, Set<Function>> = new Map()\n\n on<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ) {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set())\n }\n\n this.listeners.get(event)!.add(listener)\n\n return () => {\n this.off(event, listener)\n }\n }\n\n off<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ) {\n if (!this.listeners.has(event)) {\n return\n }\n\n this.listeners.get(event)!.delete(listener)\n if (this.listeners.get(event)!.size === 0) {\n this.listeners.delete(event)\n }\n }\n\n once<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n listener: (...args: Args) => void | Promise<void>,\n ) {\n const off = this.on(event, (...args) => {\n off()\n // @ts-expect-error - This is a valid call\n listener(...args)\n })\n\n return off\n }\n\n async emit<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(\n event: E,\n ...args: Args\n ): Promise<any> {\n if (!this.listeners.has(event)) {\n return\n }\n\n return Promise.all(\n Array.from(this.listeners.get(event)!).map((listener) =>\n listener(...args),\n ),\n )\n }\n}\n"],"mappings":";;;AAiDA,SAAgBK,QAAQ,EACtBC,QAAQN,kCAAgBO,WACxBC,OACAC,WAAWL,kCACXM,WAAW,MACO,EAAE,EAAA;AACpB,SAKEC,QACAC,YAAAA;AAEA,MACE,WAAYA,QAAQC,SAAS,WAC5BF,kBAAkBG,YAAY,CAACF,QAEhC,OAAM,IAAIG,MACR,uDAAA;EAIJ,IAAIC,kBACFR,SAASL,iCAAec,OAAON,OAAAA;AAEjCF,WAASS,IAAIF,iBAAiBV,OAAOK,QAAQV,iCAAeI,SAASK,SAAAA;AAGrEC,SAAOT,yCAAuBc;AAE9B,SAAOL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OC5DVQ,6BAAW,EAAEE,OAAOD,kCAAgBE,WAAU,CAAA;AACxC,IAAMC,eAAN,MAAMA;;;;CACHC,4BAAqD,IAAIC,KAAAA;CAEjEC,GACEC,OACAC,UACA;AACA,MAAI,CAAC,KAAKJ,UAAUK,IAAIF,MAAAA,CACtB,MAAKH,UAAUM,IAAIH,uBAAO,IAAII,KAAAA,CAAAA;AAGhC,OAAKP,UAAUQ,IAAIL,MAAAA,CAAQM,IAAIL,SAAAA;AAE/B,eAAO;AACL,QAAKM,IAAIP,OAAOC,SAAAA;;;CAIpBM,IACEP,OACAC,UACA;AACA,MAAI,CAAC,KAAKJ,UAAUK,IAAIF,MAAAA,CACtB;AAGF,OAAKH,UAAUQ,IAAIL,MAAAA,CAAQQ,OAAOP,SAAAA;AAClC,MAAI,KAAKJ,UAAUQ,IAAIL,MAAAA,CAAQS,SAAS,EACtC,MAAKZ,UAAUW,OAAOR,MAAAA;;CAI1BU,KACEV,OACAC,UACA;EACA,MAAMM,MAAM,KAAKR,GAAGC,QAAQ,GAAGW,SAAAA;AAC7BJ,QAAAA;AAEAN,YAAAA,GAAYU,KAAAA;IACd;AAEA,SAAOJ;;CAGT,MAAMK,KACJZ,OACA,GAAGW,MACW;AACd,MAAI,CAAC,KAAKd,UAAUK,IAAIF,MAAAA,CACtB;AAGF,SAAOa,QAAQC,IACbC,MAAMC,KAAK,KAAKnB,UAAUQ,IAAIL,MAAAA,CAAAA,CAASiB,KAAKhB,aAC1CA,SAAAA,GAAYU,KAAAA,CAAAA,CAAAA"}
package/lib/index.d.cts CHANGED
@@ -1,40 +1,47 @@
1
- import { $ as InjectState, A as InjectableScope, B as ClassTypeWithoutArguments, C as InstanceStatus, D as Registry, E as FactoryRecord, F as ClassTypeWithArgument, G as OptionalInjectionTokenSchemaType, H as InjectionToken, I as ClassTypeWithInstance, J as getInjectors, K as FactoryContext, L as ClassTypeWithInstanceAndArgument, M as BaseInjectionTokenSchemaType, N as BoundInjectionToken, O as globalRegistry, P as ClassType, Q as InjectRequest, R as ClassTypeWithInstanceAndOptionalArgument, S as InstanceHolderError, T as DIErrorCode, U as InjectionTokenSchemaType, V as FactoryInjectionToken, W as InjectionTokenType, X as Factorable, Y as IContainer, Z as FactorableWithArgs, _ as InstanceEffect, a as HolderManager, at as UnionToOvlds, b as InstanceHolderCreating, c as DefaultRequestContext, d as createRequestContext, et as IsUnion, f as BaseHolderManager, g as InstanceDestroyListener, h as IHolderStorage, i as Invalidator, it as UnionToIntersection, j as AnyInjectableType, k as InjectableType, l as RequestContext, m as HolderGetResult, n as ServiceLocator, nt as PopUnion, o as LifecycleEventBus, p as HolderReadyResult, q as Injectors, r as TokenProcessor, rt as UnionToArray, s as ScopedContainer, t as Container, tt as Join, u as RequestContextHolder, v as InstanceHolder, w as DIError, x as InstanceHolderDestroying, y as InstanceHolderCreated, z as ClassTypeWithOptionalArgument } from "./container-YPwvmlK2.cjs";
2
- import { ZodObject, ZodOptional, z } from "zod/v4";
1
+ import { $ as ClassTypeWithoutArguments, A as Injectors, B as PopUnion, C as NameResolver, D as Factorable, E as globalRegistry, F as IContainer, G as BaseInjectionTokenSchemaType, H as UnionToIntersection, I as InjectRequest, J as ClassTypeWithArgument, K as BoundInjectionToken, L as InjectState, M as ServiceInitializationContext, N as InjectableType, O as FactorableWithArgs, P as InjectableScope, Q as ClassTypeWithOptionalArgument, R as IsUnion, S as DIErrorCode, T as Registry, U as UnionToOvlds, V as UnionToArray, W as AnyInjectableType, X as ClassTypeWithInstanceAndArgument, Y as ClassTypeWithInstance, Z as ClassTypeWithInstanceAndOptionalArgument, _ as InstanceHolderCreating, a as ScopedContainer, b as InstanceStatus, c as ClearAllOptions, d as LifecycleEventBus, et as FactoryInjectionToken, f as HolderGetResult, g as InstanceHolderCreated, h as InstanceHolder, i as ScopeTracker, it as OptionalInjectionTokenSchemaType, j as getInjectors, k as FactoryContext, l as InvalidationOptions, m as InstanceDestroyListener, n as InstanceResolver, nt as InjectionTokenSchemaType, o as UnifiedStorage, p as IHolderStorage, q as ClassType, r as ServiceInitializer, rt as InjectionTokenType, s as TokenResolver, t as Container, tt as InjectionToken, u as ServiceInvalidator, v as InstanceHolderDestroying, w as FactoryRecord, x as DIError, y as InstanceHolderError, z as Join } from "./container-D-0Ho3qL.cjs";
2
+ import { z } from "zod/v4";
3
3
 
4
+ //#region src/utils/default-injectors.d.mts
5
+ declare const defaultInjectors: Injectors;
6
+ declare const inject: Injectors['inject'];
7
+ declare const optional: Injectors['optional'];
8
+ declare const asyncInject: Injectors['asyncInject'];
9
+ declare const wrapSyncInit: Injectors['wrapSyncInit'];
10
+ declare const provideFactoryContext: Injectors['provideFactoryContext'];
11
+ //#endregion
4
12
  //#region src/utils/get-injectable-token.d.mts
5
13
  declare function getInjectableToken<R>(target: ClassType): R extends {
6
14
  create(...args: any[]): infer V;
7
15
  } ? InjectionToken<V> : InjectionToken<R>;
8
16
  //#endregion
9
- //#region src/interfaces/on-service-init.interface.d.mts
10
- interface OnServiceInit {
11
- onServiceInit(): Promise<void> | void;
12
- }
13
- //#endregion
14
17
  //#region src/interfaces/on-service-destroy.interface.d.mts
15
18
  interface OnServiceDestroy {
16
19
  onServiceDestroy(): Promise<void> | void;
17
20
  }
18
21
  //#endregion
22
+ //#region src/interfaces/on-service-init.interface.d.mts
23
+ interface OnServiceInit {
24
+ onServiceInit(): Promise<void> | void;
25
+ }
26
+ //#endregion
19
27
  //#region src/decorators/factory.decorator.d.mts
20
28
  interface FactoryOptions {
21
29
  scope?: InjectableScope;
22
30
  token?: InjectionToken<any, any>;
23
31
  registry?: Registry;
32
+ priority?: number;
24
33
  }
25
34
  declare function Factory<R>(options?: {
26
35
  scope?: InjectableScope;
27
36
  registry?: Registry;
37
+ priority?: number;
28
38
  }): <T extends ClassTypeWithInstance<Factorable<R>>>(target: T, context?: ClassDecoratorContext) => T;
29
39
  declare function Factory<R, S>(options: {
30
40
  scope?: InjectableScope;
31
41
  token: InjectionToken<R, S>;
32
42
  registry?: Registry;
33
- }): R extends undefined ? never : S extends InjectionTokenSchemaType ? <T extends ClassTypeWithInstance<FactorableWithArgs<R, S>>>(
34
- // #2.2.1 Token have a schema
35
- target: T, context?: ClassDecoratorContext) => T : S extends undefined ? <T extends ClassTypeWithInstance<Factorable<R>>>(
36
- // #2.3.1 Token without a schema
37
- target: T, context?: ClassDecoratorContext) => T : never;
43
+ priority?: number;
44
+ }): R extends undefined ? never : S extends InjectionTokenSchemaType ? <T extends ClassTypeWithInstance<FactorableWithArgs<R, S>>>(target: T, context?: ClassDecoratorContext) => T : S extends undefined ? <T extends ClassTypeWithInstance<Factorable<R>>>(target: T, context?: ClassDecoratorContext) => T : never;
38
45
  //#endregion
39
46
  //#region src/decorators/injectable.decorator.d.mts
40
47
  interface InjectableOptions {
@@ -42,62 +49,43 @@ interface InjectableOptions {
42
49
  token?: InjectionToken<any, any>;
43
50
  schema?: InjectionTokenSchemaType;
44
51
  registry?: Registry;
52
+ priority?: number;
45
53
  }
46
54
  declare function Injectable(): <T extends ClassTypeWithoutArguments>(target: T, context?: ClassDecoratorContext) => T;
47
55
  declare function Injectable(options: {
48
56
  scope?: InjectableScope;
49
57
  registry: Registry;
58
+ priority?: number;
50
59
  }): <T extends ClassTypeWithoutArguments>(target: T, context?: ClassDecoratorContext) => T;
51
60
  declare function Injectable(options: {
52
61
  scope: InjectableScope;
62
+ priority?: number;
53
63
  }): <T extends ClassTypeWithoutArguments>(target: T, context?: ClassDecoratorContext) => T;
54
64
  declare function Injectable<Schema extends InjectionTokenSchemaType>(options: {
55
65
  scope?: InjectableScope;
56
66
  schema: Schema;
57
67
  registry?: Registry;
68
+ priority?: number;
58
69
  }): <T extends ClassTypeWithArgument<z.output<Schema>>>(target: T, context?: ClassDecoratorContext) => T;
59
70
  declare function Injectable<Type, Schema>(options: {
60
71
  scope?: InjectableScope;
61
72
  token: InjectionToken<Type, Schema>;
62
73
  registry?: Registry;
63
- }): Schema extends BaseInjectionTokenSchemaType ? Type extends undefined ? <T extends ClassTypeWithArgument<z.output<Schema>>>(
64
- // #3.1.1 Typeless token
65
- target: T, context?: ClassDecoratorContext) => T : <T extends ClassTypeWithInstanceAndArgument<Type, z.output<Schema>>>(
66
- // #3.1.2 Typed token
67
- target: T, context?: ClassDecoratorContext) => T : Schema extends OptionalInjectionTokenSchemaType ? Type extends undefined ? <T extends ClassTypeWithOptionalArgument<z.output<Schema>>>(
68
- // #3.2.1 Typeless token
69
- target: T, context?: ClassDecoratorContext) => T : <T extends ClassTypeWithInstanceAndOptionalArgument<Type, z.output<Schema>>>(target: T, context?: ClassDecoratorContext) => T : Schema extends undefined ? <R extends ClassTypeWithInstance<Type>>(
70
- // #3.3.1 Token must have a type
71
- target: R, context?: ClassDecoratorContext) => R : never;
74
+ priority?: number;
75
+ }): Schema extends BaseInjectionTokenSchemaType ? Type extends undefined ? <T extends ClassTypeWithArgument<z.output<Schema>>>(target: T, context?: ClassDecoratorContext) => T : <T extends ClassTypeWithInstanceAndArgument<Type, z.output<Schema>>>(target: T, context?: ClassDecoratorContext) => T : Schema extends OptionalInjectionTokenSchemaType ? Type extends undefined ? <T extends ClassTypeWithOptionalArgument<z.output<Schema>>>(target: T, context?: ClassDecoratorContext) => T : <T extends ClassTypeWithInstanceAndOptionalArgument<Type, z.output<Schema>>>(target: T, context?: ClassDecoratorContext) => T : Schema extends undefined ? <R extends ClassTypeWithInstance<Type>>(target: R, context?: ClassDecoratorContext) => R : never;
72
76
  //#endregion
73
- //#region src/symbols/injectable-token.d.mts
74
- declare const InjectableTokenMeta: unique symbol;
75
- //#endregion
76
- //#region src/event-emitter.d.mts
77
- type EventsConfig = {
78
- [event: string]: any[];
79
- };
80
- type EventsNames<Events extends EventsConfig> = Exclude<keyof Events, symbol | number>;
81
- type EventsArgs<Events extends EventsConfig, Name extends EventsNames<Events>> = Events[Name] extends any[] ? Events[Name] : [];
82
- interface EventEmitterInterface<Events extends EventsConfig> {
83
- on<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): () => void;
84
- emit<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, ...args: Args): void | Promise<void>;
85
- }
86
- declare class EventEmitter<Events extends EventsConfig = {}> implements EventEmitterInterface<Events> {
87
- private listeners;
88
- on<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): () => void;
89
- off<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): void;
90
- once<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): () => void;
91
- emit<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, ...args: Args): Promise<any>;
77
+ //#region src/internal/context/async-local-storage.types.d.mts
78
+ /**
79
+ * Interface matching the subset of AsyncLocalStorage API we use.
80
+ */
81
+ interface IAsyncLocalStorage<T> {
82
+ run<R>(store: T, fn: () => R): R;
83
+ getStore(): T | undefined;
92
84
  }
93
85
  //#endregion
94
- //#region src/injectors.d.mts
95
- declare const defaultInjectors: Injectors;
96
- declare const asyncInject: Injectors['asyncInject'];
97
- declare const inject: Injectors['inject'];
98
- declare const optional: Injectors['optional'];
99
- declare const wrapSyncInit: Injectors['wrapSyncInit'];
100
- declare const provideFactoryContext: Injectors['provideFactoryContext'];
86
+ //#region src/internal/context/async-local-storage.d.mts
87
+ declare function createAsyncLocalStorage<T>(): IAsyncLocalStorage<T>;
88
+ declare function isUsingNativeAsyncLocalStorage(): boolean;
101
89
  //#endregion
102
90
  //#region src/internal/context/resolution-context.d.mts
103
91
  /**
@@ -137,53 +125,6 @@ declare function getCurrentResolutionContext(): ResolutionContextData | undefine
137
125
  */
138
126
  declare function withoutResolutionContext<T>(fn: () => T): T;
139
127
  //#endregion
140
- //#region src/internal/holder/singleton-storage.d.mts
141
- /**
142
- * Storage implementation for Singleton-scoped services.
143
- *
144
- * Wraps a HolderManager instance and provides the IHolderStorage interface.
145
- * This allows the InstanceResolver to work with singleton storage
146
- * using the same interface as request-scoped storage.
147
- */
148
- declare class SingletonStorage implements IHolderStorage {
149
- private readonly manager;
150
- readonly scope = InjectableScope.Singleton;
151
- constructor(manager: HolderManager);
152
- get<T = unknown>(instanceName: string): HolderGetResult<T>;
153
- set(instanceName: string, holder: InstanceHolder): void;
154
- delete(instanceName: string): boolean;
155
- createHolder<T>(instanceName: string, type: InjectableType, deps: Set<string>): [ReturnType<typeof Promise.withResolvers<[undefined, T]>>, InstanceHolder<T>];
156
- handles(scope: InjectableScope): boolean;
157
- getAllNames(): string[];
158
- forEach(callback: (name: string, holder: InstanceHolder) => void): void;
159
- findByInstance(instance: unknown): InstanceHolder | null;
160
- findDependents(instanceName: string): string[];
161
- }
162
- //#endregion
163
- //#region src/internal/holder/request-storage.d.mts
164
- /**
165
- * Storage implementation for Request-scoped services.
166
- *
167
- * Wraps a RequestContext instance from a ScopedContainer and provides
168
- * the IHolderStorage interface. This allows the InstanceResolver to work
169
- * with request-scoped storage using the same interface as singleton storage.
170
- */
171
- declare class RequestStorage implements IHolderStorage {
172
- private readonly contextHolder;
173
- private readonly holderManager;
174
- readonly scope = InjectableScope.Request;
175
- constructor(contextHolder: RequestContext, holderManager: BaseHolderManager);
176
- get<T = unknown>(instanceName: string): HolderGetResult<T>;
177
- set(instanceName: string, holder: InstanceHolder): void;
178
- delete(instanceName: string): boolean;
179
- createHolder<T>(instanceName: string, type: InjectableType, deps: Set<string>): [ReturnType<typeof Promise.withResolvers<[undefined, T]>>, InstanceHolder<T>];
180
- handles(scope: InjectableScope): boolean;
181
- getAllNames(): string[];
182
- forEach(callback: (name: string, holder: InstanceHolder) => void): void;
183
- findByInstance(instance: unknown): InstanceHolder | null;
184
- findDependents(instanceName: string): string[];
185
- }
186
- //#endregion
187
128
  //#region src/internal/lifecycle/circular-detector.d.mts
188
129
  /**
189
130
  * Detects circular dependencies by analyzing the waitingFor relationships
@@ -218,140 +159,34 @@ declare class CircularDetector {
218
159
  static formatCycle(cycle: string[]): string;
219
160
  }
220
161
  //#endregion
221
- //#region src/internal/core/instantiator.d.mts
162
+ //#region src/internal/stub-factory-class.d.mts
222
163
  /**
223
- * Creates service instances from registry records.
164
+ * Stub factory class used when registering InjectionTokens without a real class implementation.
165
+ * This is used in ScopedContainer.addInstance() to allow registering tokens that don't have
166
+ * a corresponding class, while preventing accidental instantiation.
224
167
  *
225
- * Handles both class-based (@Injectable) and factory-based (@Factory) services,
226
- * managing the instantiation lifecycle including sync initialization retries
227
- * and lifecycle hook invocation (onServiceInit, onServiceDestroy).
168
+ * @internal
228
169
  */
229
- declare class Instantiator {
230
- private readonly injectors;
231
- constructor(injectors: Injectors);
232
- /**
233
- * Instantiates a service based on its registry record.
234
- * @param ctx The factory context for dependency injection
235
- * @param record The factory record from the registry
236
- * @param args Optional arguments for the service
237
- * @returns Promise resolving to [undefined, instance] or [error]
238
- */
239
- instantiateService<T>(ctx: FactoryContext, record: FactoryRecord<T, any>, args?: any): Promise<[undefined, T] | [DIError]>;
240
- /**
241
- * Instantiates a class-based service (Injectable decorator).
242
- * @param ctx The factory context for dependency injection
243
- * @param record The factory record from the registry
244
- * @param args Optional arguments for the service constructor
245
- * @returns Promise resolving to [undefined, instance] or [error]
246
- */
247
- private instantiateClass;
248
- /**
249
- * Instantiates a factory-based service (Factory decorator).
250
- * @param ctx The factory context for dependency injection
251
- * @param record The factory record from the registry
252
- * @param args Optional arguments for the factory
253
- * @returns Promise resolving to [undefined, instance] or [error]
254
- */
255
- private instantiateFactory;
170
+ declare class StubFactoryClass {
171
+ constructor();
256
172
  }
257
173
  //#endregion
258
- //#region src/internal/core/instance-resolver.d.mts
259
- /**
260
- * Resolves instances from tokens, handling caching, creation, and scope rules.
261
- *
262
- * Uses the Storage Strategy pattern for unified singleton/request-scoped handling.
263
- * Coordinates with Instantiator for actual service creation.
264
- */
265
- declare class InstanceResolver {
266
- private readonly registry;
267
- private readonly manager;
268
- private readonly instantiator;
269
- private readonly tokenProcessor;
270
- private readonly logger;
271
- private readonly serviceLocator;
272
- private readonly singletonStorage;
273
- constructor(registry: Registry, manager: HolderManager, instantiator: Instantiator, tokenProcessor: TokenProcessor, logger: (Console | null) | undefined, serviceLocator: ServiceLocator);
274
- /**
275
- * Resolves an instance for the given token and arguments.
276
- * This method is used for singleton and transient services.
277
- *
278
- * @param token The injection token
279
- * @param args Optional arguments
280
- * @param contextContainer The container to use for creating FactoryContext
281
- */
282
- resolveInstance(token: AnyInjectableType, args: any, contextContainer: IContainer): Promise<[undefined, any] | [DIError]>;
283
- /**
284
- * Resolves a request-scoped instance for a ScopedContainer.
285
- * The service will be stored in the ScopedContainer's request context.
286
- *
287
- * @param token The injection token
288
- * @param args Optional arguments
289
- * @param scopedContainer The ScopedContainer that owns the request context
290
- */
291
- resolveRequestScopedInstance(token: AnyInjectableType, args: any, scopedContainer: ScopedContainer): Promise<[undefined, any] | [DIError]>;
292
- /**
293
- * Unified resolution method that works with any IHolderStorage.
294
- * This eliminates duplication between singleton and request-scoped resolution.
295
- *
296
- * IMPORTANT: The check-and-store logic is carefully designed to avoid race conditions.
297
- * The storage check and holder creation must happen synchronously (no awaits between).
298
- *
299
- * @param token The injection token
300
- * @param args Optional arguments
301
- * @param contextContainer The container for FactoryContext
302
- * @param storage The storage strategy to use
303
- * @param scopedContainer Optional scoped container for request-scoped services
304
- */
305
- private resolveWithStorage;
306
- /**
307
- * Handles storage error states (destroying, error, etc.).
308
- * Returns a result if handled, null if should proceed with creation.
309
- */
310
- private handleStorageError;
311
- /**
312
- * Creates a new instance and stores it using the provided storage strategy.
313
- * This unified method replaces instantiateServiceFromRegistry and createRequestScopedInstance.
314
- *
315
- * For transient services, the instance is created but not stored (no caching).
316
- */
317
- private createAndStoreInstance;
318
- /**
319
- * Creates a transient instance without storage or locking.
320
- * Each call creates a new instance.
321
- */
322
- private createTransientInstance;
323
- /**
324
- * Gets a synchronous instance (for sync operations).
325
- */
326
- getSyncInstance<Instance, Schema extends InjectionTokenSchemaType | undefined>(token: AnyInjectableType, args: Schema extends ZodObject ? z.input<Schema> : Schema extends ZodOptional<ZodObject> ? z.input<Schema> | undefined : undefined, contextContainer: IContainer): Instance | null;
327
- /**
328
- * Internal method to resolve token args and create instance name.
329
- * Handles factory token resolution and validation.
330
- */
331
- private resolveTokenAndPrepareInstanceName;
332
- /**
333
- * Waits for an instance holder to be ready and returns the appropriate result.
334
- * Uses the shared utility from BaseHolderManager.
335
- * Passes the current resolution context for circular dependency detection.
336
- */
337
- private waitForInstanceReady;
338
- /**
339
- * Handles the result of service instantiation.
340
- */
341
- private handleInstantiationResult;
342
- /**
343
- * Handles successful service instantiation.
344
- */
345
- private handleInstantiationSuccess;
346
- /**
347
- * Handles service instantiation errors.
348
- */
349
- private handleInstantiationError;
350
- /**
351
- * Creates a factory context for dependency injection during service instantiation.
352
- */
353
- private createFactoryContext;
174
+ //#region src/symbols/injectable-token.d.mts
175
+ declare const InjectableTokenMeta: unique symbol;
176
+ //#endregion
177
+ //#region src/event-emitter.d.mts
178
+ type EventsConfig = {
179
+ [event: string]: any[];
180
+ };
181
+ type EventsNames<Events extends EventsConfig> = Exclude<keyof Events, symbol | number>;
182
+ type EventsArgs<Events extends EventsConfig, Name extends EventsNames<Events>> = Events[Name] extends any[] ? Events[Name] : [];
183
+ declare class EventEmitter<Events extends EventsConfig = {}> {
184
+ private listeners;
185
+ on<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): () => void;
186
+ off<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): void;
187
+ once<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, listener: (...args: Args) => void | Promise<void>): () => void;
188
+ emit<E extends EventsNames<Events>, Args extends EventsArgs<Events, E>>(event: E, ...args: Args): Promise<any>;
354
189
  }
355
190
  //#endregion
356
- export { type AnyInjectableType, BaseHolderManager, BoundInjectionToken, CircularDetector, type ClassType, type ClassTypeWithArgument, type ClassTypeWithInstance, type ClassTypeWithInstanceAndArgument, type ClassTypeWithInstanceAndOptionalArgument, type ClassTypeWithOptionalArgument, type ClassTypeWithoutArguments, Container, DIError, DIErrorCode, DefaultRequestContext, EventEmitter, Factorable, FactorableWithArgs, Factory, type FactoryContext, FactoryInjectionToken, FactoryOptions, type FactoryRecord, type HolderGetResult, HolderManager, type HolderReadyResult, IContainer, type IHolderStorage, InjectRequest, InjectState, Injectable, InjectableOptions, InjectableScope, InjectableTokenMeta, InjectableType, InjectionToken, type InjectionTokenSchemaType, type InjectionTokenType, Injectors, type InstanceDestroyListener, type InstanceEffect, type InstanceHolder, type InstanceHolderCreated, type InstanceHolderCreating, type InstanceHolderDestroying, type InstanceHolderError, InstanceResolver, InstanceStatus, Instantiator, Invalidator, IsUnion, Join, LifecycleEventBus, OnServiceDestroy, OnServiceInit, PopUnion, Registry, type RequestContext, type RequestContextHolder, RequestStorage, type ResolutionContextData, ScopedContainer, ServiceLocator, SingletonStorage, TokenProcessor, UnionToArray, UnionToIntersection, UnionToOvlds, asyncInject, createRequestContext, defaultInjectors, getCurrentResolutionContext, getInjectableToken, getInjectors, globalRegistry, inject, optional, provideFactoryContext, withResolutionContext, withoutResolutionContext, wrapSyncInit };
191
+ export { AnyInjectableType, BaseInjectionTokenSchemaType, BoundInjectionToken, CircularDetector, ClassType, ClassTypeWithArgument, ClassTypeWithInstance, ClassTypeWithInstanceAndArgument, ClassTypeWithInstanceAndOptionalArgument, ClassTypeWithOptionalArgument, ClassTypeWithoutArguments, ClearAllOptions, Container, DIError, DIErrorCode, EventEmitter, EventsArgs, EventsConfig, EventsNames, Factorable, FactorableWithArgs, Factory, FactoryContext, FactoryInjectionToken, FactoryOptions, FactoryRecord, HolderGetResult, type IAsyncLocalStorage, IContainer, IHolderStorage, InjectRequest, InjectState, Injectable, InjectableOptions, InjectableScope, InjectableTokenMeta, InjectableType, InjectionToken, InjectionTokenSchemaType, InjectionTokenType, Injectors, InstanceDestroyListener, InstanceHolder, InstanceHolderCreated, InstanceHolderCreating, InstanceHolderDestroying, InstanceHolderError, InstanceResolver, InstanceStatus, InvalidationOptions, IsUnion, Join, LifecycleEventBus, NameResolver, OnServiceDestroy, OnServiceInit, OptionalInjectionTokenSchemaType, PopUnion, Registry, ResolutionContextData, ScopeTracker, ScopedContainer, ServiceInitializationContext, ServiceInitializer, ServiceInvalidator, StubFactoryClass, TokenResolver, UnifiedStorage, UnionToArray, UnionToIntersection, UnionToOvlds, asyncInject, createAsyncLocalStorage, defaultInjectors, getCurrentResolutionContext, getInjectableToken, getInjectors, globalRegistry, inject, isUsingNativeAsyncLocalStorage, optional, provideFactoryContext, withResolutionContext, withoutResolutionContext, wrapSyncInit };
357
192
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/utils/get-injectable-token.mts","../src/interfaces/on-service-init.interface.mts","../src/interfaces/on-service-destroy.interface.mts","../src/decorators/factory.decorator.mts","../src/decorators/injectable.decorator.mts","../src/symbols/injectable-token.mts","../src/event-emitter.mts","../src/injectors.mts","../src/internal/context/resolution-context.mts","../src/internal/holder/singleton-storage.mts","../src/internal/holder/request-storage.mts","../src/internal/lifecycle/circular-detector.mts","../src/internal/core/instantiator.mts","../src/internal/core/instance-resolver.mts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/utils/default-injectors.mts","../src/utils/get-injectable-token.mts","../src/interfaces/on-service-destroy.interface.mts","../src/interfaces/on-service-init.interface.mts","../src/decorators/factory.decorator.mts","../src/decorators/injectable.decorator.mts","../src/internal/context/async-local-storage.types.mts","../src/internal/context/async-local-storage.mts","../src/internal/context/resolution-context.mts","../src/internal/lifecycle/circular-detector.mts","../src/internal/stub-factory-class.mts","../src/symbols/injectable-token.mts","../src/event-emitter.mts"],"sourcesContent":[],"mappings":"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"}