@blac/core 2.0.15 → 2.0.17

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 (595) hide show
  1. package/dist/StateContainerRegistry-B1GYx9Xo.js +975 -0
  2. package/dist/StateContainerRegistry-B1GYx9Xo.js.map +1 -0
  3. package/dist/{StateContainerRegistry-DmmzYa7S.js → StateContainerRegistry-B_ViBLvJ.js} +78 -77
  4. package/dist/StateContainerRegistry-B_ViBLvJ.js.map +1 -0
  5. package/dist/StateContainerRegistry-DJQqLrli.cjs +1046 -0
  6. package/dist/StateContainerRegistry-DJQqLrli.cjs.map +1 -0
  7. package/dist/{StateContainerRegistry-B4yVMYbx.cjs → StateContainerRegistry-FWKzPfS-.cjs} +77 -88
  8. package/dist/StateContainerRegistry-FWKzPfS-.cjs.map +1 -0
  9. package/dist/acquire-CbMz7gWs.cjs +46 -0
  10. package/dist/acquire-CbMz7gWs.cjs.map +1 -0
  11. package/dist/acquire-DHEOEVcj.cjs +46 -0
  12. package/dist/acquire-DHEOEVcj.cjs.map +1 -0
  13. package/dist/acquire-Don7499S.js +35 -0
  14. package/dist/acquire-Don7499S.js.map +1 -0
  15. package/dist/acquire-G8aB3GAx.js +35 -0
  16. package/dist/acquire-G8aB3GAx.js.map +1 -0
  17. package/dist/{branded-BSeA_mZO.cjs → branded-BybA0_xw.cjs} +1 -1
  18. package/dist/{branded-BSeA_mZO.cjs.map → branded-BybA0_xw.cjs.map} +1 -1
  19. package/dist/{branded-DwtzSsg0.js → branded-DkbUzncc.js} +1 -1
  20. package/dist/{branded-DwtzSsg0.js.map → branded-DkbUzncc.js.map} +1 -1
  21. package/dist/{config-DoHx0Xsl.js → config-8pyOC5gv.js} +2 -2
  22. package/dist/{config-0ZD9i3wy.js.map → config-8pyOC5gv.js.map} +1 -1
  23. package/dist/{config-B_4xXpvK.cjs → config-DVMnlHLv.cjs} +2 -2
  24. package/dist/{config-B3NIwDQv.cjs.map → config-DVMnlHLv.cjs.map} +1 -1
  25. package/dist/{config-C8xqVHTf.js → config-Dk1FxfXj.js} +5 -5
  26. package/dist/{config-BKGHop0V.js.map → config-Dk1FxfXj.js.map} +1 -1
  27. package/dist/config-sCPKPYxZ.cjs +32 -0
  28. package/dist/{config-BPj08-8h.cjs.map → config-sCPKPYxZ.cjs.map} +1 -1
  29. package/dist/constants.d.cts +0 -5
  30. package/dist/constants.d.ts +0 -5
  31. package/dist/core/StateContainer.d.ts +51 -10
  32. package/dist/core/StateContainerRegistry.d.ts +27 -10
  33. package/dist/debug.cjs +3 -3
  34. package/dist/debug.js +3 -3
  35. package/dist/{Cubit-CWP8Ddzx.cjs → ensure-CLQEx0Nn.cjs} +24 -6
  36. package/dist/ensure-CLQEx0Nn.cjs.map +1 -0
  37. package/dist/{Cubit-VJuu2tt9.js → ensure-CPMiGvov.js} +19 -7
  38. package/dist/ensure-CPMiGvov.js.map +1 -0
  39. package/dist/ensure-DEXSmA-N.js +526 -0
  40. package/dist/ensure-DEXSmA-N.js.map +1 -0
  41. package/dist/ensure-Dx86f80B.cjs +567 -0
  42. package/dist/ensure-Dx86f80B.cjs.map +1 -0
  43. package/dist/ensure-DzqGej43.js +526 -0
  44. package/dist/ensure-DzqGej43.js.map +1 -0
  45. package/dist/ensure-fsQMjaQL.cjs +567 -0
  46. package/dist/ensure-fsQMjaQL.cjs.map +1 -0
  47. package/dist/index.cjs +34 -40
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +4 -3
  50. package/dist/index.d.ts +4 -3
  51. package/dist/index.js +27 -33
  52. package/dist/index.js.map +1 -1
  53. package/dist/management-444tdCBG.js +38 -0
  54. package/dist/management-444tdCBG.js.map +1 -0
  55. package/dist/management-7jLjVHJd.js +38 -0
  56. package/dist/management-7jLjVHJd.js.map +1 -0
  57. package/dist/{management-DTzcC6aD.cjs → management-DAV9sN-k.cjs} +14 -8
  58. package/dist/management-DAV9sN-k.cjs.map +1 -0
  59. package/dist/management-GcnNJjnm.cjs +85 -0
  60. package/dist/management-GcnNJjnm.cjs.map +1 -0
  61. package/dist/plugins.cjs +1 -1
  62. package/dist/plugins.js +1 -1
  63. package/dist/registry/acquire.d.ts +19 -6
  64. package/dist/registry/borrow.d.ts +14 -3
  65. package/dist/registry/ensure.d.ts +7 -1
  66. package/dist/registry/index.d.ts +1 -0
  67. package/dist/registry/queries.d.ts +10 -4
  68. package/dist/registry/release.d.ts +14 -2
  69. package/dist/testing.cjs +17 -17
  70. package/dist/testing.cjs.map +1 -1
  71. package/dist/testing.d.cts +4 -4
  72. package/dist/testing.d.ts +4 -4
  73. package/dist/testing.js +14 -14
  74. package/dist/testing.js.map +1 -1
  75. package/dist/types/utilities.d.ts +1 -12
  76. package/dist/types.cjs +1 -1
  77. package/dist/types.js +1 -1
  78. package/dist/utils/static-props.d.ts +0 -9
  79. package/dist/watch/watch.d.ts +8 -5
  80. package/dist/{watch-BpwaUL8r.cjs → watch-B91opmva.cjs} +11 -9
  81. package/dist/watch-B91opmva.cjs.map +1 -0
  82. package/dist/{watch-DWCqXllW.js → watch-BmC-Tyqg.js} +11 -9
  83. package/dist/watch-BmC-Tyqg.js.map +1 -0
  84. package/dist/watch-CKWt788i.cjs +70 -0
  85. package/dist/watch-CKWt788i.cjs.map +1 -0
  86. package/dist/watch-DPVUwPUY.js +59 -0
  87. package/dist/watch-DPVUwPUY.js.map +1 -0
  88. package/dist/watch-entry.cjs +1 -1
  89. package/dist/watch-entry.js +1 -1
  90. package/package.json +22 -11
  91. package/dist/Cubit-9jal5zdZ.cjs +0 -390
  92. package/dist/Cubit-9jal5zdZ.cjs.map +0 -1
  93. package/dist/Cubit-BAUPiUF7.cjs +0 -380
  94. package/dist/Cubit-BAUPiUF7.cjs.map +0 -1
  95. package/dist/Cubit-BBKF3PIg.js +0 -287
  96. package/dist/Cubit-BBKF3PIg.js.map +0 -1
  97. package/dist/Cubit-BC70gaiA.js +0 -453
  98. package/dist/Cubit-BC70gaiA.js.map +0 -1
  99. package/dist/Cubit-BOgUZva7.js +0 -360
  100. package/dist/Cubit-BOgUZva7.js.map +0 -1
  101. package/dist/Cubit-BOxMvpfc.js +0 -291
  102. package/dist/Cubit-BOxMvpfc.js.map +0 -1
  103. package/dist/Cubit-BTznt8zg.js +0 -370
  104. package/dist/Cubit-BTznt8zg.js.map +0 -1
  105. package/dist/Cubit-BogJXkLm.js +0 -278
  106. package/dist/Cubit-BogJXkLm.js.map +0 -1
  107. package/dist/Cubit-C-8R_8db.cjs +0 -475
  108. package/dist/Cubit-C-8R_8db.cjs.map +0 -1
  109. package/dist/Cubit-C3Mw3EoO.cjs +0 -401
  110. package/dist/Cubit-C3Mw3EoO.cjs.map +0 -1
  111. package/dist/Cubit-CO8Fr72L.cjs +0 -447
  112. package/dist/Cubit-CO8Fr72L.cjs.map +0 -1
  113. package/dist/Cubit-COfHT1Bm.cjs +0 -321
  114. package/dist/Cubit-COfHT1Bm.cjs.map +0 -1
  115. package/dist/Cubit-CROWjjs9.js +0 -481
  116. package/dist/Cubit-CROWjjs9.js.map +0 -1
  117. package/dist/Cubit-CWP8Ddzx.cjs.map +0 -1
  118. package/dist/Cubit-CXxh9iol.js +0 -302
  119. package/dist/Cubit-CXxh9iol.js.map +0 -1
  120. package/dist/Cubit-CYOWfzQt.cjs +0 -317
  121. package/dist/Cubit-CYOWfzQt.cjs.map +0 -1
  122. package/dist/Cubit-CZaf_fp4.cjs +0 -388
  123. package/dist/Cubit-CZaf_fp4.cjs.map +0 -1
  124. package/dist/Cubit-C_dUEUdd.cjs +0 -380
  125. package/dist/Cubit-C_dUEUdd.cjs.map +0 -1
  126. package/dist/Cubit-C_rxRCTN.cjs +0 -523
  127. package/dist/Cubit-C_rxRCTN.cjs.map +0 -1
  128. package/dist/Cubit-CcKgMEBO.js +0 -299
  129. package/dist/Cubit-CcKgMEBO.js.map +0 -1
  130. package/dist/Cubit-CfT6Y1jl.js +0 -346
  131. package/dist/Cubit-CfT6Y1jl.js.map +0 -1
  132. package/dist/Cubit-CynJruuO.js +0 -369
  133. package/dist/Cubit-CynJruuO.js.map +0 -1
  134. package/dist/Cubit-D2vQ6nMb.js +0 -360
  135. package/dist/Cubit-D2vQ6nMb.js.map +0 -1
  136. package/dist/Cubit-D7jOZCoZ.js +0 -360
  137. package/dist/Cubit-D7jOZCoZ.js.map +0 -1
  138. package/dist/Cubit-D9j3IGPc.cjs +0 -523
  139. package/dist/Cubit-D9j3IGPc.cjs.map +0 -1
  140. package/dist/Cubit-DKEY9WYq.cjs +0 -296
  141. package/dist/Cubit-DKEY9WYq.cjs.map +0 -1
  142. package/dist/Cubit-DMV_0TCp.js +0 -481
  143. package/dist/Cubit-DMV_0TCp.js.map +0 -1
  144. package/dist/Cubit-DP5DXPUK.js +0 -360
  145. package/dist/Cubit-DP5DXPUK.js.map +0 -1
  146. package/dist/Cubit-DRFkzD2h.js +0 -426
  147. package/dist/Cubit-DRFkzD2h.js.map +0 -1
  148. package/dist/Cubit-DbnhTUaZ.cjs +0 -380
  149. package/dist/Cubit-DbnhTUaZ.cjs.map +0 -1
  150. package/dist/Cubit-DrqG3SP3.cjs +0 -370
  151. package/dist/Cubit-DrqG3SP3.cjs.map +0 -1
  152. package/dist/Cubit-DsDkCo42.cjs +0 -313
  153. package/dist/Cubit-DsDkCo42.cjs.map +0 -1
  154. package/dist/Cubit-DwRw1E9D.cjs +0 -309
  155. package/dist/Cubit-DwRw1E9D.cjs.map +0 -1
  156. package/dist/Cubit-Dw_kFBgc.js +0 -372
  157. package/dist/Cubit-Dw_kFBgc.js.map +0 -1
  158. package/dist/Cubit-KiXZCubP.cjs +0 -392
  159. package/dist/Cubit-KiXZCubP.cjs.map +0 -1
  160. package/dist/Cubit-Ksj7G4uR.js +0 -360
  161. package/dist/Cubit-Ksj7G4uR.js.map +0 -1
  162. package/dist/Cubit-MkjbpcPf.cjs +0 -380
  163. package/dist/Cubit-MkjbpcPf.cjs.map +0 -1
  164. package/dist/Cubit-NRhvdDQ6.js +0 -297
  165. package/dist/Cubit-NRhvdDQ6.js.map +0 -1
  166. package/dist/Cubit-PMTXxI_u.js +0 -368
  167. package/dist/Cubit-PMTXxI_u.js.map +0 -1
  168. package/dist/Cubit-VJuu2tt9.js.map +0 -1
  169. package/dist/Cubit-jz922NKf.cjs +0 -320
  170. package/dist/Cubit-jz922NKf.cjs.map +0 -1
  171. package/dist/Cubit-kU5_4jgC.cjs +0 -380
  172. package/dist/Cubit-kU5_4jgC.cjs.map +0 -1
  173. package/dist/StateContainerRegistry-B4yVMYbx.cjs.map +0 -1
  174. package/dist/StateContainerRegistry-BAcxouCu.js +0 -723
  175. package/dist/StateContainerRegistry-BAcxouCu.js.map +0 -1
  176. package/dist/StateContainerRegistry-BK57H92E.js +0 -747
  177. package/dist/StateContainerRegistry-BK57H92E.js.map +0 -1
  178. package/dist/StateContainerRegistry-BRBATSrx.cjs +0 -1030
  179. package/dist/StateContainerRegistry-BRBATSrx.cjs.map +0 -1
  180. package/dist/StateContainerRegistry-BgBIKcQF.js +0 -956
  181. package/dist/StateContainerRegistry-BgBIKcQF.js.map +0 -1
  182. package/dist/StateContainerRegistry-BglEhqdA.js +0 -709
  183. package/dist/StateContainerRegistry-BglEhqdA.js.map +0 -1
  184. package/dist/StateContainerRegistry-BhcnG0DF.js +0 -665
  185. package/dist/StateContainerRegistry-BhcnG0DF.js.map +0 -1
  186. package/dist/StateContainerRegistry-BpO5t-0i.js +0 -682
  187. package/dist/StateContainerRegistry-BpO5t-0i.js.map +0 -1
  188. package/dist/StateContainerRegistry-BqS-wpb_.js +0 -957
  189. package/dist/StateContainerRegistry-BqS-wpb_.js.map +0 -1
  190. package/dist/StateContainerRegistry-BrEGYPZT.cjs +0 -1029
  191. package/dist/StateContainerRegistry-BrEGYPZT.cjs.map +0 -1
  192. package/dist/StateContainerRegistry-BsMIpllP.cjs +0 -659
  193. package/dist/StateContainerRegistry-BsMIpllP.cjs.map +0 -1
  194. package/dist/StateContainerRegistry-Bxfne4A7.cjs +0 -908
  195. package/dist/StateContainerRegistry-Bxfne4A7.cjs.map +0 -1
  196. package/dist/StateContainerRegistry-C0E7vsgy.js +0 -758
  197. package/dist/StateContainerRegistry-C0E7vsgy.js.map +0 -1
  198. package/dist/StateContainerRegistry-C0I77Ndz.cjs +0 -920
  199. package/dist/StateContainerRegistry-C0I77Ndz.cjs.map +0 -1
  200. package/dist/StateContainerRegistry-CDH9mnQS.cjs +0 -715
  201. package/dist/StateContainerRegistry-CDH9mnQS.cjs.map +0 -1
  202. package/dist/StateContainerRegistry-CTOXUf75.cjs +0 -742
  203. package/dist/StateContainerRegistry-CTOXUf75.cjs.map +0 -1
  204. package/dist/StateContainerRegistry-CX2CBOmv.cjs +0 -795
  205. package/dist/StateContainerRegistry-CX2CBOmv.cjs.map +0 -1
  206. package/dist/StateContainerRegistry-CXnnf2-l.js +0 -867
  207. package/dist/StateContainerRegistry-CXnnf2-l.js.map +0 -1
  208. package/dist/StateContainerRegistry-CehuIpK_.cjs +0 -811
  209. package/dist/StateContainerRegistry-CehuIpK_.cjs.map +0 -1
  210. package/dist/StateContainerRegistry-Ci0ajc5g.js +0 -720
  211. package/dist/StateContainerRegistry-Ci0ajc5g.js.map +0 -1
  212. package/dist/StateContainerRegistry-Ck2-XmT_.js +0 -627
  213. package/dist/StateContainerRegistry-Ck2-XmT_.js.map +0 -1
  214. package/dist/StateContainerRegistry-D1lVJFGL.cjs +0 -753
  215. package/dist/StateContainerRegistry-D1lVJFGL.cjs.map +0 -1
  216. package/dist/StateContainerRegistry-DC4N73O6.js +0 -672
  217. package/dist/StateContainerRegistry-DC4N73O6.js.map +0 -1
  218. package/dist/StateContainerRegistry-DOkDGng-.js +0 -626
  219. package/dist/StateContainerRegistry-DOkDGng-.js.map +0 -1
  220. package/dist/StateContainerRegistry-DOuGI-l5.js +0 -685
  221. package/dist/StateContainerRegistry-DOuGI-l5.js.map +0 -1
  222. package/dist/StateContainerRegistry-DT66lr3I.cjs +0 -698
  223. package/dist/StateContainerRegistry-DT66lr3I.cjs.map +0 -1
  224. package/dist/StateContainerRegistry-DmmzYa7S.js.map +0 -1
  225. package/dist/StateContainerRegistry-Upsrlg9G.cjs +0 -756
  226. package/dist/StateContainerRegistry-Upsrlg9G.cjs.map +0 -1
  227. package/dist/StateContainerRegistry-WznfcA-Q.js +0 -855
  228. package/dist/StateContainerRegistry-WznfcA-Q.js.map +0 -1
  229. package/dist/StateContainerRegistry-Yph6UCA_.js +0 -678
  230. package/dist/StateContainerRegistry-Yph6UCA_.js.map +0 -1
  231. package/dist/StateContainerRegistry-mseeTqSA.cjs +0 -718
  232. package/dist/StateContainerRegistry-mseeTqSA.cjs.map +0 -1
  233. package/dist/StateContainerRegistry-pRNxHNFD.cjs +0 -705
  234. package/dist/StateContainerRegistry-pRNxHNFD.cjs.map +0 -1
  235. package/dist/StateContainerRegistry-vXMWtG7J.cjs +0 -660
  236. package/dist/StateContainerRegistry-vXMWtG7J.cjs.map +0 -1
  237. package/dist/StateContainerRegistry-v_prqMcI.cjs +0 -711
  238. package/dist/StateContainerRegistry-v_prqMcI.cjs.map +0 -1
  239. package/dist/branded-DCqi3De1.cjs +0 -18
  240. package/dist/branded-DCqi3De1.cjs.map +0 -1
  241. package/dist/branded-Max3xOTA.js +0 -13
  242. package/dist/branded-Max3xOTA.js.map +0 -1
  243. package/dist/config-0ZD9i3wy.js +0 -16
  244. package/dist/config-B3NIwDQv.cjs +0 -32
  245. package/dist/config-BKGHop0V.js +0 -16
  246. package/dist/config-BKoaAlmb.js +0 -16
  247. package/dist/config-BKoaAlmb.js.map +0 -1
  248. package/dist/config-BPj08-8h.cjs +0 -32
  249. package/dist/config-BR0Xy-Tn.cjs +0 -32
  250. package/dist/config-BR0Xy-Tn.cjs.map +0 -1
  251. package/dist/config-B_4xXpvK.cjs.map +0 -1
  252. package/dist/config-BflrQM4_.cjs +0 -32
  253. package/dist/config-BflrQM4_.cjs.map +0 -1
  254. package/dist/config-BzObBsk2.cjs +0 -32
  255. package/dist/config-BzObBsk2.cjs.map +0 -1
  256. package/dist/config-C0yumL1H.cjs +0 -32
  257. package/dist/config-C0yumL1H.cjs.map +0 -1
  258. package/dist/config-C8xqVHTf.js.map +0 -1
  259. package/dist/config-CCUhIYIF.js +0 -16
  260. package/dist/config-CCUhIYIF.js.map +0 -1
  261. package/dist/config-CGo__MAt.js +0 -16
  262. package/dist/config-CGo__MAt.js.map +0 -1
  263. package/dist/config-CQH9fTY-.cjs +0 -32
  264. package/dist/config-CQH9fTY-.cjs.map +0 -1
  265. package/dist/config-CR_Bz7RD.js +0 -16
  266. package/dist/config-CR_Bz7RD.js.map +0 -1
  267. package/dist/config-CTOa-yPN.cjs +0 -32
  268. package/dist/config-CTOa-yPN.cjs.map +0 -1
  269. package/dist/config-Cd7Q-B4g.js +0 -16
  270. package/dist/config-Cd7Q-B4g.js.map +0 -1
  271. package/dist/config-CmDEX-1o.js +0 -16
  272. package/dist/config-CmDEX-1o.js.map +0 -1
  273. package/dist/config-CoNMTnMA.cjs +0 -32
  274. package/dist/config-CoNMTnMA.cjs.map +0 -1
  275. package/dist/config-Cwj8-C1J.js +0 -16
  276. package/dist/config-Cwj8-C1J.js.map +0 -1
  277. package/dist/config-D3jisfdj.cjs +0 -32
  278. package/dist/config-D3jisfdj.cjs.map +0 -1
  279. package/dist/config-D4GifZQ4.js +0 -16
  280. package/dist/config-D4GifZQ4.js.map +0 -1
  281. package/dist/config-DDrSQGpQ.cjs +0 -32
  282. package/dist/config-DDrSQGpQ.cjs.map +0 -1
  283. package/dist/config-DEcslxan.cjs +0 -32
  284. package/dist/config-DEcslxan.cjs.map +0 -1
  285. package/dist/config-DLzmy2rZ.cjs +0 -32
  286. package/dist/config-DLzmy2rZ.cjs.map +0 -1
  287. package/dist/config-DMNZ2YLV.cjs +0 -32
  288. package/dist/config-DMNZ2YLV.cjs.map +0 -1
  289. package/dist/config-De9oQ6Ki.js +0 -16
  290. package/dist/config-De9oQ6Ki.js.map +0 -1
  291. package/dist/config-DoHx0Xsl.js.map +0 -1
  292. package/dist/config-DokTzpr8.cjs +0 -32
  293. package/dist/config-DokTzpr8.cjs.map +0 -1
  294. package/dist/config-DslYBm4Z.js +0 -16
  295. package/dist/config-DslYBm4Z.js.map +0 -1
  296. package/dist/config-H6FAqbW4.cjs +0 -32
  297. package/dist/config-H6FAqbW4.cjs.map +0 -1
  298. package/dist/config-XQua95Xz.js +0 -16
  299. package/dist/config-XQua95Xz.js.map +0 -1
  300. package/dist/config-Yp645dGK.js +0 -16
  301. package/dist/config-Yp645dGK.js.map +0 -1
  302. package/dist/config-ispAzOZV.js +0 -16
  303. package/dist/config-ispAzOZV.js.map +0 -1
  304. package/dist/ensure-9VEq5H0L.js +0 -9
  305. package/dist/ensure-9VEq5H0L.js.map +0 -1
  306. package/dist/ensure-BB6xHQAF.cjs +0 -14
  307. package/dist/ensure-BB6xHQAF.cjs.map +0 -1
  308. package/dist/ensure-BNDfTzqg.cjs +0 -14
  309. package/dist/ensure-BNDfTzqg.cjs.map +0 -1
  310. package/dist/ensure-BVCnjU7r.js +0 -365
  311. package/dist/ensure-BVCnjU7r.js.map +0 -1
  312. package/dist/ensure-BbzGXjep.cjs +0 -14
  313. package/dist/ensure-BbzGXjep.cjs.map +0 -1
  314. package/dist/ensure-BlIaQai6.js +0 -9
  315. package/dist/ensure-BlIaQai6.js.map +0 -1
  316. package/dist/ensure-Bm3oHxga.js +0 -9
  317. package/dist/ensure-Bm3oHxga.js.map +0 -1
  318. package/dist/ensure-C3eIRs6e.cjs +0 -14
  319. package/dist/ensure-C3eIRs6e.cjs.map +0 -1
  320. package/dist/ensure-C5I1xp2C.js +0 -9
  321. package/dist/ensure-C5I1xp2C.js.map +0 -1
  322. package/dist/ensure-CJZL7bcA.cjs +0 -391
  323. package/dist/ensure-CJZL7bcA.cjs.map +0 -1
  324. package/dist/ensure-CN6unBOe.cjs +0 -14
  325. package/dist/ensure-CN6unBOe.cjs.map +0 -1
  326. package/dist/ensure-CSHYjIeH.cjs +0 -14
  327. package/dist/ensure-CSHYjIeH.cjs.map +0 -1
  328. package/dist/ensure-CU-B1ywv.js +0 -9
  329. package/dist/ensure-CU-B1ywv.js.map +0 -1
  330. package/dist/ensure-CWKzeno7.js +0 -9
  331. package/dist/ensure-CWKzeno7.js.map +0 -1
  332. package/dist/ensure-CkENsuQ9.js +0 -9
  333. package/dist/ensure-CkENsuQ9.js.map +0 -1
  334. package/dist/ensure-Cm-4_LSh.cjs +0 -14
  335. package/dist/ensure-Cm-4_LSh.cjs.map +0 -1
  336. package/dist/ensure-Cqex5r1P.cjs +0 -14
  337. package/dist/ensure-Cqex5r1P.cjs.map +0 -1
  338. package/dist/ensure-Cv5AbNGZ.js +0 -9
  339. package/dist/ensure-Cv5AbNGZ.js.map +0 -1
  340. package/dist/ensure-D63lEMUK.cjs +0 -14
  341. package/dist/ensure-D63lEMUK.cjs.map +0 -1
  342. package/dist/ensure-DGEtPU9A.cjs +0 -14
  343. package/dist/ensure-DGEtPU9A.cjs.map +0 -1
  344. package/dist/ensure-DM3qb336.cjs +0 -14
  345. package/dist/ensure-DM3qb336.cjs.map +0 -1
  346. package/dist/ensure-DME-_T0j.cjs +0 -14
  347. package/dist/ensure-DME-_T0j.cjs.map +0 -1
  348. package/dist/ensure-DWd0GCYB.js +0 -9
  349. package/dist/ensure-DWd0GCYB.js.map +0 -1
  350. package/dist/ensure-DamKOP6q.cjs +0 -14
  351. package/dist/ensure-DamKOP6q.cjs.map +0 -1
  352. package/dist/ensure-Dcfptl-A.js +0 -9
  353. package/dist/ensure-Dcfptl-A.js.map +0 -1
  354. package/dist/ensure-Def-EBWG.js +0 -9
  355. package/dist/ensure-Def-EBWG.js.map +0 -1
  356. package/dist/ensure-DnHL5QiQ.cjs +0 -14
  357. package/dist/ensure-DnHL5QiQ.cjs.map +0 -1
  358. package/dist/ensure-Dr7I78Ku.cjs +0 -14
  359. package/dist/ensure-Dr7I78Ku.cjs.map +0 -1
  360. package/dist/ensure-SLVdGd5b.js +0 -9
  361. package/dist/ensure-SLVdGd5b.js.map +0 -1
  362. package/dist/ensure-Sb92MCXu.js +0 -9
  363. package/dist/ensure-Sb92MCXu.js.map +0 -1
  364. package/dist/ensure-gFlvevGm.cjs +0 -14
  365. package/dist/ensure-gFlvevGm.cjs.map +0 -1
  366. package/dist/ensure-l2-H7S5W.js +0 -9
  367. package/dist/ensure-l2-H7S5W.js.map +0 -1
  368. package/dist/ensure-mkL-3qh8.js +0 -9
  369. package/dist/ensure-mkL-3qh8.js.map +0 -1
  370. package/dist/ensure-n80crSlX.js +0 -9
  371. package/dist/ensure-n80crSlX.js.map +0 -1
  372. package/dist/ensure-nCxg7MCN.js +0 -9
  373. package/dist/ensure-nCxg7MCN.js.map +0 -1
  374. package/dist/ensure-vS71MV4q.cjs +0 -14
  375. package/dist/ensure-vS71MV4q.cjs.map +0 -1
  376. package/dist/management-6oQbmf0z.js +0 -41
  377. package/dist/management-6oQbmf0z.js.map +0 -1
  378. package/dist/management-B46QwA9Y.js +0 -41
  379. package/dist/management-B46QwA9Y.js.map +0 -1
  380. package/dist/management-B9yrRpeg.js +0 -41
  381. package/dist/management-B9yrRpeg.js.map +0 -1
  382. package/dist/management-BCKTEZ8Q.js +0 -41
  383. package/dist/management-BCKTEZ8Q.js.map +0 -1
  384. package/dist/management-BbMzdXbT.js +0 -41
  385. package/dist/management-BbMzdXbT.js.map +0 -1
  386. package/dist/management-Bg652agq.js +0 -41
  387. package/dist/management-Bg652agq.js.map +0 -1
  388. package/dist/management-BnedF5ZD.cjs +0 -79
  389. package/dist/management-BnedF5ZD.cjs.map +0 -1
  390. package/dist/management-BoUa99eB.cjs +0 -79
  391. package/dist/management-BoUa99eB.cjs.map +0 -1
  392. package/dist/management-C-wBdpho.js +0 -37
  393. package/dist/management-C-wBdpho.js.map +0 -1
  394. package/dist/management-C4SHcrJm.cjs +0 -79
  395. package/dist/management-C4SHcrJm.cjs.map +0 -1
  396. package/dist/management-CK-GL3wY.js +0 -41
  397. package/dist/management-CK-GL3wY.js.map +0 -1
  398. package/dist/management-CPhgY8OE.js +0 -41
  399. package/dist/management-CPhgY8OE.js.map +0 -1
  400. package/dist/management-CU_V3LIP.js +0 -41
  401. package/dist/management-CU_V3LIP.js.map +0 -1
  402. package/dist/management-CUwXDSi9.cjs +0 -79
  403. package/dist/management-CUwXDSi9.cjs.map +0 -1
  404. package/dist/management-CaqiyNzB.js +0 -41
  405. package/dist/management-CaqiyNzB.js.map +0 -1
  406. package/dist/management-Cin-JvYe.js +0 -41
  407. package/dist/management-Cin-JvYe.js.map +0 -1
  408. package/dist/management-ClaXym0F.cjs +0 -79
  409. package/dist/management-ClaXym0F.cjs.map +0 -1
  410. package/dist/management-DL0Uzsoz.js +0 -41
  411. package/dist/management-DL0Uzsoz.js.map +0 -1
  412. package/dist/management-DLdAQfqk.cjs +0 -79
  413. package/dist/management-DLdAQfqk.cjs.map +0 -1
  414. package/dist/management-DMZ8qpwr.cjs +0 -79
  415. package/dist/management-DMZ8qpwr.cjs.map +0 -1
  416. package/dist/management-DTzcC6aD.cjs.map +0 -1
  417. package/dist/management-DYLNyj9p.cjs +0 -79
  418. package/dist/management-DYLNyj9p.cjs.map +0 -1
  419. package/dist/management-Dag9u4t6.cjs +0 -79
  420. package/dist/management-Dag9u4t6.cjs.map +0 -1
  421. package/dist/management-DbMRdDBo.cjs +0 -79
  422. package/dist/management-DbMRdDBo.cjs.map +0 -1
  423. package/dist/management-DfnDAKmP.js +0 -41
  424. package/dist/management-DfnDAKmP.js.map +0 -1
  425. package/dist/management-DjBU1gtb.cjs +0 -79
  426. package/dist/management-DjBU1gtb.cjs.map +0 -1
  427. package/dist/management-DwCozsY8.js +0 -41
  428. package/dist/management-DwCozsY8.js.map +0 -1
  429. package/dist/management-H4m3ciJO.js +0 -32
  430. package/dist/management-H4m3ciJO.js.map +0 -1
  431. package/dist/management-Xo3A6Za3.cjs +0 -79
  432. package/dist/management-Xo3A6Za3.cjs.map +0 -1
  433. package/dist/management-ZU2YzOkr.js +0 -37
  434. package/dist/management-ZU2YzOkr.js.map +0 -1
  435. package/dist/management-baPDwA9n.cjs +0 -79
  436. package/dist/management-baPDwA9n.cjs.map +0 -1
  437. package/dist/management-jQGCvZNN.cjs +0 -70
  438. package/dist/management-jQGCvZNN.cjs.map +0 -1
  439. package/dist/management-ry_KteFK.cjs +0 -79
  440. package/dist/management-ry_KteFK.cjs.map +0 -1
  441. package/dist/management-xoZ7w3bI.cjs +0 -70
  442. package/dist/management-xoZ7w3bI.cjs.map +0 -1
  443. package/dist/resolve-dependencies-B2QggQAi.js +0 -729
  444. package/dist/resolve-dependencies-B2QggQAi.js.map +0 -1
  445. package/dist/resolve-dependencies-B6JDXvpr.js +0 -739
  446. package/dist/resolve-dependencies-B6JDXvpr.js.map +0 -1
  447. package/dist/resolve-dependencies-BA3u06uC.js +0 -731
  448. package/dist/resolve-dependencies-BA3u06uC.js.map +0 -1
  449. package/dist/resolve-dependencies-BAKAoD0U.js +0 -878
  450. package/dist/resolve-dependencies-BAKAoD0U.js.map +0 -1
  451. package/dist/resolve-dependencies-BFZQq60Y.cjs +0 -832
  452. package/dist/resolve-dependencies-BFZQq60Y.cjs.map +0 -1
  453. package/dist/resolve-dependencies-BGafS3Ww.js +0 -731
  454. package/dist/resolve-dependencies-BGafS3Ww.js.map +0 -1
  455. package/dist/resolve-dependencies-BHd34gS3.cjs +0 -832
  456. package/dist/resolve-dependencies-BHd34gS3.cjs.map +0 -1
  457. package/dist/resolve-dependencies-BNeayhbQ.cjs +0 -840
  458. package/dist/resolve-dependencies-BNeayhbQ.cjs.map +0 -1
  459. package/dist/resolve-dependencies-BT6TU2HF.cjs +0 -832
  460. package/dist/resolve-dependencies-BT6TU2HF.cjs.map +0 -1
  461. package/dist/resolve-dependencies-BWEMpuDy.js +0 -729
  462. package/dist/resolve-dependencies-BWEMpuDy.js.map +0 -1
  463. package/dist/resolve-dependencies-BiWkW2eS.js +0 -731
  464. package/dist/resolve-dependencies-BiWkW2eS.js.map +0 -1
  465. package/dist/resolve-dependencies-BjxCztYD.js +0 -739
  466. package/dist/resolve-dependencies-BjxCztYD.js.map +0 -1
  467. package/dist/resolve-dependencies-BlyBV0hB.cjs +0 -969
  468. package/dist/resolve-dependencies-BlyBV0hB.cjs.map +0 -1
  469. package/dist/resolve-dependencies-By26rT_i.js +0 -739
  470. package/dist/resolve-dependencies-By26rT_i.js.map +0 -1
  471. package/dist/resolve-dependencies-C9Kf7AzY.cjs +0 -832
  472. package/dist/resolve-dependencies-C9Kf7AzY.cjs.map +0 -1
  473. package/dist/resolve-dependencies-CTzV1txG.js +0 -731
  474. package/dist/resolve-dependencies-CTzV1txG.js.map +0 -1
  475. package/dist/resolve-dependencies-CWjuGHiF.cjs +0 -969
  476. package/dist/resolve-dependencies-CWjuGHiF.cjs.map +0 -1
  477. package/dist/resolve-dependencies-ClSsP0DJ.cjs +0 -830
  478. package/dist/resolve-dependencies-ClSsP0DJ.cjs.map +0 -1
  479. package/dist/resolve-dependencies-D0vTzZgs.js +0 -731
  480. package/dist/resolve-dependencies-D0vTzZgs.js.map +0 -1
  481. package/dist/resolve-dependencies-D2WnZMF-.cjs +0 -832
  482. package/dist/resolve-dependencies-D2WnZMF-.cjs.map +0 -1
  483. package/dist/resolve-dependencies-DCBLTeza.cjs +0 -969
  484. package/dist/resolve-dependencies-DCBLTeza.cjs.map +0 -1
  485. package/dist/resolve-dependencies-DMlqYJR2.js +0 -731
  486. package/dist/resolve-dependencies-DMlqYJR2.js.map +0 -1
  487. package/dist/resolve-dependencies-DP6U1EYB.cjs +0 -840
  488. package/dist/resolve-dependencies-DP6U1EYB.cjs.map +0 -1
  489. package/dist/resolve-dependencies-DSQNXvnV.cjs +0 -832
  490. package/dist/resolve-dependencies-DSQNXvnV.cjs.map +0 -1
  491. package/dist/resolve-dependencies-DV3HO_uH.js +0 -878
  492. package/dist/resolve-dependencies-DV3HO_uH.js.map +0 -1
  493. package/dist/resolve-dependencies-DXwMhP0Y.js +0 -878
  494. package/dist/resolve-dependencies-DXwMhP0Y.js.map +0 -1
  495. package/dist/resolve-dependencies-DbRWlt9u.js +0 -878
  496. package/dist/resolve-dependencies-DbRWlt9u.js.map +0 -1
  497. package/dist/resolve-dependencies-DcUUva2P.cjs +0 -832
  498. package/dist/resolve-dependencies-DcUUva2P.cjs.map +0 -1
  499. package/dist/resolve-dependencies-Dd8T6TLt.cjs +0 -832
  500. package/dist/resolve-dependencies-Dd8T6TLt.cjs.map +0 -1
  501. package/dist/resolve-dependencies-Dfdp_DZd.cjs +0 -840
  502. package/dist/resolve-dependencies-Dfdp_DZd.cjs.map +0 -1
  503. package/dist/resolve-dependencies-GJ8PNyNB.cjs +0 -969
  504. package/dist/resolve-dependencies-GJ8PNyNB.cjs.map +0 -1
  505. package/dist/resolve-dependencies-KSpTt4jy.cjs +0 -830
  506. package/dist/resolve-dependencies-KSpTt4jy.cjs.map +0 -1
  507. package/dist/resolve-dependencies-Nvjp4CwS.js +0 -731
  508. package/dist/resolve-dependencies-Nvjp4CwS.js.map +0 -1
  509. package/dist/resolve-dependencies-f-QUqYiL.js +0 -731
  510. package/dist/resolve-dependencies-f-QUqYiL.js.map +0 -1
  511. package/dist/tracked-B77j2g9M.js +0 -197
  512. package/dist/tracked-B77j2g9M.js.map +0 -1
  513. package/dist/tracked-BDVi2LKM.cjs +0 -227
  514. package/dist/tracked-BDVi2LKM.cjs.map +0 -1
  515. package/dist/tracked-BFdJCzL0.cjs +0 -242
  516. package/dist/tracked-BFdJCzL0.cjs.map +0 -1
  517. package/dist/tracked-BH-gX4T1.cjs +0 -227
  518. package/dist/tracked-BH-gX4T1.cjs.map +0 -1
  519. package/dist/tracked-BTHok3Dl.cjs +0 -227
  520. package/dist/tracked-BTHok3Dl.cjs.map +0 -1
  521. package/dist/tracked-BTbFkFeM.js +0 -212
  522. package/dist/tracked-BTbFkFeM.js.map +0 -1
  523. package/dist/tracked-BU_OBWqM.cjs +0 -242
  524. package/dist/tracked-BU_OBWqM.cjs.map +0 -1
  525. package/dist/tracked-BfctH2es.cjs +0 -242
  526. package/dist/tracked-BfctH2es.cjs.map +0 -1
  527. package/dist/tracked-BhQtzUhZ.js +0 -212
  528. package/dist/tracked-BhQtzUhZ.js.map +0 -1
  529. package/dist/tracked-BnqrYXiO.js +0 -212
  530. package/dist/tracked-BnqrYXiO.js.map +0 -1
  531. package/dist/tracked-BtgFOGup.js +0 -212
  532. package/dist/tracked-BtgFOGup.js.map +0 -1
  533. package/dist/tracked-C3nIS4J7.cjs +0 -242
  534. package/dist/tracked-C3nIS4J7.cjs.map +0 -1
  535. package/dist/tracked-C52awNV9.js +0 -197
  536. package/dist/tracked-C52awNV9.js.map +0 -1
  537. package/dist/tracked-CGzduF2m.js +0 -212
  538. package/dist/tracked-CGzduF2m.js.map +0 -1
  539. package/dist/tracked-CK_-ixtX.cjs +0 -227
  540. package/dist/tracked-CK_-ixtX.cjs.map +0 -1
  541. package/dist/tracked-CLlvURln.js +0 -212
  542. package/dist/tracked-CLlvURln.js.map +0 -1
  543. package/dist/tracked-CgHWmuGC.cjs +0 -242
  544. package/dist/tracked-CgHWmuGC.cjs.map +0 -1
  545. package/dist/tracked-CoAlC8fs.js +0 -197
  546. package/dist/tracked-CoAlC8fs.js.map +0 -1
  547. package/dist/tracked-D3Xjm1H1.cjs +0 -242
  548. package/dist/tracked-D3Xjm1H1.cjs.map +0 -1
  549. package/dist/tracked-DB6yMV5F.js +0 -212
  550. package/dist/tracked-DB6yMV5F.js.map +0 -1
  551. package/dist/tracked-DBn-bs_G.js +0 -197
  552. package/dist/tracked-DBn-bs_G.js.map +0 -1
  553. package/dist/tracked-DCfBaYjL.cjs +0 -227
  554. package/dist/tracked-DCfBaYjL.cjs.map +0 -1
  555. package/dist/tracked-DKduNLgI.js +0 -197
  556. package/dist/tracked-DKduNLgI.js.map +0 -1
  557. package/dist/tracked-DMBTDF0P.js +0 -197
  558. package/dist/tracked-DMBTDF0P.js.map +0 -1
  559. package/dist/tracked-DN3h3Rp1.js +0 -197
  560. package/dist/tracked-DN3h3Rp1.js.map +0 -1
  561. package/dist/tracked-DOGh1Q5Z.cjs +0 -242
  562. package/dist/tracked-DOGh1Q5Z.cjs.map +0 -1
  563. package/dist/tracked-DUkp4zve.cjs +0 -227
  564. package/dist/tracked-DUkp4zve.cjs.map +0 -1
  565. package/dist/tracked-D_ou7mYG.js +0 -212
  566. package/dist/tracked-D_ou7mYG.js.map +0 -1
  567. package/dist/tracked-Dcu6EATB.js +0 -197
  568. package/dist/tracked-Dcu6EATB.js.map +0 -1
  569. package/dist/tracked-GvAJQVAI.cjs +0 -271
  570. package/dist/tracked-GvAJQVAI.cjs.map +0 -1
  571. package/dist/tracked-O2lv-kJV.cjs +0 -242
  572. package/dist/tracked-O2lv-kJV.cjs.map +0 -1
  573. package/dist/tracked-WF6aXuAo.js +0 -223
  574. package/dist/tracked-WF6aXuAo.js.map +0 -1
  575. package/dist/tracked-d_sQWU3c.cjs +0 -227
  576. package/dist/tracked-d_sQWU3c.cjs.map +0 -1
  577. package/dist/tracked-n9TMK-30.cjs +0 -227
  578. package/dist/tracked-n9TMK-30.cjs.map +0 -1
  579. package/dist/tracked-njU-_pVa.cjs +0 -242
  580. package/dist/tracked-njU-_pVa.cjs.map +0 -1
  581. package/dist/tracked-zAgmKIlC.js +0 -212
  582. package/dist/tracked-zAgmKIlC.js.map +0 -1
  583. package/dist/tracking/dependency-manager.d.ts +0 -41
  584. package/dist/tracking/index.d.ts +0 -28
  585. package/dist/tracking/iteration-perf.bench.d.ts +0 -1
  586. package/dist/tracking/path-utils.d.ts +0 -69
  587. package/dist/tracking/resolve-dependencies.d.ts +0 -9
  588. package/dist/tracking/tracked.d.ts +0 -73
  589. package/dist/tracking/tracking-proxy.d.ts +0 -230
  590. package/dist/tracking.cjs +0 -21
  591. package/dist/tracking.d.cts +0 -9
  592. package/dist/tracking.d.ts +0 -9
  593. package/dist/tracking.js +0 -32
  594. package/dist/watch-BpwaUL8r.cjs.map +0 -1
  595. package/dist/watch-DWCqXllW.js.map +0 -1
