@blac/core 2.0.12 → 2.0.14

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 (457) hide show
  1. package/README.md +85 -3
  2. package/dist/Cubit-9jal5zdZ.cjs +1 -1
  3. package/dist/Cubit-BAUPiUF7.cjs +359 -286
  4. package/dist/Cubit-BBKF3PIg.js +287 -0
  5. package/dist/Cubit-BBKF3PIg.js.map +1 -0
  6. package/dist/Cubit-BC70gaiA.js +453 -0
  7. package/dist/Cubit-BC70gaiA.js.map +1 -0
  8. package/dist/Cubit-BOgUZva7.js +342 -266
  9. package/dist/Cubit-BOxMvpfc.js +291 -0
  10. package/dist/Cubit-BOxMvpfc.js.map +1 -0
  11. package/dist/Cubit-BTznt8zg.js +1 -1
  12. package/dist/Cubit-BogJXkLm.js +278 -0
  13. package/dist/Cubit-BogJXkLm.js.map +1 -0
  14. package/dist/Cubit-C-8R_8db.cjs +475 -0
  15. package/dist/Cubit-C-8R_8db.cjs.map +1 -0
  16. package/dist/Cubit-C3Mw3EoO.cjs +401 -0
  17. package/dist/Cubit-C3Mw3EoO.cjs.map +1 -0
  18. package/dist/Cubit-CO8Fr72L.cjs +447 -0
  19. package/dist/Cubit-CO8Fr72L.cjs.map +1 -0
  20. package/dist/Cubit-COfHT1Bm.cjs +321 -0
  21. package/dist/Cubit-COfHT1Bm.cjs.map +1 -0
  22. package/dist/Cubit-CROWjjs9.js +481 -0
  23. package/dist/Cubit-CROWjjs9.js.map +1 -0
  24. package/dist/Cubit-CWP8Ddzx.cjs +510 -0
  25. package/dist/Cubit-CWP8Ddzx.cjs.map +1 -0
  26. package/dist/Cubit-CXxh9iol.js +302 -0
  27. package/dist/Cubit-CXxh9iol.js.map +1 -0
  28. package/dist/Cubit-CYOWfzQt.cjs +317 -0
  29. package/dist/Cubit-CYOWfzQt.cjs.map +1 -0
  30. package/dist/Cubit-CZaf_fp4.cjs +1 -1
  31. package/dist/Cubit-C_dUEUdd.cjs +359 -286
  32. package/dist/Cubit-C_rxRCTN.cjs +523 -0
  33. package/dist/Cubit-C_rxRCTN.cjs.map +1 -0
  34. package/dist/Cubit-CcKgMEBO.js +299 -0
  35. package/dist/Cubit-CcKgMEBO.js.map +1 -0
  36. package/dist/Cubit-CfT6Y1jl.js +346 -0
  37. package/dist/Cubit-CfT6Y1jl.js.map +1 -0
  38. package/dist/Cubit-CynJruuO.js +369 -0
  39. package/dist/Cubit-CynJruuO.js.map +1 -0
  40. package/dist/Cubit-D2vQ6nMb.js +342 -266
  41. package/dist/Cubit-D7jOZCoZ.js +342 -266
  42. package/dist/Cubit-D9j3IGPc.cjs +523 -0
  43. package/dist/Cubit-D9j3IGPc.cjs.map +1 -0
  44. package/dist/Cubit-DKEY9WYq.cjs +296 -0
  45. package/dist/Cubit-DKEY9WYq.cjs.map +1 -0
  46. package/dist/Cubit-DMV_0TCp.js +481 -0
  47. package/dist/Cubit-DMV_0TCp.js.map +1 -0
  48. package/dist/Cubit-DP5DXPUK.js +342 -266
  49. package/dist/Cubit-DRFkzD2h.js +426 -0
  50. package/dist/Cubit-DRFkzD2h.js.map +1 -0
  51. package/dist/Cubit-DbnhTUaZ.cjs +359 -286
  52. package/dist/Cubit-DrqG3SP3.cjs +370 -0
  53. package/dist/Cubit-DrqG3SP3.cjs.map +1 -0
  54. package/dist/Cubit-DsDkCo42.cjs +313 -0
  55. package/dist/Cubit-DsDkCo42.cjs.map +1 -0
  56. package/dist/Cubit-DwRw1E9D.cjs +309 -0
  57. package/dist/Cubit-DwRw1E9D.cjs.map +1 -0
  58. package/dist/Cubit-Dw_kFBgc.js +1 -1
  59. package/dist/Cubit-KiXZCubP.cjs +1 -1
  60. package/dist/Cubit-Ksj7G4uR.js +342 -266
  61. package/dist/Cubit-MkjbpcPf.cjs +359 -286
  62. package/dist/Cubit-NRhvdDQ6.js +297 -0
  63. package/dist/Cubit-NRhvdDQ6.js.map +1 -0
  64. package/dist/Cubit-PMTXxI_u.js +1 -1
  65. package/dist/Cubit-VJuu2tt9.js +481 -0
  66. package/dist/Cubit-VJuu2tt9.js.map +1 -0
  67. package/dist/Cubit-jz922NKf.cjs +320 -0
  68. package/dist/Cubit-jz922NKf.cjs.map +1 -0
  69. package/dist/Cubit-kU5_4jgC.cjs +359 -286
  70. package/dist/StateContainerRegistry-B4yVMYbx.cjs +1057 -0
  71. package/dist/StateContainerRegistry-B4yVMYbx.cjs.map +1 -0
  72. package/dist/StateContainerRegistry-BAcxouCu.js +723 -0
  73. package/dist/StateContainerRegistry-BAcxouCu.js.map +1 -0
  74. package/dist/StateContainerRegistry-BK57H92E.js +747 -0
  75. package/dist/StateContainerRegistry-BK57H92E.js.map +1 -0
  76. package/dist/StateContainerRegistry-BRBATSrx.cjs +1030 -0
  77. package/dist/StateContainerRegistry-BRBATSrx.cjs.map +1 -0
  78. package/dist/StateContainerRegistry-BgBIKcQF.js +956 -0
  79. package/dist/StateContainerRegistry-BgBIKcQF.js.map +1 -0
  80. package/dist/StateContainerRegistry-BglEhqdA.js +709 -0
  81. package/dist/StateContainerRegistry-BglEhqdA.js.map +1 -0
  82. package/dist/StateContainerRegistry-BhcnG0DF.js +625 -562
  83. package/dist/StateContainerRegistry-BpO5t-0i.js +682 -0
  84. package/dist/StateContainerRegistry-BpO5t-0i.js.map +1 -0
  85. package/dist/StateContainerRegistry-BqS-wpb_.js +957 -0
  86. package/dist/StateContainerRegistry-BqS-wpb_.js.map +1 -0
  87. package/dist/StateContainerRegistry-BrEGYPZT.cjs +1029 -0
  88. package/dist/StateContainerRegistry-BrEGYPZT.cjs.map +1 -0
  89. package/dist/StateContainerRegistry-Bxfne4A7.cjs +908 -0
  90. package/dist/StateContainerRegistry-Bxfne4A7.cjs.map +1 -0
  91. package/dist/StateContainerRegistry-C0E7vsgy.js +758 -0
  92. package/dist/StateContainerRegistry-C0E7vsgy.js.map +1 -0
  93. package/dist/StateContainerRegistry-C0I77Ndz.cjs +920 -0
  94. package/dist/StateContainerRegistry-C0I77Ndz.cjs.map +1 -0
  95. package/dist/StateContainerRegistry-CDH9mnQS.cjs +715 -0
  96. package/dist/StateContainerRegistry-CDH9mnQS.cjs.map +1 -0
  97. package/dist/StateContainerRegistry-CTOXUf75.cjs +742 -0
  98. package/dist/StateContainerRegistry-CTOXUf75.cjs.map +1 -0
  99. package/dist/StateContainerRegistry-CX2CBOmv.cjs +795 -0
  100. package/dist/StateContainerRegistry-CX2CBOmv.cjs.map +1 -0
  101. package/dist/StateContainerRegistry-CXnnf2-l.js +867 -0
  102. package/dist/StateContainerRegistry-CXnnf2-l.js.map +1 -0
  103. package/dist/StateContainerRegistry-CehuIpK_.cjs +811 -0
  104. package/dist/StateContainerRegistry-CehuIpK_.cjs.map +1 -0
  105. package/dist/StateContainerRegistry-Ci0ajc5g.js +720 -0
  106. package/dist/StateContainerRegistry-Ci0ajc5g.js.map +1 -0
  107. package/dist/StateContainerRegistry-Ck2-XmT_.js +587 -527
  108. package/dist/StateContainerRegistry-D1lVJFGL.cjs +753 -0
  109. package/dist/StateContainerRegistry-D1lVJFGL.cjs.map +1 -0
  110. package/dist/StateContainerRegistry-DC4N73O6.js +632 -569
  111. package/dist/StateContainerRegistry-DOuGI-l5.js +645 -582
  112. package/dist/StateContainerRegistry-DT66lr3I.cjs +651 -596
  113. package/dist/StateContainerRegistry-DmmzYa7S.js +974 -0
  114. package/dist/StateContainerRegistry-DmmzYa7S.js.map +1 -0
  115. package/dist/StateContainerRegistry-Upsrlg9G.cjs +756 -0
  116. package/dist/StateContainerRegistry-Upsrlg9G.cjs.map +1 -0
  117. package/dist/StateContainerRegistry-WznfcA-Q.js +855 -0
  118. package/dist/StateContainerRegistry-WznfcA-Q.js.map +1 -0
  119. package/dist/StateContainerRegistry-Yph6UCA_.js +637 -569
  120. package/dist/StateContainerRegistry-mseeTqSA.cjs +671 -616
  121. package/dist/StateContainerRegistry-pRNxHNFD.cjs +658 -603
  122. package/dist/StateContainerRegistry-vXMWtG7J.cjs +613 -561
  123. package/dist/StateContainerRegistry-v_prqMcI.cjs +663 -603
  124. package/dist/branded-BSeA_mZO.cjs.map +1 -1
  125. package/dist/branded-DCqi3De1.cjs +11 -11
  126. package/dist/branded-DwtzSsg0.js.map +1 -1
  127. package/dist/branded-Max3xOTA.js +6 -6
  128. package/dist/config-0ZD9i3wy.js +16 -0
  129. package/dist/config-0ZD9i3wy.js.map +1 -0
  130. package/dist/config-B3NIwDQv.cjs +32 -0
  131. package/dist/config-B3NIwDQv.cjs.map +1 -0
  132. package/dist/config-BKGHop0V.js +16 -0
  133. package/dist/config-BKGHop0V.js.map +1 -0
  134. package/dist/config-BKoaAlmb.js +5 -5
  135. package/dist/config-BPj08-8h.cjs +32 -0
  136. package/dist/config-BPj08-8h.cjs.map +1 -0
  137. package/dist/config-BR0Xy-Tn.cjs +32 -0
  138. package/dist/config-BR0Xy-Tn.cjs.map +1 -0
  139. package/dist/config-B_4xXpvK.cjs +32 -0
  140. package/dist/config-B_4xXpvK.cjs.map +1 -0
  141. package/dist/config-BflrQM4_.cjs +32 -0
  142. package/dist/config-BflrQM4_.cjs.map +1 -0
  143. package/dist/config-BzObBsk2.cjs +32 -0
  144. package/dist/config-BzObBsk2.cjs.map +1 -0
  145. package/dist/config-C0yumL1H.cjs +32 -0
  146. package/dist/config-C0yumL1H.cjs.map +1 -0
  147. package/dist/config-C8xqVHTf.js +16 -0
  148. package/dist/config-C8xqVHTf.js.map +1 -0
  149. package/dist/config-CCUhIYIF.js +5 -5
  150. package/dist/config-CGo__MAt.js +16 -0
  151. package/dist/config-CGo__MAt.js.map +1 -0
  152. package/dist/config-CQH9fTY-.cjs +32 -0
  153. package/dist/config-CQH9fTY-.cjs.map +1 -0
  154. package/dist/config-CR_Bz7RD.js +5 -5
  155. package/dist/config-CTOa-yPN.cjs +20 -20
  156. package/dist/config-Cd7Q-B4g.js +16 -0
  157. package/dist/config-Cd7Q-B4g.js.map +1 -0
  158. package/dist/config-CmDEX-1o.js +16 -0
  159. package/dist/config-CmDEX-1o.js.map +1 -0
  160. package/dist/config-CoNMTnMA.cjs +32 -0
  161. package/dist/config-CoNMTnMA.cjs.map +1 -0
  162. package/dist/config-Cwj8-C1J.js +16 -0
  163. package/dist/config-Cwj8-C1J.js.map +1 -0
  164. package/dist/config-D3jisfdj.cjs +20 -20
  165. package/dist/config-D4GifZQ4.js +5 -5
  166. package/dist/config-DDrSQGpQ.cjs +20 -20
  167. package/dist/config-DEcslxan.cjs +32 -0
  168. package/dist/config-DEcslxan.cjs.map +1 -0
  169. package/dist/config-DMNZ2YLV.cjs +20 -20
  170. package/dist/config-De9oQ6Ki.js +16 -0
  171. package/dist/config-De9oQ6Ki.js.map +1 -0
  172. package/dist/config-DoHx0Xsl.js +16 -0
  173. package/dist/config-DoHx0Xsl.js.map +1 -0
  174. package/dist/config-DokTzpr8.cjs +20 -20
  175. package/dist/config-DslYBm4Z.js +5 -5
  176. package/dist/config-H6FAqbW4.cjs +32 -0
  177. package/dist/config-H6FAqbW4.cjs.map +1 -0
  178. package/dist/config-Yp645dGK.js +16 -0
  179. package/dist/config-Yp645dGK.js.map +1 -0
  180. package/dist/config-ispAzOZV.js +16 -0
  181. package/dist/config-ispAzOZV.js.map +1 -0
  182. package/dist/config.d.cts +72 -0
  183. package/dist/config.d.ts +72 -0
  184. package/dist/constants.d.cts +18 -28
  185. package/dist/constants.d.ts +18 -28
  186. package/dist/core/Cubit.d.ts +14 -5
  187. package/dist/core/StateContainer.d.ts +112 -15
  188. package/dist/core/StateContainerRegistry.d.ts +66 -7
  189. package/dist/core/symbols.d.ts +26 -1
  190. package/dist/debug.cjs +3 -3
  191. package/dist/debug.js +3 -3
  192. package/dist/decorators/blac.d.ts +17 -0
  193. package/dist/ensure-9VEq5H0L.js +3 -3
  194. package/dist/ensure-BB6xHQAF.cjs +14 -0
  195. package/dist/ensure-BB6xHQAF.cjs.map +1 -0
  196. package/dist/ensure-BNDfTzqg.cjs +8 -8
  197. package/dist/ensure-BVCnjU7r.js +343 -267
  198. package/dist/ensure-BbzGXjep.cjs +8 -8
  199. package/dist/ensure-BlIaQai6.js +9 -0
  200. package/dist/ensure-BlIaQai6.js.map +1 -0
  201. package/dist/ensure-Bm3oHxga.js +9 -0
  202. package/dist/ensure-Bm3oHxga.js.map +1 -0
  203. package/dist/ensure-C3eIRs6e.cjs +14 -0
  204. package/dist/ensure-C3eIRs6e.cjs.map +1 -0
  205. package/dist/ensure-CJZL7bcA.cjs +365 -292
  206. package/dist/ensure-CN6unBOe.cjs +14 -0
  207. package/dist/ensure-CN6unBOe.cjs.map +1 -0
  208. package/dist/ensure-CU-B1ywv.js +3 -3
  209. package/dist/ensure-CWKzeno7.js +9 -0
  210. package/dist/ensure-CWKzeno7.js.map +1 -0
  211. package/dist/ensure-CkENsuQ9.js +9 -0
  212. package/dist/ensure-CkENsuQ9.js.map +1 -0
  213. package/dist/ensure-Cm-4_LSh.cjs +14 -0
  214. package/dist/ensure-Cm-4_LSh.cjs.map +1 -0
  215. package/dist/ensure-Cqex5r1P.cjs +14 -0
  216. package/dist/ensure-Cqex5r1P.cjs.map +1 -0
  217. package/dist/ensure-Cv5AbNGZ.js +9 -0
  218. package/dist/ensure-Cv5AbNGZ.js.map +1 -0
  219. package/dist/ensure-D63lEMUK.cjs +8 -8
  220. package/dist/ensure-DGEtPU9A.cjs +14 -0
  221. package/dist/ensure-DGEtPU9A.cjs.map +1 -0
  222. package/dist/ensure-DM3qb336.cjs +14 -0
  223. package/dist/ensure-DM3qb336.cjs.map +1 -0
  224. package/dist/ensure-DME-_T0j.cjs +14 -0
  225. package/dist/ensure-DME-_T0j.cjs.map +1 -0
  226. package/dist/ensure-DWd0GCYB.js +9 -0
  227. package/dist/ensure-DWd0GCYB.js.map +1 -0
  228. package/dist/ensure-DamKOP6q.cjs +8 -8
  229. package/dist/ensure-Dcfptl-A.js +9 -0
  230. package/dist/ensure-Dcfptl-A.js.map +1 -0
  231. package/dist/ensure-Def-EBWG.js +3 -3
  232. package/dist/ensure-DnHL5QiQ.cjs +14 -0
  233. package/dist/ensure-DnHL5QiQ.cjs.map +1 -0
  234. package/dist/ensure-Dr7I78Ku.cjs +14 -0
  235. package/dist/ensure-Dr7I78Ku.cjs.map +1 -0
  236. package/dist/ensure-SLVdGd5b.js +9 -0
  237. package/dist/ensure-SLVdGd5b.js.map +1 -0
  238. package/dist/ensure-Sb92MCXu.js +3 -3
  239. package/dist/ensure-gFlvevGm.cjs +14 -0
  240. package/dist/ensure-gFlvevGm.cjs.map +1 -0
  241. package/dist/ensure-l2-H7S5W.js +9 -0
  242. package/dist/ensure-l2-H7S5W.js.map +1 -0
  243. package/dist/ensure-mkL-3qh8.js +9 -0
  244. package/dist/ensure-mkL-3qh8.js.map +1 -0
  245. package/dist/ensure-n80crSlX.js +3 -3
  246. package/dist/ensure-nCxg7MCN.js +9 -0
  247. package/dist/ensure-nCxg7MCN.js.map +1 -0
  248. package/dist/ensure-vS71MV4q.cjs +8 -8
  249. package/dist/index.cjs +40 -15
  250. package/dist/index.cjs.map +1 -1
  251. package/dist/index.d.cts +15 -4
  252. package/dist/index.d.ts +15 -4
  253. package/dist/index.js +23 -10
  254. package/dist/index.js.map +1 -1
  255. package/dist/management-6oQbmf0z.js +41 -0
  256. package/dist/management-6oQbmf0z.js.map +1 -0
  257. package/dist/management-B46QwA9Y.js +41 -0
  258. package/dist/management-B46QwA9Y.js.map +1 -0
  259. package/dist/management-B9yrRpeg.js +41 -0
  260. package/dist/management-B9yrRpeg.js.map +1 -0
  261. package/dist/management-BCKTEZ8Q.js +41 -0
  262. package/dist/management-BCKTEZ8Q.js.map +1 -0
  263. package/dist/management-BbMzdXbT.js +41 -0
  264. package/dist/management-BbMzdXbT.js.map +1 -0
  265. package/dist/management-Bg652agq.js +20 -11
  266. package/dist/management-BnedF5ZD.cjs +79 -0
  267. package/dist/management-BnedF5ZD.cjs.map +1 -0
  268. package/dist/management-BoUa99eB.cjs +79 -0
  269. package/dist/management-BoUa99eB.cjs.map +1 -0
  270. package/dist/management-C4SHcrJm.cjs +79 -0
  271. package/dist/management-C4SHcrJm.cjs.map +1 -0
  272. package/dist/management-CK-GL3wY.js +41 -0
  273. package/dist/management-CK-GL3wY.js.map +1 -0
  274. package/dist/management-CPhgY8OE.js +41 -0
  275. package/dist/management-CPhgY8OE.js.map +1 -0
  276. package/dist/management-CU_V3LIP.js +20 -11
  277. package/dist/management-CUwXDSi9.cjs +79 -0
  278. package/dist/management-CUwXDSi9.cjs.map +1 -0
  279. package/dist/management-CaqiyNzB.js +20 -11
  280. package/dist/management-Cin-JvYe.js +20 -11
  281. package/dist/management-ClaXym0F.cjs +50 -50
  282. package/dist/management-DL0Uzsoz.js +41 -0
  283. package/dist/management-DL0Uzsoz.js.map +1 -0
  284. package/dist/management-DLdAQfqk.cjs +79 -0
  285. package/dist/management-DLdAQfqk.cjs.map +1 -0
  286. package/dist/management-DMZ8qpwr.cjs +79 -0
  287. package/dist/management-DMZ8qpwr.cjs.map +1 -0
  288. package/dist/management-DTzcC6aD.cjs +79 -0
  289. package/dist/management-DTzcC6aD.cjs.map +1 -0
  290. package/dist/management-DYLNyj9p.cjs +79 -0
  291. package/dist/management-DYLNyj9p.cjs.map +1 -0
  292. package/dist/management-Dag9u4t6.cjs +50 -50
  293. package/dist/management-DbMRdDBo.cjs +50 -50
  294. package/dist/management-DfnDAKmP.js +41 -0
  295. package/dist/management-DfnDAKmP.js.map +1 -0
  296. package/dist/management-DjBU1gtb.cjs +79 -0
  297. package/dist/management-DjBU1gtb.cjs.map +1 -0
  298. package/dist/management-DwCozsY8.js +41 -0
  299. package/dist/management-DwCozsY8.js.map +1 -0
  300. package/dist/management-H4m3ciJO.js +32 -0
  301. package/dist/management-H4m3ciJO.js.map +1 -0
  302. package/dist/management-Xo3A6Za3.cjs +79 -0
  303. package/dist/management-Xo3A6Za3.cjs.map +1 -0
  304. package/dist/management-ZU2YzOkr.js +18 -10
  305. package/dist/management-baPDwA9n.cjs +50 -50
  306. package/dist/management-jQGCvZNN.cjs +44 -44
  307. package/dist/management-ry_KteFK.cjs +79 -0
  308. package/dist/management-ry_KteFK.cjs.map +1 -0
  309. package/dist/plugin/BlacPlugin.d.ts +70 -100
  310. package/dist/plugin/PluginManager.d.ts +67 -5
  311. package/dist/plugins.cjs +1 -1
  312. package/dist/plugins.d.cts +2 -2
  313. package/dist/plugins.d.ts +2 -2
  314. package/dist/plugins.js +1 -1
  315. package/dist/registry/acquire.d.ts +9 -2
  316. package/dist/registry/ensure.d.ts +2 -2
  317. package/dist/registry/index.d.ts +1 -1
  318. package/dist/resolve-dependencies-B2QggQAi.js +729 -0
  319. package/dist/resolve-dependencies-B2QggQAi.js.map +1 -0
  320. package/dist/resolve-dependencies-B6JDXvpr.js +739 -0
  321. package/dist/resolve-dependencies-B6JDXvpr.js.map +1 -0
  322. package/dist/resolve-dependencies-BAKAoD0U.js +878 -0
  323. package/dist/resolve-dependencies-BAKAoD0U.js.map +1 -0
  324. package/dist/resolve-dependencies-BFZQq60Y.cjs +724 -666
  325. package/dist/resolve-dependencies-BGafS3Ww.js +643 -561
  326. package/dist/resolve-dependencies-BHd34gS3.cjs +724 -666
  327. package/dist/resolve-dependencies-BNeayhbQ.cjs +840 -0
  328. package/dist/resolve-dependencies-BNeayhbQ.cjs.map +1 -0
  329. package/dist/resolve-dependencies-BWEMpuDy.js +729 -0
  330. package/dist/resolve-dependencies-BWEMpuDy.js.map +1 -0
  331. package/dist/resolve-dependencies-BiWkW2eS.js +643 -561
  332. package/dist/resolve-dependencies-BjxCztYD.js +739 -0
  333. package/dist/resolve-dependencies-BjxCztYD.js.map +1 -0
  334. package/dist/resolve-dependencies-BlyBV0hB.cjs +969 -0
  335. package/dist/resolve-dependencies-BlyBV0hB.cjs.map +1 -0
  336. package/dist/resolve-dependencies-By26rT_i.js +739 -0
  337. package/dist/resolve-dependencies-By26rT_i.js.map +1 -0
  338. package/dist/resolve-dependencies-C9Kf7AzY.cjs +832 -0
  339. package/dist/resolve-dependencies-C9Kf7AzY.cjs.map +1 -0
  340. package/dist/resolve-dependencies-CTzV1txG.js +643 -561
  341. package/dist/resolve-dependencies-CWjuGHiF.cjs +969 -0
  342. package/dist/resolve-dependencies-CWjuGHiF.cjs.map +1 -0
  343. package/dist/resolve-dependencies-ClSsP0DJ.cjs +830 -0
  344. package/dist/resolve-dependencies-ClSsP0DJ.cjs.map +1 -0
  345. package/dist/resolve-dependencies-D0vTzZgs.js +643 -561
  346. package/dist/resolve-dependencies-D2WnZMF-.cjs +724 -666
  347. package/dist/resolve-dependencies-DCBLTeza.cjs +969 -0
  348. package/dist/resolve-dependencies-DCBLTeza.cjs.map +1 -0
  349. package/dist/resolve-dependencies-DMlqYJR2.js +731 -0
  350. package/dist/resolve-dependencies-DMlqYJR2.js.map +1 -0
  351. package/dist/resolve-dependencies-DP6U1EYB.cjs +840 -0
  352. package/dist/resolve-dependencies-DP6U1EYB.cjs.map +1 -0
  353. package/dist/resolve-dependencies-DSQNXvnV.cjs +724 -666
  354. package/dist/resolve-dependencies-DV3HO_uH.js +878 -0
  355. package/dist/resolve-dependencies-DV3HO_uH.js.map +1 -0
  356. package/dist/resolve-dependencies-DXwMhP0Y.js +878 -0
  357. package/dist/resolve-dependencies-DXwMhP0Y.js.map +1 -0
  358. package/dist/resolve-dependencies-DbRWlt9u.js +878 -0
  359. package/dist/resolve-dependencies-DbRWlt9u.js.map +1 -0
  360. package/dist/resolve-dependencies-DcUUva2P.cjs +724 -666
  361. package/dist/resolve-dependencies-Dd8T6TLt.cjs +832 -0
  362. package/dist/resolve-dependencies-Dd8T6TLt.cjs.map +1 -0
  363. package/dist/resolve-dependencies-Dfdp_DZd.cjs +840 -0
  364. package/dist/resolve-dependencies-Dfdp_DZd.cjs.map +1 -0
  365. package/dist/resolve-dependencies-GJ8PNyNB.cjs +969 -0
  366. package/dist/resolve-dependencies-GJ8PNyNB.cjs.map +1 -0
  367. package/dist/resolve-dependencies-KSpTt4jy.cjs +830 -0
  368. package/dist/resolve-dependencies-KSpTt4jy.cjs.map +1 -0
  369. package/dist/resolve-dependencies-Nvjp4CwS.js +731 -0
  370. package/dist/resolve-dependencies-Nvjp4CwS.js.map +1 -0
  371. package/dist/resolve-dependencies-f-QUqYiL.js +643 -561
  372. package/dist/testing.cjs +27 -20
  373. package/dist/testing.cjs.map +1 -1
  374. package/dist/testing.d.cts +22 -1
  375. package/dist/testing.d.ts +22 -1
  376. package/dist/testing.js +27 -21
  377. package/dist/testing.js.map +1 -1
  378. package/dist/tracked-B77j2g9M.js +171 -151
  379. package/dist/tracked-BDVi2LKM.cjs +196 -175
  380. package/dist/tracked-BFdJCzL0.cjs +242 -0
  381. package/dist/tracked-BFdJCzL0.cjs.map +1 -0
  382. package/dist/tracked-BH-gX4T1.cjs +196 -175
  383. package/dist/tracked-BTHok3Dl.cjs +196 -175
  384. package/dist/tracked-BTbFkFeM.js +212 -0
  385. package/dist/tracked-BTbFkFeM.js.map +1 -0
  386. package/dist/tracked-BU_OBWqM.cjs +242 -0
  387. package/dist/tracked-BU_OBWqM.cjs.map +1 -0
  388. package/dist/tracked-BfctH2es.cjs +242 -0
  389. package/dist/tracked-BfctH2es.cjs.map +1 -0
  390. package/dist/tracked-BhQtzUhZ.js +212 -0
  391. package/dist/tracked-BhQtzUhZ.js.map +1 -0
  392. package/dist/tracked-BnqrYXiO.js +212 -0
  393. package/dist/tracked-BnqrYXiO.js.map +1 -0
  394. package/dist/tracked-BtgFOGup.js +212 -0
  395. package/dist/tracked-BtgFOGup.js.map +1 -0
  396. package/dist/tracked-C3nIS4J7.cjs +242 -0
  397. package/dist/tracked-C3nIS4J7.cjs.map +1 -0
  398. package/dist/tracked-C52awNV9.js +197 -0
  399. package/dist/tracked-C52awNV9.js.map +1 -0
  400. package/dist/tracked-CGzduF2m.js +212 -0
  401. package/dist/tracked-CGzduF2m.js.map +1 -0
  402. package/dist/tracked-CK_-ixtX.cjs +227 -0
  403. package/dist/tracked-CK_-ixtX.cjs.map +1 -0
  404. package/dist/tracked-CLlvURln.js +212 -0
  405. package/dist/tracked-CLlvURln.js.map +1 -0
  406. package/dist/tracked-CgHWmuGC.cjs +242 -0
  407. package/dist/tracked-CgHWmuGC.cjs.map +1 -0
  408. package/dist/tracked-CoAlC8fs.js +171 -151
  409. package/dist/tracked-D3Xjm1H1.cjs +242 -0
  410. package/dist/tracked-D3Xjm1H1.cjs.map +1 -0
  411. package/dist/tracked-DB6yMV5F.js +212 -0
  412. package/dist/tracked-DB6yMV5F.js.map +1 -0
  413. package/dist/tracked-DBn-bs_G.js +171 -151
  414. package/dist/tracked-DMBTDF0P.js +171 -151
  415. package/dist/tracked-DN3h3Rp1.js +197 -0
  416. package/dist/tracked-DN3h3Rp1.js.map +1 -0
  417. package/dist/tracked-DOGh1Q5Z.cjs +242 -0
  418. package/dist/tracked-DOGh1Q5Z.cjs.map +1 -0
  419. package/dist/tracked-DUkp4zve.cjs +227 -0
  420. package/dist/tracked-DUkp4zve.cjs.map +1 -0
  421. package/dist/tracked-D_ou7mYG.js +212 -0
  422. package/dist/tracked-D_ou7mYG.js.map +1 -0
  423. package/dist/tracked-Dcu6EATB.js +171 -151
  424. package/dist/tracked-GvAJQVAI.cjs +227 -196
  425. package/dist/tracked-O2lv-kJV.cjs +242 -0
  426. package/dist/tracked-O2lv-kJV.cjs.map +1 -0
  427. package/dist/tracked-WF6aXuAo.js +186 -162
  428. package/dist/tracked-d_sQWU3c.cjs +196 -175
  429. package/dist/tracked-n9TMK-30.cjs +196 -175
  430. package/dist/tracked-njU-_pVa.cjs +242 -0
  431. package/dist/tracked-njU-_pVa.cjs.map +1 -0
  432. package/dist/tracked-zAgmKIlC.js +212 -0
  433. package/dist/tracked-zAgmKIlC.js.map +1 -0
  434. package/dist/tracking/dependency-manager.d.ts +33 -29
  435. package/dist/tracking/index.d.ts +16 -1
  436. package/dist/tracking/iteration-perf.bench.d.ts +1 -0
  437. package/dist/tracking/path-utils.d.ts +18 -1
  438. package/dist/tracking/resolve-dependencies.d.ts +3 -1
  439. package/dist/tracking/tracked.d.ts +37 -34
  440. package/dist/tracking/tracking-proxy.d.ts +94 -47
  441. package/dist/tracking.cjs +12 -9
  442. package/dist/tracking.js +32 -2
  443. package/dist/types/utilities.d.ts +15 -3
  444. package/dist/types.cjs +1 -1
  445. package/dist/types.js +1 -1
  446. package/dist/utils/static-props.d.ts +23 -0
  447. package/dist/utils/structural-key.d.ts +14 -0
  448. package/dist/watch/watch.d.ts +1 -1
  449. package/dist/watch-BpwaUL8r.cjs +68 -0
  450. package/dist/watch-BpwaUL8r.cjs.map +1 -0
  451. package/dist/watch-DWCqXllW.js +57 -0
  452. package/dist/watch-DWCqXllW.js.map +1 -0
  453. package/dist/watch-entry.cjs +3 -6
  454. package/dist/watch-entry.d.cts +1 -3
  455. package/dist/watch-entry.d.ts +1 -3
  456. package/dist/watch-entry.js +2 -2
  457. package/package.json +4 -14