@@ -1,969 +0,0 @@
1
- const require_StateContainerRegistry = require('./StateContainerRegistry-Bxfne4A7.cjs');
2
- const require_config = require('./config-BflrQM4_.cjs');
3
- //#region src/tracking/path-utils.ts
4
- /**
5
- * Path utilities for dependency tracking
6
- *
7
- * Provides utilities for parsing property paths and extracting values
8
- * from nested objects using path strings.
9
- *
10
- * @internal
11
- */
12
- /**
13
- * Parse a property path string into an array of segments
14
- *
15
- * @internal
16
- *
17
- * Handles both dot notation (a.b.c) and bracket notation (a[0].b)
18
- *
19
- * @example
20
- * ```ts
21
- * parsePath('user.name') // ['user', 'name']
22
- * parsePath('items[0].name') // ['items', '0', 'name']
23
- * parsePath('data.users[2].address.city') // ['data', 'users', '2', 'address', 'city']
24
- * ```
25
- */
26
- function parsePath(path) {
27
- const segments = [];
28
- let current = '';
29
- let i = 0;
30
- while (i < path.length) {
31
- const char = path[i];
32
- if (char === '.') {
33
- if (current) segments.push(current);
34
- current = '';
35
- } else if (char === '[') {
36
- if (current) segments.push(current);
37
- current = '';
38
- i++;
39
- while (i < path.length && path[i] !== ']') current += path[i++];
40
- if (current) segments.push(current);
41
- current = '';
42
- } else current += char;
43
- i++;
44
- }
45
- if (current) segments.push(current);
46
- return segments;
47
- }
48
- /**
49
- * Sentinel value returned by `getValueAtPath` when the path cannot be fully
50
- * walked because an intermediate segment is null or undefined. This is
51
- * distinct from `undefined`, which is a legitimate leaf value.
52
- *
53
- * @internal
54
- */
55
- const MISSING = Symbol('missing');
56
- /**
57
- * Get a value from an object using a path of segments
58
- *
59
- * Returns `PATH_MISSING` (not `undefined`) when the path cannot be walked
60
- * because an intermediate parent is null or undefined. This lets callers
61
- * distinguish "the leaf is explicitly `undefined`" from "the path is broken".
62
- *
63
- * @example
64
- * ```ts
65
- * const obj = { user: { name: 'Alice', age: 30 } }
66
- * getValueAtPath(obj, ['user', 'name']) // 'Alice'
67
- * getValueAtPath(obj, ['user', 'age']) // 30
68
- * getValueAtPath(obj, ['user', 'missing']) // undefined
69
- * getValueAtPath({ a: null }, ['a', 'b']) // PATH_MISSING
70
- * ```
71
- *
72
- * @internal
73
- */
74
- function getValueAtPath(obj, segments) {
75
- let current = obj;
76
- for (let i = 0; i < segments.length; i++) {
77
- if (current === null || current === void 0) return MISSING;
78
- current = current[segments[i]];
79
- }
80
- return current;
81
- }
82
- /**
83
- * Shallow equality comparison for arrays
84
- *
85
- * Compares two arrays element-by-element using Object.is
86
- *
87
- * @example
88
- * ```ts
89
- * shallowEqual([1, 2, 3], [1, 2, 3]) // true
90
- * shallowEqual([1, 2, 3], [1, 2, 4]) // false
91
- * shallowEqual([1, 2], [1, 2, 3]) // false
92
- * ```
93
- *
94
- * @internal
95
- */
96
- function shallowEqual(arr1, arr2) {
97
- if (arr1.length !== arr2.length) return false;
98
- for (let i = 0; i < arr1.length; i++)
99
- if (!Object.is(arr1[i], arr2[i])) return false;
100
- return true;
101
- }
102
- //#endregion
103
- //#region src/tracking/tracking-proxy.ts
104
- /**
105
- * Consolidated Tracking System
106
- *
107
- * This module provides all dependency and getter tracking functionality:
108
- * - Proxy creation for automatic property access tracking
109
- * - Dependency path tracking and change detection
110
- * - Getter execution tracking for computed properties
111
- * - Combined tracking proxy for watch/waitUntil use cases
112
- */
113
- /**
114
- * Check if a value can be proxied
115
- * Returns true for plain objects and arrays only.
116
- * @internal
117
- */
118
- function isProxyable(value) {
119
- if (typeof value !== 'object' || value === null) return false;
120
- const proto = Object.getPrototypeOf(value);
121
- return proto === Object.prototype || proto === Array.prototype;
122
- }
123
- /**
124
- * Create a new proxy tracker state
125
- * @internal
126
- */
127
- function createProxyState() {
128
- return {
129
- trackedPaths: /* @__PURE__ */ new Set(),
130
- isTracking: false,
131
- proxyCache: /* @__PURE__ */ new WeakMap(),
132
- boundFunctionsCache: null,
133
- lastProxiedState: null,
134
- lastProxy: null,
135
- maxDepth: 10,
136
- };
137
- }
138
- /**
139
- * Start tracking property accesses
140
- * @internal
141
- */
142
- function startProxy(state) {
143
- state.isTracking = true;
144
- state.trackedPaths.clear();
145
- }
146
- /**
147
- * Stop tracking and return the tracked paths
148
- * @internal
149
- */
150
- function stopProxy(state) {
151
- state.isTracking = false;
152
- const paths = state.trackedPaths;
153
- state.trackedPaths = /* @__PURE__ */ new Set();
154
- return paths;
155
- }
156
- /**
157
- * Cache (or create + cache) a function keyed by (target, fn). The cached
158
- * value is whatever `factory()` returns the first time the pair is seen.
159
- *
160
- * Used for both:
161
- * - plain bound copies (see `getBoundFunction`)
162
- * - custom wrappers (e.g. iterating-array-method wrappers in
163
- * `createArrayProxy`) that need stable identity across renders
164
- * @internal
165
- */
166
- function getOrCacheBound(state, target, fn, factory) {
167
- if (!state.boundFunctionsCache)
168
- state.boundFunctionsCache = /* @__PURE__ */ new WeakMap();
169
- let perTarget = state.boundFunctionsCache.get(target);
170
- if (!perTarget) {
171
- perTarget = /* @__PURE__ */ new WeakMap();
172
- state.boundFunctionsCache.set(target, perTarget);
173
- }
174
- const cached = perTarget.get(fn);
175
- if (cached) return cached;
176
- const made = factory();
177
- perTarget.set(fn, made);
178
- return made;
179
- }
180
- /**
181
- * Return a bound copy of `fn` keyed by (target, fn) so that the same
182
- * prototype method (e.g. Array.prototype.map) bound to different targets
183
- * produces different cached values.
184
- * @internal
185
- */
186
- function getBoundFunction(state, target, fn) {
187
- return getOrCacheBound(state, target, fn, () => fn.bind(target));
188
- }
189
- /**
190
- * Array methods whose callback we wrap so each item is proxied at its
191
- * own per-index path. Excludes mutators, derived-array returners, and
192
- * the iterator-returning helpers (handled elsewhere).
193
- * @internal
194
- */
195
- const ITERATING_METHODS = new Set([
196
- 'forEach',
197
- 'map',
198
- 'filter',
199
- 'find',
200
- 'findIndex',
201
- 'findLast',
202
- 'findLastIndex',
203
- 'some',
204
- 'every',
205
- 'flatMap',
206
- ]);
207
- /**
208
- * Array folding methods whose callback has the reduce signature
209
- * (acc, item, index, arr) => acc. Items are proxied; accumulator passes raw.
210
- * @internal
211
- */
212
- const REDUCING_METHODS = new Set(['reduce', 'reduceRight']);
213
- /**
214
- * Create a proxy for an array with property access tracking
215
- * @internal
216
- */
217
- function createArrayProxy(state, target, path, depth = 0) {
218
- let proxyRef;
219
- function makeIteratingWrapper(methodName) {
220
- const realMethod = Array.prototype[methodName];
221
- return function (callback, thisArg) {
222
- return realMethod.call(target, (item, index) => {
223
- const indexPath = path ? `${path}[${index}]` : `[${index}]`;
224
- if (state.isTracking) state.trackedPaths.add(indexPath);
225
- const proxiedItem = isProxyable(item)
226
- ? createInternal(state, item, indexPath, depth + 1)
227
- : item;
228
- return callback.call(thisArg, proxiedItem, index, proxyRef);
229
- });
230
- };
231
- }
232
- /**
233
- * Iterator-returning array methods whose yielded items need to be proxied.
234
- * `keys()` is excluded — it yields numeric indices (primitives, no proxying needed).
235
- */
236
- const ITERATOR_METHODS = new Set(['values', 'entries']);
237
- function makeIteratorMethod(methodName) {
238
- return function () {
239
- return (function* () {
240
- const len = target.length;
241
- if (state.isTracking && path) state.trackedPaths.add(`${path}.length`);
242
- for (let i = 0; i < len; i++) {
243
- const indexPath = path ? `${path}[${i}]` : `[${i}]`;
244
- if (state.isTracking) state.trackedPaths.add(indexPath);
245
- const item = target[i];
246
- const proxied = isProxyable(item)
247
- ? createInternal(state, item, indexPath, depth + 1)
248
- : item;
249
- if (methodName === 'entries') yield [i, proxied];
250
- else yield proxied;
251
- }
252
- })();
253
- };
254
- }
255
- function makeReducingWrapper(methodName) {
256
- const realMethod = Array.prototype[methodName];
257
- return function (callback, ...rest) {
258
- const wrapped = (acc, item, index) => {
259
- const indexPath = path ? `${path}[${index}]` : `[${index}]`;
260
- if (state.isTracking) state.trackedPaths.add(indexPath);
261
- return callback(
262
- acc,
263
- isProxyable(item)
264
- ? createInternal(state, item, indexPath, depth + 1)
265
- : item,
266
- index,
267
- proxyRef,
268
- );
269
- };
270
- return rest.length > 0
271
- ? realMethod.call(target, wrapped, rest[0])
272
- : realMethod.call(target, wrapped);
273
- };
274
- }
275
- const proxy = new Proxy(target, {
276
- get: (arr, prop) => {
277
- if (prop === Symbol.iterator)
278
- return function* () {
279
- const len = arr.length;
280
- if (state.isTracking && path)
281
- state.trackedPaths.add(`${path}.length`);
282
- for (let i = 0; i < len; i++) {
283
- const indexPath = path ? `${path}[${i}]` : `[${i}]`;
284
- if (state.isTracking) state.trackedPaths.add(indexPath);
285
- const item = arr[i];
286
- yield isProxyable(item)
287
- ? createInternal(state, item, indexPath, depth + 1)
288
- : item;
289
- }
290
- };
291
- if (typeof prop === 'symbol') return Reflect.get(arr, prop);
292
- const value = Reflect.get(arr, prop);
293
- if (typeof value === 'function') {
294
- if (typeof prop === 'string' && ITERATING_METHODS.has(prop))
295
- return getOrCacheBound(state, arr, value, () =>
296
- makeIteratingWrapper(prop),
297
- );
298
- if (typeof prop === 'string' && REDUCING_METHODS.has(prop))
299
- return getOrCacheBound(state, arr, value, () =>
300
- makeReducingWrapper(prop),
301
- );
302
- if (typeof prop === 'string' && ITERATOR_METHODS.has(prop))
303
- return getOrCacheBound(state, arr, value, () =>
304
- makeIteratorMethod(prop),
305
- );
306
- return getBoundFunction(state, arr, value);
307
- }
308
- if (prop === 'length') {
309
- if (state.isTracking) {
310
- const fullPath = path ? `${path}.length` : 'length';
311
- state.trackedPaths.add(fullPath);
312
- }
313
- return value;
314
- }
315
- let fullPath;
316
- if (typeof prop === 'string') {
317
- const index = Number(prop);
318
- if (!isNaN(index) && index >= 0)
319
- fullPath = path ? `${path}[${index}]` : `[${index}]`;
320
- else fullPath = path ? `${path}.${prop}` : prop;
321
- } else return value;
322
- if (state.isTracking) state.trackedPaths.add(fullPath);
323
- if (isProxyable(value))
324
- return createInternal(state, value, fullPath, depth + 1);
325
- return value;
326
- },
327
- });
328
- proxyRef = proxy;
329
- state.proxyCache.set(target, proxy);
330
- return proxy;
331
- }
332
- /**
333
- * Create a proxy for an object with property access tracking
334
- * @internal
335
- */
336
- function createInternal(state, target, path = '', depth = 0) {
337
- if (!state.isTracking || !isProxyable(target)) return target;
338
- if (depth >= state.maxDepth) {
339
- console.warn(
340
- `${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Proxy depth limit (${state.maxDepth}) reached at path "${path}". Deeper property accesses won't be tracked for re-renders.`,
341
- );
342
- return target;
343
- }
344
- if (state.proxyCache.has(target)) return state.proxyCache.get(target);
345
- if (Array.isArray(target))
346
- return createArrayProxy(state, target, path, depth);
347
- const proxy = new Proxy(target, {
348
- get: (obj, prop) => {
349
- if (typeof prop === 'symbol') return Reflect.get(obj, prop);
350
- const value = Reflect.get(obj, prop);
351
- if (typeof value === 'function')
352
- return getBoundFunction(state, obj, value);
353
- const fullPath = path ? `${path}.${String(prop)}` : String(prop);
354
- if (typeof prop === 'string' && state.isTracking) {
355
- if (!prop.startsWith('_') && !prop.startsWith('$$'))
356
- state.trackedPaths.add(fullPath);
357
- }
358
- if (isProxyable(value))
359
- return createInternal(state, value, fullPath, depth + 1);
360
- return value;
361
- },
362
- has: (obj, prop) => {
363
- if (typeof prop === 'string' && state.isTracking) {
364
- const fullPath = path ? `${path}.${prop}` : prop;
365
- state.trackedPaths.add(fullPath);
366
- }
367
- return Reflect.has(obj, prop);
368
- },
369
- ownKeys: (obj) => {
370
- if (state.isTracking && path) state.trackedPaths.add(path);
371
- return Reflect.ownKeys(obj);
372
- },
373
- });
374
- state.proxyCache.set(target, proxy);
375
- return proxy;
376
- }
377
- /**
378
- * Create a proxy for a target with caching
379
- * @internal
380
- */
381
- function createForTarget(state, target) {
382
- if (state.lastProxiedState === target && state.lastProxy)
383
- return state.lastProxy;
384
- state.proxyCache = /* @__PURE__ */ new WeakMap();
385
- state.boundFunctionsCache = null;
386
- const proxy = createInternal(state, target, '', 0);
387
- state.lastProxiedState = target;
388
- state.lastProxy = proxy;
389
- return proxy;
390
- }
391
- function isChildPath(child, parent) {
392
- if (child === parent) return false;
393
- return child.startsWith(parent + '.') || child.startsWith(parent + '[');
394
- }
395
- /**
396
- * @internal
397
- */
398
- function optimizeTrackedPaths(paths) {
399
- if (paths.size <= 1) return paths;
400
- let allFlat = true;
401
- for (const path of paths)
402
- if (path.charCodeAt(path.length - 1) === 93 || path.includes('.')) {
403
- allFlat = false;
404
- break;
405
- }
406
- if (allFlat) return paths;
407
- const sortedPaths = Array.from(paths).sort((a, b) =>
408
- a > b ? -1 : a < b ? 1 : 0,
409
- );
410
- const optimized = /* @__PURE__ */ new Set();
411
- let lastKept;
412
- for (const path of sortedPaths) {
413
- if (lastKept !== void 0 && isChildPath(lastKept, path)) continue;
414
- optimized.add(path);
415
- lastKept = path;
416
- }
417
- return optimized;
418
- }
419
- /**
420
- * @internal
421
- */
422
- function createDependencyState() {
423
- return {
424
- proxyState: createProxyState(),
425
- previousRenderPaths: /* @__PURE__ */ new Set(),
426
- currentRenderPaths: /* @__PURE__ */ new Set(),
427
- pathCache: /* @__PURE__ */ new Map(),
428
- lastCheckedState: null,
429
- lastCheckedValues: /* @__PURE__ */ new Map(),
430
- };
431
- }
432
- /**
433
- * @internal
434
- */
435
- function startDependency(tracker) {
436
- startProxy(tracker.proxyState);
437
- }
438
- /**
439
- * @internal
440
- */
441
- function createDependencyProxy(tracker, state) {
442
- return createForTarget(tracker.proxyState, state);
443
- }
444
- /**
445
- * @internal
446
- */
447
- function capturePaths(tracker, state) {
448
- tracker.previousRenderPaths = tracker.currentRenderPaths;
449
- tracker.currentRenderPaths = optimizeTrackedPaths(
450
- stopProxy(tracker.proxyState),
451
- );
452
- if (
453
- tracker.previousRenderPaths.size === 0 &&
454
- tracker.currentRenderPaths.size === 0
455
- ) {
456
- tracker.pathCache.clear();
457
- tracker.lastCheckedValues.clear();
458
- return;
459
- }
460
- const trackedPathsUnion = new Set(tracker.previousRenderPaths);
461
- for (const path of tracker.currentRenderPaths) trackedPathsUnion.add(path);
462
- if (tracker.pathCache.size > trackedPathsUnion.size) {
463
- for (const path of tracker.pathCache.keys())
464
- if (!trackedPathsUnion.has(path)) tracker.pathCache.delete(path);
465
- }
466
- const canReuseCache = tracker.lastCheckedState === state;
467
- for (const path of trackedPathsUnion)
468
- if (!tracker.pathCache.has(path)) {
469
- const segments = parsePath(path);
470
- const value =
471
- canReuseCache && tracker.lastCheckedValues.has(path)
472
- ? tracker.lastCheckedValues.get(path)
473
- : getValueAtPath(state, segments);
474
- tracker.pathCache.set(path, {
475
- segments,
476
- value,
477
- });
478
- } else {
479
- const info = tracker.pathCache.get(path);
480
- if (!info) continue;
481
- info.value =
482
- canReuseCache && tracker.lastCheckedValues.has(path)
483
- ? tracker.lastCheckedValues.get(path)
484
- : getValueAtPath(state, info.segments);
485
- }
486
- tracker.lastCheckedValues.clear();
487
- }
488
- /**
489
- * @internal
490
- */
491
- function hasDependencyChanges(tracker, state) {
492
- if (tracker.pathCache.size === 0) return true;
493
- tracker.lastCheckedValues.clear();
494
- for (const [path, info] of tracker.pathCache.entries()) {
495
- const currentValue = getValueAtPath(state, info.segments);
496
- tracker.lastCheckedValues.set(path, currentValue);
497
- if (!Object.is(currentValue, info.value)) {
498
- tracker.lastCheckedState = state;
499
- return true;
500
- }
501
- }
502
- tracker.lastCheckedState = state;
503
- return false;
504
- }
505
- /**
506
- * @internal
507
- */
508
- function hasTrackedData(tracker) {
509
- return (
510
- tracker.proxyState.trackedPaths.size > 0 ||
511
- tracker.pathCache.size > 0 ||
512
- tracker.previousRenderPaths.size > 0
513
- );
514
- }
515
- const descriptorCache = /* @__PURE__ */ new WeakMap();
516
- const MAX_GETTER_DEPTH =
517
- require_StateContainerRegistry.BLAC_DEFAULTS.MAX_GETTER_DEPTH;
518
- /**
519
- * @internal
520
- */
521
- function getDescriptor(obj, prop) {
522
- const constructor = obj.constructor;
523
- let constructorCache = descriptorCache.get(constructor);
524
- if (constructorCache?.has(prop)) return constructorCache.get(prop);
525
- let current = obj;
526
- let descriptor;
527
- while (current && current !== Object.prototype) {
528
- descriptor = Object.getOwnPropertyDescriptor(current, prop);
529
- if (descriptor) break;
530
- current = Object.getPrototypeOf(current);
531
- }
532
- if (!constructorCache) {
533
- constructorCache = /* @__PURE__ */ new Map();
534
- descriptorCache.set(constructor, constructorCache);
535
- }
536
- constructorCache.set(prop, descriptor);
537
- return descriptor;
538
- }
539
- /**
540
- * @internal
541
- */
542
- function isGetter(obj, prop) {
543
- return getDescriptor(obj, prop)?.get !== void 0;
544
- }
545
- /**
546
- * @internal
547
- */
548
- function createGetterState() {
549
- return {
550
- trackedValues: /* @__PURE__ */ new Map(),
551
- currentlyAccessing: /* @__PURE__ */ new Set(),
552
- trackedGetters: /* @__PURE__ */ new Set(),
553
- isTracking: false,
554
- renderCache: /* @__PURE__ */ new Map(),
555
- cacheValid: false,
556
- depth: 0,
557
- visitedBlocs: /* @__PURE__ */ new Set(),
558
- };
559
- }
560
- /**
561
- * @internal
562
- */
563
- /**
564
- * Commit getters accessed during the active tracking window into the
565
- * authoritative `trackedGetters` set used by change-detection.
566
- *
567
- * When `currentlyAccessing` is empty (e.g. React StrictMode firing
568
- * `useEffect` setup → cleanup → setup for one logical render, where the
569
- * second setup runs with no intervening render and therefore no accesses)
570
- * we deliberately preserve the previous commit's `trackedGetters`. This
571
- * keeps consumer subscriptions stable across StrictMode double-invocation.
572
- *
573
- * The next legitimate render that records accesses replaces the set in full;
574
- * components that conditionally drop a getter incur at most one extra
575
- * re-render before `trackedGetters` self-corrects on the subsequent commit.
576
- *
577
- * @internal
578
- */
579
- function commitTrackedGetters(tracker) {
580
- if (tracker.currentlyAccessing.size === 0) return;
581
- tracker.trackedGetters = new Set(tracker.currentlyAccessing);
582
- tracker.currentlyAccessing.clear();
583
- }
584
- /**
585
- * Execute a tracked getter with depth/circular dependency checks and context management.
586
- * @internal
587
- */
588
- function executeTrackedGetter(target, prop, tracker) {
589
- tracker.currentlyAccessing.add(prop);
590
- if (tracker.cacheValid && tracker.renderCache.has(prop)) {
591
- const cachedValue = tracker.renderCache.get(prop);
592
- tracker.trackedValues.set(prop, cachedValue);
593
- return cachedValue;
594
- }
595
- if (tracker.depth >= MAX_GETTER_DEPTH)
596
- throw new Error(
597
- `${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Maximum getter depth (${MAX_GETTER_DEPTH}) exceeded. Possible circular dependency in getter "${String(prop)}" on ${target.constructor.name}.`,
598
- );
599
- if (tracker.visitedBlocs.has(target))
600
- throw new Error(
601
- `${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Circular dependency detected: getter "${String(prop)}" on ${target.constructor.name}.`,
602
- );
603
- const prevDepth = tracker.depth;
604
- const prevVisited = new Set(tracker.visitedBlocs);
605
- tracker.depth++;
606
- tracker.visitedBlocs.add(target);
607
- try {
608
- const descriptor = getDescriptor(target, prop);
609
- if (!descriptor?.get) return target[prop];
610
- const value = descriptor.get.call(target);
611
- tracker.trackedValues.set(prop, value);
612
- return value;
613
- } catch (error) {
614
- tracker.currentlyAccessing.delete(prop);
615
- throw error;
616
- } finally {
617
- tracker.depth = prevDepth;
618
- tracker.visitedBlocs = prevVisited;
619
- }
620
- }
621
- /**
622
- * Create a per-consumer bloc proxy that closes over its own getter tracker.
623
- *
624
- * Each useBloc consumer owns its own proxy and tracker, eliminating the
625
- * cross-component contamination that a shared module-level tracker map
626
- * caused under interleaved/concurrent rendering.
627
- *
628
- * @internal
629
- */
630
- function createBlocProxy(bloc, tracker) {
631
- return new Proxy(bloc, {
632
- get(target, prop, receiver) {
633
- if (tracker.isTracking && isGetter(target, prop))
634
- return executeTrackedGetter(target, prop, tracker);
635
- return Reflect.get(target, prop, receiver);
636
- },
637
- });
638
- }
639
- /**
640
- * @internal
641
- */
642
- function hasGetterChanges(bloc, tracker) {
643
- if (!tracker || tracker.trackedGetters.size === 0) return false;
644
- tracker.renderCache.clear();
645
- let hasAnyChange = false;
646
- for (const prop of tracker.trackedGetters)
647
- try {
648
- const descriptor = getDescriptor(bloc, prop);
649
- if (!descriptor?.get) continue;
650
- const newValue = descriptor.get.call(bloc);
651
- const oldValue = tracker.trackedValues.get(prop);
652
- tracker.renderCache.set(prop, newValue);
653
- tracker.trackedValues.set(prop, newValue);
654
- if (!Object.is(newValue, oldValue)) hasAnyChange = true;
655
- } catch (error) {
656
- console.warn(
657
- `${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Getter "${String(prop)}" threw error during change detection. Stopping tracking for this getter.`,
658
- error,
659
- );
660
- tracker.trackedGetters.delete(prop);
661
- tracker.trackedValues.delete(prop);
662
- tracker.cacheValid = false;
663
- return true;
664
- }
665
- tracker.cacheValid = true;
666
- return hasAnyChange;
667
- }
668
- /**
669
- * @internal
670
- */
671
- function invalidateRenderCache(tracker) {
672
- tracker.cacheValid = false;
673
- }
674
- /**
675
- * Create a new tracking proxy state.
676
- */
677
- function createState() {
678
- return {
679
- dependencyState: createDependencyState(),
680
- getterState: createGetterState(),
681
- dependencies: /* @__PURE__ */ new Set(),
682
- isTracking: false,
683
- };
684
- }
685
- /**
686
- * Start tracking on a tracking proxy.
687
- */
688
- function startTracking(tracker) {
689
- tracker.isTracking = true;
690
- tracker.dependencies.clear();
691
- tracker.getterState.isTracking = true;
692
- startDependency(tracker.dependencyState);
693
- }
694
- /**
695
- * Stop tracking and collect all dependencies.
696
- */
697
- function stopTracking(tracker, bloc) {
698
- tracker.isTracking = false;
699
- tracker.getterState.isTracking = false;
700
- capturePaths(tracker.dependencyState, bloc.state);
701
- commitTrackedGetters(tracker.getterState);
702
- return new Set(tracker.dependencies);
703
- }
704
- /**
705
- * Check if tracked state or getters have changed.
706
- */
707
- function hasChanges(tracker, bloc) {
708
- invalidateRenderCache(tracker.getterState);
709
- const stateChanged = hasDependencyChanges(
710
- tracker.dependencyState,
711
- bloc.state,
712
- );
713
- const getterChanged = hasGetterChanges(bloc, tracker.getterState);
714
- return stateChanged || getterChanged;
715
- }
716
- /**
717
- * Create a tracking proxy for a bloc instance.
718
- * Tracks both state property access and getter access.
719
- */
720
- function createTrackingProxy(bloc, tracker) {
721
- tracker.dependencies.add(bloc);
722
- const stateProxyCache = /* @__PURE__ */ new WeakMap();
723
- return new Proxy(bloc, {
724
- get(target, prop, receiver) {
725
- if (prop === 'state') {
726
- if (!tracker.isTracking) return target.state;
727
- const rawState = target.state;
728
- if (rawState === null || typeof rawState !== 'object') return rawState;
729
- if (stateProxyCache.has(rawState)) return stateProxyCache.get(rawState);
730
- const stateProxy = createDependencyProxy(
731
- tracker.dependencyState,
732
- rawState,
733
- );
734
- stateProxyCache.set(rawState, stateProxy);
735
- return stateProxy;
736
- }
737
- if (typeof prop === 'symbol') return Reflect.get(target, prop, receiver);
738
- const value = Reflect.get(target, prop, receiver);
739
- if (typeof value === 'function') return value.bind(target);
740
- if (tracker.isTracking && isGetter(target, prop))
741
- return executeTrackedGetter(target, prop, tracker.getterState);
742
- return value;
743
- },
744
- });
745
- }
746
- //#endregion
747
- //#region src/tracking/dependency-manager.ts
748
- /**
749
- * Manages subscriptions to state container dependencies.
750
- * Provides efficient sync mechanism to add/remove subscriptions
751
- * as dependencies change between callback invocations.
752
- */
753
- var DependencyManager = class {
754
- constructor() {
755
- this.subscriptions = /* @__PURE__ */ new Map();
756
- this.currentDeps = /* @__PURE__ */ new Set();
757
- }
758
- /**
759
- * Sync subscriptions with a new set of dependencies.
760
- * Adds subscriptions for new deps, removes subscriptions for stale deps.
761
- *
762
- * @param newDeps - The new set of dependencies to subscribe to
763
- * @param onChange - Callback to invoke when any dependency changes
764
- * @param exclude - Optional instance to exclude from subscriptions (e.g., primary bloc)
765
- * @returns true if the dependency set changed, false if unchanged
766
- */
767
- sync(newDeps, onChange, exclude) {
768
- const filteredNewDeps = /* @__PURE__ */ new Set();
769
- for (const dep of newDeps)
770
- if (dep !== exclude && !dep.isDisposed) filteredNewDeps.add(dep);
771
- if (this.areSetsEqual(this.currentDeps, filteredNewDeps)) return false;
772
- for (const dep of this.currentDeps)
773
- if (!filteredNewDeps.has(dep)) {
774
- const unsub = this.subscriptions.get(dep);
775
- if (unsub) {
776
- unsub();
777
- this.subscriptions.delete(dep);
778
- }
779
- }
780
- for (const dep of filteredNewDeps)
781
- if (!this.currentDeps.has(dep) && !this.subscriptions.has(dep)) {
782
- const unsub = dep.subscribe(onChange);
783
- this.subscriptions.set(dep, unsub);
784
- }
785
- this.currentDeps = filteredNewDeps;
786
- return true;
787
- }
788
- /**
789
- * Add a single dependency subscription.
790
- */
791
- add(dep, onChange) {
792
- if (this.subscriptions.has(dep) || dep.isDisposed) return;
793
- const unsub = dep.subscribe(onChange);
794
- this.subscriptions.set(dep, unsub);
795
- this.currentDeps.add(dep);
796
- }
797
- /**
798
- * Check if a dependency is currently subscribed.
799
- */
800
- has(dep) {
801
- return this.currentDeps.has(dep);
802
- }
803
- /**
804
- * Get the current set of dependencies.
805
- */
806
- getDependencies() {
807
- return new Set(this.currentDeps);
808
- }
809
- /**
810
- * Clean up all active subscriptions.
811
- */
812
- cleanup() {
813
- for (const unsub of this.subscriptions.values()) unsub();
814
- this.subscriptions.clear();
815
- this.currentDeps.clear();
816
- }
817
- areSetsEqual(a, b) {
818
- if (a.size !== b.size) return false;
819
- for (const item of a) if (!b.has(item)) return false;
820
- return true;
821
- }
822
- };
823
- //#endregion
824
- //#region src/tracking/resolve-dependencies.ts
825
- /**
826
- * Resolve all transitive dependencies of a bloc via BFS over `dependencies` maps.
827
- * Uses cycle detection to avoid infinite loops.
828
- * @internal
829
- */
830
- function resolveDependencies(bloc) {
831
- const result = /* @__PURE__ */ new Set();
832
- const visited = /* @__PURE__ */ new Map();
833
- const queue = [bloc];
834
- let head = 0;
835
- while (head < queue.length) {
836
- const current = queue[head++];
837
- for (const [Type, key] of current.dependencies) {
838
- let keys = visited.get(Type);
839
- if (!keys) {
840
- keys = /* @__PURE__ */ new Set();
841
- visited.set(Type, keys);
842
- }
843
- if (keys.has(key)) continue;
844
- keys.add(key);
845
- const dep = require_config.getRegistry().ensure(Type, key);
846
- result.add(dep);
847
- if (dep.dependencies.size > 0) queue.push(dep);
848
- }
849
- }
850
- result.delete(bloc);
851
- return result;
852
- }
853
- //#endregion
854
- Object.defineProperty(exports, 'DependencyManager', {
855
- enumerable: true,
856
- get: function () {
857
- return DependencyManager;
858
- },
859
- });
860
- Object.defineProperty(exports, 'capturePaths', {
861
- enumerable: true,
862
- get: function () {
863
- return capturePaths;
864
- },
865
- });
866
- Object.defineProperty(exports, 'commitTrackedGetters', {
867
- enumerable: true,
868
- get: function () {
869
- return commitTrackedGetters;
870
- },
871
- });
872
- Object.defineProperty(exports, 'createBlocProxy', {
873
- enumerable: true,
874
- get: function () {
875
- return createBlocProxy;
876
- },
877
- });
878
- Object.defineProperty(exports, 'createDependencyProxy', {
879
- enumerable: true,
880
- get: function () {
881
- return createDependencyProxy;
882
- },
883
- });
884
- Object.defineProperty(exports, 'createDependencyState', {
885
- enumerable: true,
886
- get: function () {
887
- return createDependencyState;
888
- },
889
- });
890
- Object.defineProperty(exports, 'createGetterState', {
891
- enumerable: true,
892
- get: function () {
893
- return createGetterState;
894
- },
895
- });
896
- Object.defineProperty(exports, 'createState', {
897
- enumerable: true,
898
- get: function () {
899
- return createState;
900
- },
901
- });
902
- Object.defineProperty(exports, 'createTrackingProxy', {
903
- enumerable: true,
904
- get: function () {
905
- return createTrackingProxy;
906
- },
907
- });
908
- Object.defineProperty(exports, 'hasChanges', {
909
- enumerable: true,
910
- get: function () {
911
- return hasChanges;
912
- },
913
- });
914
- Object.defineProperty(exports, 'hasDependencyChanges', {
915
- enumerable: true,
916
- get: function () {
917
- return hasDependencyChanges;
918
- },
919
- });
920
- Object.defineProperty(exports, 'hasGetterChanges', {
921
- enumerable: true,
922
- get: function () {
923
- return hasGetterChanges;
924
- },
925
- });
926
- Object.defineProperty(exports, 'hasTrackedData', {
927
- enumerable: true,
928
- get: function () {
929
- return hasTrackedData;
930
- },
931
- });
932
- Object.defineProperty(exports, 'invalidateRenderCache', {
933
- enumerable: true,
934
- get: function () {
935
- return invalidateRenderCache;
936
- },
937
- });
938
- Object.defineProperty(exports, 'resolveDependencies', {
939
- enumerable: true,
940
- get: function () {
941
- return resolveDependencies;
942
- },
943
- });
944
- Object.defineProperty(exports, 'shallowEqual', {
945
- enumerable: true,
946
- get: function () {
947
- return shallowEqual;
948
- },
949
- });
950
- Object.defineProperty(exports, 'startDependency', {
951
- enumerable: true,
952
- get: function () {
953
- return startDependency;
954
- },
955
- });
956
- Object.defineProperty(exports, 'startTracking', {
957
- enumerable: true,
958
- get: function () {
959
- return startTracking;
960
- },
961
- });
962
- Object.defineProperty(exports, 'stopTracking', {
963
- enumerable: true,
964
- get: function () {
965
- return stopTracking;
966
- },
967
- });
968
-
969
- //# sourceMappingURL=resolve-dependencies-CWjuGHiF.cjs.map