@@ -1,307 +1,380 @@
1
- const require_StateContainerRegistry = require("./StateContainerRegistry-DT66lr3I.cjs");
2
- const require_config = require("./config-CTOa-yPN.cjs");
1
+ const require_StateContainerRegistry = require('./StateContainerRegistry-DT66lr3I.cjs');
2
+ const require_config = require('./config-CTOa-yPN.cjs');
3
3
  //#region src/utils/idGenerator.ts
4
4
  /**
5
- * Generate simple ID with timestamp and random (no counter tracking)
6
- *
7
- * Format: `${prefix}:${timestamp}_${random}`
8
- *
9
- * @param prefix - Prefix for the ID
10
- * @returns Branded ID string
11
- *
12
- * @example
13
- * ```ts
14
- * const id = generateSimpleId('CounterBloc');
15
- * // Returns: "CounterBloc:1698765432100_a3k9d7f2q"
16
- * ```
17
- */
5
+ * Generate simple ID with timestamp and random (no counter tracking)
6
+ *
7
+ * Format: `${prefix}:${timestamp}_${random}`
8
+ *
9
+ * @param prefix - Prefix for the ID
10
+ * @returns Branded ID string
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const id = generateSimpleId('CounterBloc');
15
+ * // Returns: "CounterBloc:1698765432100_a3k9d7f2q"
16
+ * ```
17
+ */
18
18
  function generateSimpleId(prefix, affix) {
19
- if (affix) return `${prefix}:${affix}`;
20
- return `${prefix}:${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
19
+ if (affix) return `${prefix}:${affix}`;
20
+ return `${prefix}:${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
21
21
  }
22
22
  //#endregion
23
23
  //#region src/core/symbols.ts
24
- const EMIT = Symbol("blac.emit");
25
- const UPDATE = Symbol("blac.update");
24
+ const EMIT = Symbol('blac.emit');
25
+ const UPDATE = Symbol('blac.update');
26
26
  //#endregion
27
27
  //#region src/core/StateContainer.ts
28
28
  const EMPTY_DEPS = /* @__PURE__ */ new Map();
29
29
  var StateContainer = class StateContainer {
30
- static {
31
- this.__excludeFromDevTools = false;
32
- }
33
- static {
34
- this.enableStackTrace = true;
35
- }
36
- get dependencies() {
37
- return this._dependencies ?? EMPTY_DEPS;
38
- }
39
- depend(Type, instanceKey) {
40
- if (!this._dependencies) this._dependencies = /* @__PURE__ */ new Map();
41
- this._dependencies.set(Type, instanceKey ?? require_StateContainerRegistry.BLAC_DEFAULTS.DEFAULT_INSTANCE_KEY);
42
- return () => require_config.getRegistry().ensure(Type, instanceKey);
43
- }
44
- constructor(initialState) {
45
- this._listeners = /* @__PURE__ */ new Set();
46
- this._disposed = false;
47
- this._hydrationStatus = "idle";
48
- this._changedWhileHydrating = false;
49
- this._hydrationPromise = null;
50
- this._hydrationPromiseSettled = false;
51
- this._config = {};
52
- this._systemEventHandlers = /* @__PURE__ */ new Map();
53
- this._dependencies = null;
54
- this.name = this.constructor.name;
55
- this.debug = false;
56
- this.instanceId = generateSimpleId(this.constructor.name, "main");
57
- this.createdAt = Date.now();
58
- this.lastUpdateTimestamp = Date.now();
59
- this.createdFrom = "";
60
- this.onSystemEvent = (event, handler) => {
61
- let handlers = this._systemEventHandlers.get(event);
62
- if (!handlers) {
63
- handlers = /* @__PURE__ */ new Set();
64
- this._systemEventHandlers.set(event, handlers);
65
- }
66
- handlers.add(handler);
67
- return () => {
68
- handlers?.delete(handler);
69
- };
70
- };
71
- this._state = initialState;
72
- }
73
- initConfig(config) {
74
- this._config = { ...config };
75
- this.name = this._config.name || this.constructor.name;
76
- this.debug = this._config.debug ?? false;
77
- this.instanceId = generateSimpleId(this.constructor.name, this._config.instanceId);
78
- this.createdFrom = this.captureStackTrace();
79
- require_config.getRegistry().emit("created", this);
80
- }
81
- get state() {
82
- return this._state;
83
- }
84
- get isDisposed() {
85
- return this._disposed;
86
- }
87
- get hydrationStatus() {
88
- return this._hydrationStatus;
89
- }
90
- get hydrationError() {
91
- return this._hydrationError;
92
- }
93
- get isHydrated() {
94
- return this._hydrationStatus === "hydrated";
95
- }
96
- get changedWhileHydrating() {
97
- return this._changedWhileHydrating;
98
- }
99
- subscribe(listener) {
100
- if (this._disposed) throw new Error(`Cannot subscribe to disposed container ${this.name}`);
101
- this._listeners.add(listener);
102
- return () => this._listeners.delete(listener);
103
- }
104
- dispose() {
105
- if (this._disposed) return;
106
- if (this.debug) console.log(`[${this.name}] Disposing...`);
107
- this._disposed = true;
108
- if (this._hydrationStatus === "hydrating") this.failHydration(/* @__PURE__ */ new Error(`Hydration cancelled because ${this.name} was disposed`));
109
- this.emitSystemEvent("dispose", void 0);
110
- this._listeners.clear();
111
- this._systemEventHandlers.clear();
112
- require_config.getRegistry().emit("disposed", this);
113
- if (this.debug) console.log(`[${this.name}] Disposed successfully`);
114
- }
115
- [EMIT](newState) {
116
- this.applyState(newState, "default");
117
- }
118
- [UPDATE](updater) {
119
- if (this._disposed) throw new Error(`Cannot update state from disposed container ${this.name}`);
120
- this[EMIT](updater(this._state));
121
- }
122
- beginHydration() {
123
- if (this._disposed) throw new Error(`Cannot begin hydration for disposed container ${this.name}`);
124
- this._changedWhileHydrating = false;
125
- this._hydrationError = void 0;
126
- this._hydrationPromise = null;
127
- this._resolveHydrationPromise = void 0;
128
- this._rejectHydrationPromise = void 0;
129
- this._hydrationPromiseSettled = false;
130
- this.ensureHydrationPromise();
131
- this.setHydrationStatus("hydrating");
132
- }
133
- applyHydratedState(newState) {
134
- if (this._disposed) return false;
135
- if (this._hydrationStatus !== "hydrating" || this._changedWhileHydrating) return false;
136
- this.applyState(newState, "hydration");
137
- return true;
138
- }
139
- finishHydration() {
140
- if (this._hydrationStatus !== "hydrating") {
141
- if (this._hydrationStatus === "hydrated") return;
142
- if (this._hydrationStatus === "error") this.ensureHydrationPromise();
143
- }
144
- this.setHydrationStatus("hydrated");
145
- this.resolveHydration();
146
- }
147
- failHydration(error) {
148
- const err = error instanceof Error ? error : /* @__PURE__ */ new Error(`Hydration failed: ${String(error)}`);
149
- this._hydrationError = err;
150
- this.setHydrationStatus("error", err);
151
- this.rejectHydration(err);
152
- }
153
- waitForHydration() {
154
- if (this._hydrationStatus === "idle" || this._hydrationStatus === "hydrated") return Promise.resolve();
155
- if (this._hydrationStatus === "error") return Promise.reject(this._hydrationError ?? /* @__PURE__ */ new Error(`Hydration failed for container ${this.name}`));
156
- return this.ensureHydrationPromise();
157
- }
158
- captureStackTrace() {
159
- if (!StateContainer.enableStackTrace || typeof process !== "undefined" && process.env?.NODE_ENV === "production") return "";
160
- try {
161
- const relevantLines = ((/* @__PURE__ */ new Error()).stack || "").split("\n").slice(1);
162
- const formattedLines = [];
163
- for (const line of relevantLines) {
164
- if (!line.trim()) continue;
165
- if (line.includes("StateContainer.emit") || line.includes("StateContainer.update") || line.includes("StateContainer.captureStackTrace") || line.includes("[blac.emit]") || line.includes("[blac.update]") || line.includes("Cubit.patch") || line.includes("/blac-core/dist/") || line.includes("@blac/core/") || line.includes("/blac-react/dist/") || line.includes("@blac/react/")) continue;
166
- if (line.includes("node_modules") || line.includes("react-dom") || line.includes("react_jsx") || line.includes(".vite/deps") || line.includes("executeDispatch") || line.includes("runWithFiber") || line.includes("invokeGuarded") || line.includes("callCallback") || line.includes("processDispatchQueue") || line.includes("dispatchEvent") || line.includes("batchedUpdates")) continue;
167
- const formatted = this.formatStackLine(line);
168
- if (formatted) formattedLines.push(formatted);
169
- }
170
- return formattedLines.join("\n");
171
- } catch {
172
- return "";
173
- }
174
- }
175
- formatStackLine(line) {
176
- const match = line.match(/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/);
177
- if (!match) {
178
- const simpleMatch = line.match(/at\s+(.+?):(\d+):(\d+)/);
179
- if (simpleMatch) {
180
- const [, url, lineNum, col] = simpleMatch;
181
- return ` at ${url}:${lineNum}:${col}`;
182
- }
183
- return null;
184
- }
185
- const [, functionName, url, lineNum, col] = match;
186
- return ` at ${functionName} (${url}:${lineNum}:${col})`;
187
- }
188
- applyState(newState, source) {
189
- if (this._disposed) throw new Error(`Cannot emit state from disposed container ${this.name}`);
190
- if (this._state === newState) return;
191
- if (this._hydrationStatus === "hydrating" && source !== "hydration") this._changedWhileHydrating = true;
192
- const previousState = this._state;
193
- this._state = newState;
194
- this.emitSystemEvent("stateChanged", {
195
- state: newState,
196
- previousState
197
- });
198
- const listeners = Array.from(this._listeners);
199
- for (const listener of listeners) try {
200
- listener(newState);
201
- } catch (error) {
202
- console.error(`[${this.name}] Error in listener:`, error);
203
- }
204
- const stackTrace = this.captureStackTrace();
205
- require_config.getRegistry().emit("stateChanged", this, previousState, newState, stackTrace);
206
- this.lastUpdateTimestamp = Date.now();
207
- }
208
- setHydrationStatus(status, error) {
209
- const previousStatus = this._hydrationStatus;
210
- this._hydrationStatus = status;
211
- this._hydrationError = error;
212
- this.emitSystemEvent("hydrationChanged", {
213
- status,
214
- previousStatus,
215
- error,
216
- changedWhileHydrating: this._changedWhileHydrating
217
- });
218
- }
219
- ensureHydrationPromise() {
220
- if (!this._hydrationPromise || this._hydrationPromiseSettled) {
221
- this._hydrationPromiseSettled = false;
222
- this._hydrationPromise = new Promise((resolve, reject) => {
223
- this._resolveHydrationPromise = () => {
224
- if (this._hydrationPromiseSettled) return;
225
- this._hydrationPromiseSettled = true;
226
- resolve();
227
- };
228
- this._rejectHydrationPromise = (error) => {
229
- if (this._hydrationPromiseSettled) return;
230
- this._hydrationPromiseSettled = true;
231
- reject(error);
232
- };
233
- });
234
- this._hydrationPromise.catch(() => {});
235
- }
236
- return this._hydrationPromise;
237
- }
238
- resolveHydration() {
239
- this._resolveHydrationPromise?.();
240
- }
241
- rejectHydration(error) {
242
- this.ensureHydrationPromise();
243
- this._rejectHydrationPromise?.(error);
244
- }
245
- emitSystemEvent(event, payload) {
246
- const handlers = this._systemEventHandlers.get(event);
247
- if (!handlers) return;
248
- for (const handler of handlers) try {
249
- handler(payload);
250
- } catch (error) {
251
- console.error(`[${this.name}] Error in system event handler:`, error);
252
- }
253
- }
30
+ static {
31
+ this.__excludeFromDevTools = false;
32
+ }
33
+ static {
34
+ this.enableStackTrace = true;
35
+ }
36
+ get dependencies() {
37
+ return this._dependencies ?? EMPTY_DEPS;
38
+ }
39
+ depend(Type, instanceKey) {
40
+ if (!this._dependencies) this._dependencies = /* @__PURE__ */ new Map();
41
+ this._dependencies.set(
42
+ Type,
43
+ instanceKey ??
44
+ require_StateContainerRegistry.BLAC_DEFAULTS.DEFAULT_INSTANCE_KEY,
45
+ );
46
+ return () => require_config.getRegistry().ensure(Type, instanceKey);
47
+ }
48
+ constructor(initialState) {
49
+ this._listeners = /* @__PURE__ */ new Set();
50
+ this._disposed = false;
51
+ this._hydrationStatus = 'idle';
52
+ this._changedWhileHydrating = false;
53
+ this._hydrationPromise = null;
54
+ this._hydrationPromiseSettled = false;
55
+ this._config = {};
56
+ this._systemEventHandlers = /* @__PURE__ */ new Map();
57
+ this._dependencies = null;
58
+ this.name = this.constructor.name;
59
+ this.debug = false;
60
+ this.instanceId = generateSimpleId(this.constructor.name, 'main');
61
+ this.createdAt = Date.now();
62
+ this.lastUpdateTimestamp = Date.now();
63
+ this.createdFrom = '';
64
+ this.onSystemEvent = (event, handler) => {
65
+ let handlers = this._systemEventHandlers.get(event);
66
+ if (!handlers) {
67
+ handlers = /* @__PURE__ */ new Set();
68
+ this._systemEventHandlers.set(event, handlers);
69
+ }
70
+ handlers.add(handler);
71
+ return () => {
72
+ handlers?.delete(handler);
73
+ };
74
+ };
75
+ this._state = initialState;
76
+ }
77
+ initConfig(config) {
78
+ this._config = { ...config };
79
+ this.name = this._config.name || this.constructor.name;
80
+ this.debug = this._config.debug ?? false;
81
+ this.instanceId = generateSimpleId(
82
+ this.constructor.name,
83
+ this._config.instanceId,
84
+ );
85
+ this.createdFrom = this.captureStackTrace();
86
+ require_config.getRegistry().emit('created', this);
87
+ }
88
+ get state() {
89
+ return this._state;
90
+ }
91
+ get isDisposed() {
92
+ return this._disposed;
93
+ }
94
+ get hydrationStatus() {
95
+ return this._hydrationStatus;
96
+ }
97
+ get hydrationError() {
98
+ return this._hydrationError;
99
+ }
100
+ get isHydrated() {
101
+ return this._hydrationStatus === 'hydrated';
102
+ }
103
+ get changedWhileHydrating() {
104
+ return this._changedWhileHydrating;
105
+ }
106
+ subscribe(listener) {
107
+ if (this._disposed)
108
+ throw new Error(`Cannot subscribe to disposed container ${this.name}`);
109
+ this._listeners.add(listener);
110
+ return () => this._listeners.delete(listener);
111
+ }
112
+ dispose() {
113
+ if (this._disposed) return;
114
+ if (this.debug) console.log(`[${this.name}] Disposing...`);
115
+ this._disposed = true;
116
+ if (this._hydrationStatus === 'hydrating')
117
+ this.failHydration(
118
+ /* @__PURE__ */ new Error(
119
+ `Hydration cancelled because ${this.name} was disposed`,
120
+ ),
121
+ );
122
+ this.emitSystemEvent('dispose', void 0);
123
+ this._listeners.clear();
124
+ this._systemEventHandlers.clear();
125
+ require_config.getRegistry().emit('disposed', this);
126
+ if (this.debug) console.log(`[${this.name}] Disposed successfully`);
127
+ }
128
+ [EMIT](newState) {
129
+ this.applyState(newState, 'default');
130
+ }
131
+ [UPDATE](updater) {
132
+ if (this._disposed)
133
+ throw new Error(
134
+ `Cannot update state from disposed container ${this.name}`,
135
+ );
136
+ this[EMIT](updater(this._state));
137
+ }
138
+ beginHydration() {
139
+ if (this._disposed)
140
+ throw new Error(
141
+ `Cannot begin hydration for disposed container ${this.name}`,
142
+ );
143
+ this._changedWhileHydrating = false;
144
+ this._hydrationError = void 0;
145
+ this._hydrationPromise = null;
146
+ this._resolveHydrationPromise = void 0;
147
+ this._rejectHydrationPromise = void 0;
148
+ this._hydrationPromiseSettled = false;
149
+ this.ensureHydrationPromise();
150
+ this.setHydrationStatus('hydrating');
151
+ }
152
+ applyHydratedState(newState) {
153
+ if (this._disposed) return false;
154
+ if (this._hydrationStatus !== 'hydrating' || this._changedWhileHydrating)
155
+ return false;
156
+ this.applyState(newState, 'hydration');
157
+ return true;
158
+ }
159
+ finishHydration() {
160
+ if (this._hydrationStatus !== 'hydrating') {
161
+ if (this._hydrationStatus === 'hydrated') return;
162
+ if (this._hydrationStatus === 'error') this.ensureHydrationPromise();
163
+ }
164
+ this.setHydrationStatus('hydrated');
165
+ this.resolveHydration();
166
+ }
167
+ failHydration(error) {
168
+ const err =
169
+ error instanceof Error
170
+ ? error
171
+ : /* @__PURE__ */ new Error(`Hydration failed: ${String(error)}`);
172
+ this._hydrationError = err;
173
+ this.setHydrationStatus('error', err);
174
+ this.rejectHydration(err);
175
+ }
176
+ waitForHydration() {
177
+ if (
178
+ this._hydrationStatus === 'idle' ||
179
+ this._hydrationStatus === 'hydrated'
180
+ )
181
+ return Promise.resolve();
182
+ if (this._hydrationStatus === 'error')
183
+ return Promise.reject(
184
+ this._hydrationError ??
185
+ /* @__PURE__ */ new Error(
186
+ `Hydration failed for container ${this.name}`,
187
+ ),
188
+ );
189
+ return this.ensureHydrationPromise();
190
+ }
191
+ captureStackTrace() {
192
+ if (
193
+ !StateContainer.enableStackTrace ||
194
+ (typeof process !== 'undefined' && process.env?.NODE_ENV === 'production')
195
+ )
196
+ return '';
197
+ try {
198
+ const relevantLines = /* @__PURE__ */ (new Error().stack || '')
199
+ .split('\n')
200
+ .slice(1);
201
+ const formattedLines = [];
202
+ for (const line of relevantLines) {
203
+ if (!line.trim()) continue;
204
+ if (
205
+ line.includes('StateContainer.emit') ||
206
+ line.includes('StateContainer.update') ||
207
+ line.includes('StateContainer.captureStackTrace') ||
208
+ line.includes('[blac.emit]') ||
209
+ line.includes('[blac.update]') ||
210
+ line.includes('Cubit.patch') ||
211
+ line.includes('/blac-core/dist/') ||
212
+ line.includes('@blac/core/') ||
213
+ line.includes('/blac-react/dist/') ||
214
+ line.includes('@blac/react/')
215
+ )
216
+ continue;
217
+ if (
218
+ line.includes('node_modules') ||
219
+ line.includes('react-dom') ||
220
+ line.includes('react_jsx') ||
221
+ line.includes('.vite/deps') ||
222
+ line.includes('executeDispatch') ||
223
+ line.includes('runWithFiber') ||
224
+ line.includes('invokeGuarded') ||
225
+ line.includes('callCallback') ||
226
+ line.includes('processDispatchQueue') ||
227
+ line.includes('dispatchEvent') ||
228
+ line.includes('batchedUpdates')
229
+ )
230
+ continue;
231
+ const formatted = this.formatStackLine(line);
232
+ if (formatted) formattedLines.push(formatted);
233
+ }
234
+ return formattedLines.join('\n');
235
+ } catch {
236
+ return '';
237
+ }
238
+ }
239
+ formatStackLine(line) {
240
+ const match = line.match(/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/);
241
+ if (!match) {
242
+ const simpleMatch = line.match(/at\s+(.+?):(\d+):(\d+)/);
243
+ if (simpleMatch) {
244
+ const [, url, lineNum, col] = simpleMatch;
245
+ return ` at ${url}:${lineNum}:${col}`;
246
+ }
247
+ return null;
248
+ }
249
+ const [, functionName, url, lineNum, col] = match;
250
+ return ` at ${functionName} (${url}:${lineNum}:${col})`;
251
+ }
252
+ applyState(newState, source) {
253
+ if (this._disposed)
254
+ throw new Error(`Cannot emit state from disposed container ${this.name}`);
255
+ if (this._state === newState) return;
256
+ if (this._hydrationStatus === 'hydrating' && source !== 'hydration')
257
+ this._changedWhileHydrating = true;
258
+ const previousState = this._state;
259
+ this._state = newState;
260
+ this.emitSystemEvent('stateChanged', {
261
+ state: newState,
262
+ previousState,
263
+ });
264
+ const listeners = Array.from(this._listeners);
265
+ for (const listener of listeners)
266
+ try {
267
+ listener(newState);
268
+ } catch (error) {
269
+ console.error(`[${this.name}] Error in listener:`, error);
270
+ }
271
+ const stackTrace = this.captureStackTrace();
272
+ require_config
273
+ .getRegistry()
274
+ .emit('stateChanged', this, previousState, newState, stackTrace);
275
+ this.lastUpdateTimestamp = Date.now();
276
+ }
277
+ setHydrationStatus(status, error) {
278
+ const previousStatus = this._hydrationStatus;
279
+ this._hydrationStatus = status;
280
+ this._hydrationError = error;
281
+ this.emitSystemEvent('hydrationChanged', {
282
+ status,
283
+ previousStatus,
284
+ error,
285
+ changedWhileHydrating: this._changedWhileHydrating,
286
+ });
287
+ }
288
+ ensureHydrationPromise() {
289
+ if (!this._hydrationPromise || this._hydrationPromiseSettled) {
290
+ this._hydrationPromiseSettled = false;
291
+ this._hydrationPromise = new Promise((resolve, reject) => {
292
+ this._resolveHydrationPromise = () => {
293
+ if (this._hydrationPromiseSettled) return;
294
+ this._hydrationPromiseSettled = true;
295
+ resolve();
296
+ };
297
+ this._rejectHydrationPromise = (error) => {
298
+ if (this._hydrationPromiseSettled) return;
299
+ this._hydrationPromiseSettled = true;
300
+ reject(error);
301
+ };
302
+ });
303
+ this._hydrationPromise.catch(() => {});
304
+ }
305
+ return this._hydrationPromise;
306
+ }
307
+ resolveHydration() {
308
+ this._resolveHydrationPromise?.();
309
+ }
310
+ rejectHydration(error) {
311
+ this.ensureHydrationPromise();
312
+ this._rejectHydrationPromise?.(error);
313
+ }
314
+ emitSystemEvent(event, payload) {
315
+ const handlers = this._systemEventHandlers.get(event);
316
+ if (!handlers) return;
317
+ for (const handler of handlers)
318
+ try {
319
+ handler(payload);
320
+ } catch (error) {
321
+ console.error(`[${this.name}] Error in system event handler:`, error);
322
+ }
323
+ }
254
324
  };
255
325
  //#endregion
256
326
  //#region src/core/Cubit.ts
257
327
  var Cubit = class extends StateContainer {
258
- constructor(initialState) {
259
- super(initialState);
260
- this.patch = ((partial) => {
261
- if (typeof this.state !== "object" || this.state === null) throw new Error("patch() is only available for object state types");
262
- const current = this.state;
263
- let hasChanges = false;
264
- for (const key in partial) if (!Object.is(current[key], partial[key])) {
265
- hasChanges = true;
266
- break;
267
- }
268
- if (hasChanges) this.update((c) => ({
269
- ...c,
270
- ...partial
271
- }));
272
- });
273
- }
274
- emit(newState) {
275
- this[EMIT](newState);
276
- }
277
- update(updater) {
278
- this[UPDATE](updater);
279
- }
328
+ constructor(initialState) {
329
+ super(initialState);
330
+ this.patch = (partial) => {
331
+ if (typeof this.state !== 'object' || this.state === null)
332
+ throw new Error('patch() is only available for object state types');
333
+ const current = this.state;
334
+ let hasChanges = false;
335
+ for (const key in partial)
336
+ if (!Object.is(current[key], partial[key])) {
337
+ hasChanges = true;
338
+ break;
339
+ }
340
+ if (hasChanges)
341
+ this.update((c) => ({
342
+ ...c,
343
+ ...partial,
344
+ }));
345
+ };
346
+ }
347
+ emit(newState) {
348
+ this[EMIT](newState);
349
+ }
350
+ update(updater) {
351
+ this[UPDATE](updater);
352
+ }
280
353
  };
281
354
  //#endregion
282
- Object.defineProperty(exports, "Cubit", {
283
- enumerable: true,
284
- get: function() {
285
- return Cubit;
286
- }
355
+ Object.defineProperty(exports, 'Cubit', {
356
+ enumerable: true,
357
+ get: function () {
358
+ return Cubit;
359
+ },
287
360
  });
288
- Object.defineProperty(exports, "EMIT", {
289
- enumerable: true,
290
- get: function() {
291
- return EMIT;
292
- }
361
+ Object.defineProperty(exports, 'EMIT', {
362
+ enumerable: true,
363
+ get: function () {
364
+ return EMIT;
365
+ },
293
366
  });
294
- Object.defineProperty(exports, "StateContainer", {
295
- enumerable: true,
296
- get: function() {
297
- return StateContainer;
298
- }
367
+ Object.defineProperty(exports, 'StateContainer', {
368
+ enumerable: true,
369
+ get: function () {
370
+ return StateContainer;
371
+ },
299
372
  });
300
- Object.defineProperty(exports, "UPDATE", {
301
- enumerable: true,
302
- get: function() {
303
- return UPDATE;
304
- }
373
+ Object.defineProperty(exports, 'UPDATE', {
374
+ enumerable: true,
375
+ get: function () {
376
+ return UPDATE;
377
+ },
305
378
  });
306
379
 
307
- //# sourceMappingURL=Cubit-MkjbpcPf.cjs.map
380
+ //# sourceMappingURL=Cubit-MkjbpcPf.cjs.map