@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.
- package/README.md +85 -3
- package/dist/Cubit-9jal5zdZ.cjs +1 -1
- package/dist/Cubit-BAUPiUF7.cjs +359 -286
- package/dist/Cubit-BBKF3PIg.js +287 -0
- package/dist/Cubit-BBKF3PIg.js.map +1 -0
- package/dist/Cubit-BC70gaiA.js +453 -0
- package/dist/Cubit-BC70gaiA.js.map +1 -0
- package/dist/Cubit-BOgUZva7.js +342 -266
- package/dist/Cubit-BOxMvpfc.js +291 -0
- package/dist/Cubit-BOxMvpfc.js.map +1 -0
- package/dist/Cubit-BTznt8zg.js +1 -1
- package/dist/Cubit-BogJXkLm.js +278 -0
- package/dist/Cubit-BogJXkLm.js.map +1 -0
- package/dist/Cubit-C-8R_8db.cjs +475 -0
- package/dist/Cubit-C-8R_8db.cjs.map +1 -0
- package/dist/Cubit-C3Mw3EoO.cjs +401 -0
- package/dist/Cubit-C3Mw3EoO.cjs.map +1 -0
- package/dist/Cubit-CO8Fr72L.cjs +447 -0
- package/dist/Cubit-CO8Fr72L.cjs.map +1 -0
- package/dist/Cubit-COfHT1Bm.cjs +321 -0
- package/dist/Cubit-COfHT1Bm.cjs.map +1 -0
- package/dist/Cubit-CROWjjs9.js +481 -0
- package/dist/Cubit-CROWjjs9.js.map +1 -0
- package/dist/Cubit-CWP8Ddzx.cjs +510 -0
- package/dist/Cubit-CWP8Ddzx.cjs.map +1 -0
- package/dist/Cubit-CXxh9iol.js +302 -0
- package/dist/Cubit-CXxh9iol.js.map +1 -0
- package/dist/Cubit-CYOWfzQt.cjs +317 -0
- package/dist/Cubit-CYOWfzQt.cjs.map +1 -0
- package/dist/Cubit-CZaf_fp4.cjs +1 -1
- package/dist/Cubit-C_dUEUdd.cjs +359 -286
- package/dist/Cubit-C_rxRCTN.cjs +523 -0
- package/dist/Cubit-C_rxRCTN.cjs.map +1 -0
- package/dist/Cubit-CcKgMEBO.js +299 -0
- package/dist/Cubit-CcKgMEBO.js.map +1 -0
- package/dist/Cubit-CfT6Y1jl.js +346 -0
- package/dist/Cubit-CfT6Y1jl.js.map +1 -0
- package/dist/Cubit-CynJruuO.js +369 -0
- package/dist/Cubit-CynJruuO.js.map +1 -0
- package/dist/Cubit-D2vQ6nMb.js +342 -266
- package/dist/Cubit-D7jOZCoZ.js +342 -266
- package/dist/Cubit-D9j3IGPc.cjs +523 -0
- package/dist/Cubit-D9j3IGPc.cjs.map +1 -0
- package/dist/Cubit-DKEY9WYq.cjs +296 -0
- package/dist/Cubit-DKEY9WYq.cjs.map +1 -0
- package/dist/Cubit-DMV_0TCp.js +481 -0
- package/dist/Cubit-DMV_0TCp.js.map +1 -0
- package/dist/Cubit-DP5DXPUK.js +342 -266
- package/dist/Cubit-DRFkzD2h.js +426 -0
- package/dist/Cubit-DRFkzD2h.js.map +1 -0
- package/dist/Cubit-DbnhTUaZ.cjs +359 -286
- package/dist/Cubit-DrqG3SP3.cjs +370 -0
- package/dist/Cubit-DrqG3SP3.cjs.map +1 -0
- package/dist/Cubit-DsDkCo42.cjs +313 -0
- package/dist/Cubit-DsDkCo42.cjs.map +1 -0
- package/dist/Cubit-DwRw1E9D.cjs +309 -0
- package/dist/Cubit-DwRw1E9D.cjs.map +1 -0
- package/dist/Cubit-Dw_kFBgc.js +1 -1
- package/dist/Cubit-KiXZCubP.cjs +1 -1
- package/dist/Cubit-Ksj7G4uR.js +342 -266
- package/dist/Cubit-MkjbpcPf.cjs +359 -286
- package/dist/Cubit-NRhvdDQ6.js +297 -0
- package/dist/Cubit-NRhvdDQ6.js.map +1 -0
- package/dist/Cubit-PMTXxI_u.js +1 -1
- package/dist/Cubit-VJuu2tt9.js +481 -0
- package/dist/Cubit-VJuu2tt9.js.map +1 -0
- package/dist/Cubit-jz922NKf.cjs +320 -0
- package/dist/Cubit-jz922NKf.cjs.map +1 -0
- package/dist/Cubit-kU5_4jgC.cjs +359 -286
- package/dist/StateContainerRegistry-B4yVMYbx.cjs +1057 -0
- package/dist/StateContainerRegistry-B4yVMYbx.cjs.map +1 -0
- package/dist/StateContainerRegistry-BAcxouCu.js +723 -0
- package/dist/StateContainerRegistry-BAcxouCu.js.map +1 -0
- package/dist/StateContainerRegistry-BK57H92E.js +747 -0
- package/dist/StateContainerRegistry-BK57H92E.js.map +1 -0
- package/dist/StateContainerRegistry-BRBATSrx.cjs +1030 -0
- package/dist/StateContainerRegistry-BRBATSrx.cjs.map +1 -0
- package/dist/StateContainerRegistry-BgBIKcQF.js +956 -0
- package/dist/StateContainerRegistry-BgBIKcQF.js.map +1 -0
- package/dist/StateContainerRegistry-BglEhqdA.js +709 -0
- package/dist/StateContainerRegistry-BglEhqdA.js.map +1 -0
- package/dist/StateContainerRegistry-BhcnG0DF.js +625 -562
- package/dist/StateContainerRegistry-BpO5t-0i.js +682 -0
- package/dist/StateContainerRegistry-BpO5t-0i.js.map +1 -0
- package/dist/StateContainerRegistry-BqS-wpb_.js +957 -0
- package/dist/StateContainerRegistry-BqS-wpb_.js.map +1 -0
- package/dist/StateContainerRegistry-BrEGYPZT.cjs +1029 -0
- package/dist/StateContainerRegistry-BrEGYPZT.cjs.map +1 -0
- package/dist/StateContainerRegistry-Bxfne4A7.cjs +908 -0
- package/dist/StateContainerRegistry-Bxfne4A7.cjs.map +1 -0
- package/dist/StateContainerRegistry-C0E7vsgy.js +758 -0
- package/dist/StateContainerRegistry-C0E7vsgy.js.map +1 -0
- package/dist/StateContainerRegistry-C0I77Ndz.cjs +920 -0
- package/dist/StateContainerRegistry-C0I77Ndz.cjs.map +1 -0
- package/dist/StateContainerRegistry-CDH9mnQS.cjs +715 -0
- package/dist/StateContainerRegistry-CDH9mnQS.cjs.map +1 -0
- package/dist/StateContainerRegistry-CTOXUf75.cjs +742 -0
- package/dist/StateContainerRegistry-CTOXUf75.cjs.map +1 -0
- package/dist/StateContainerRegistry-CX2CBOmv.cjs +795 -0
- package/dist/StateContainerRegistry-CX2CBOmv.cjs.map +1 -0
- package/dist/StateContainerRegistry-CXnnf2-l.js +867 -0
- package/dist/StateContainerRegistry-CXnnf2-l.js.map +1 -0
- package/dist/StateContainerRegistry-CehuIpK_.cjs +811 -0
- package/dist/StateContainerRegistry-CehuIpK_.cjs.map +1 -0
- package/dist/StateContainerRegistry-Ci0ajc5g.js +720 -0
- package/dist/StateContainerRegistry-Ci0ajc5g.js.map +1 -0
- package/dist/StateContainerRegistry-Ck2-XmT_.js +587 -527
- package/dist/StateContainerRegistry-D1lVJFGL.cjs +753 -0
- package/dist/StateContainerRegistry-D1lVJFGL.cjs.map +1 -0
- package/dist/StateContainerRegistry-DC4N73O6.js +632 -569
- package/dist/StateContainerRegistry-DOuGI-l5.js +645 -582
- package/dist/StateContainerRegistry-DT66lr3I.cjs +651 -596
- package/dist/StateContainerRegistry-DmmzYa7S.js +974 -0
- package/dist/StateContainerRegistry-DmmzYa7S.js.map +1 -0
- package/dist/StateContainerRegistry-Upsrlg9G.cjs +756 -0
- package/dist/StateContainerRegistry-Upsrlg9G.cjs.map +1 -0
- package/dist/StateContainerRegistry-WznfcA-Q.js +855 -0
- package/dist/StateContainerRegistry-WznfcA-Q.js.map +1 -0
- package/dist/StateContainerRegistry-Yph6UCA_.js +637 -569
- package/dist/StateContainerRegistry-mseeTqSA.cjs +671 -616
- package/dist/StateContainerRegistry-pRNxHNFD.cjs +658 -603
- package/dist/StateContainerRegistry-vXMWtG7J.cjs +613 -561
- package/dist/StateContainerRegistry-v_prqMcI.cjs +663 -603
- package/dist/branded-BSeA_mZO.cjs.map +1 -1
- package/dist/branded-DCqi3De1.cjs +11 -11
- package/dist/branded-DwtzSsg0.js.map +1 -1
- package/dist/branded-Max3xOTA.js +6 -6
- package/dist/config-0ZD9i3wy.js +16 -0
- package/dist/config-0ZD9i3wy.js.map +1 -0
- package/dist/config-B3NIwDQv.cjs +32 -0
- package/dist/config-B3NIwDQv.cjs.map +1 -0
- package/dist/config-BKGHop0V.js +16 -0
- package/dist/config-BKGHop0V.js.map +1 -0
- package/dist/config-BKoaAlmb.js +5 -5
- package/dist/config-BPj08-8h.cjs +32 -0
- package/dist/config-BPj08-8h.cjs.map +1 -0
- package/dist/config-BR0Xy-Tn.cjs +32 -0
- package/dist/config-BR0Xy-Tn.cjs.map +1 -0
- package/dist/config-B_4xXpvK.cjs +32 -0
- package/dist/config-B_4xXpvK.cjs.map +1 -0
- package/dist/config-BflrQM4_.cjs +32 -0
- package/dist/config-BflrQM4_.cjs.map +1 -0
- package/dist/config-BzObBsk2.cjs +32 -0
- package/dist/config-BzObBsk2.cjs.map +1 -0
- package/dist/config-C0yumL1H.cjs +32 -0
- package/dist/config-C0yumL1H.cjs.map +1 -0
- package/dist/config-C8xqVHTf.js +16 -0
- package/dist/config-C8xqVHTf.js.map +1 -0
- package/dist/config-CCUhIYIF.js +5 -5
- package/dist/config-CGo__MAt.js +16 -0
- package/dist/config-CGo__MAt.js.map +1 -0
- package/dist/config-CQH9fTY-.cjs +32 -0
- package/dist/config-CQH9fTY-.cjs.map +1 -0
- package/dist/config-CR_Bz7RD.js +5 -5
- package/dist/config-CTOa-yPN.cjs +20 -20
- package/dist/config-Cd7Q-B4g.js +16 -0
- package/dist/config-Cd7Q-B4g.js.map +1 -0
- package/dist/config-CmDEX-1o.js +16 -0
- package/dist/config-CmDEX-1o.js.map +1 -0
- package/dist/config-CoNMTnMA.cjs +32 -0
- package/dist/config-CoNMTnMA.cjs.map +1 -0
- package/dist/config-Cwj8-C1J.js +16 -0
- package/dist/config-Cwj8-C1J.js.map +1 -0
- package/dist/config-D3jisfdj.cjs +20 -20
- package/dist/config-D4GifZQ4.js +5 -5
- package/dist/config-DDrSQGpQ.cjs +20 -20
- package/dist/config-DEcslxan.cjs +32 -0
- package/dist/config-DEcslxan.cjs.map +1 -0
- package/dist/config-DMNZ2YLV.cjs +20 -20
- package/dist/config-De9oQ6Ki.js +16 -0
- package/dist/config-De9oQ6Ki.js.map +1 -0
- package/dist/config-DoHx0Xsl.js +16 -0
- package/dist/config-DoHx0Xsl.js.map +1 -0
- package/dist/config-DokTzpr8.cjs +20 -20
- package/dist/config-DslYBm4Z.js +5 -5
- package/dist/config-H6FAqbW4.cjs +32 -0
- package/dist/config-H6FAqbW4.cjs.map +1 -0
- package/dist/config-Yp645dGK.js +16 -0
- package/dist/config-Yp645dGK.js.map +1 -0
- package/dist/config-ispAzOZV.js +16 -0
- package/dist/config-ispAzOZV.js.map +1 -0
- package/dist/config.d.cts +72 -0
- package/dist/config.d.ts +72 -0
- package/dist/constants.d.cts +18 -28
- package/dist/constants.d.ts +18 -28
- package/dist/core/Cubit.d.ts +14 -5
- package/dist/core/StateContainer.d.ts +112 -15
- package/dist/core/StateContainerRegistry.d.ts +66 -7
- package/dist/core/symbols.d.ts +26 -1
- package/dist/debug.cjs +3 -3
- package/dist/debug.js +3 -3
- package/dist/decorators/blac.d.ts +17 -0
- package/dist/ensure-9VEq5H0L.js +3 -3
- package/dist/ensure-BB6xHQAF.cjs +14 -0
- package/dist/ensure-BB6xHQAF.cjs.map +1 -0
- package/dist/ensure-BNDfTzqg.cjs +8 -8
- package/dist/ensure-BVCnjU7r.js +343 -267
- package/dist/ensure-BbzGXjep.cjs +8 -8
- package/dist/ensure-BlIaQai6.js +9 -0
- package/dist/ensure-BlIaQai6.js.map +1 -0
- package/dist/ensure-Bm3oHxga.js +9 -0
- package/dist/ensure-Bm3oHxga.js.map +1 -0
- package/dist/ensure-C3eIRs6e.cjs +14 -0
- package/dist/ensure-C3eIRs6e.cjs.map +1 -0
- package/dist/ensure-CJZL7bcA.cjs +365 -292
- package/dist/ensure-CN6unBOe.cjs +14 -0
- package/dist/ensure-CN6unBOe.cjs.map +1 -0
- package/dist/ensure-CU-B1ywv.js +3 -3
- package/dist/ensure-CWKzeno7.js +9 -0
- package/dist/ensure-CWKzeno7.js.map +1 -0
- package/dist/ensure-CkENsuQ9.js +9 -0
- package/dist/ensure-CkENsuQ9.js.map +1 -0
- package/dist/ensure-Cm-4_LSh.cjs +14 -0
- package/dist/ensure-Cm-4_LSh.cjs.map +1 -0
- package/dist/ensure-Cqex5r1P.cjs +14 -0
- package/dist/ensure-Cqex5r1P.cjs.map +1 -0
- package/dist/ensure-Cv5AbNGZ.js +9 -0
- package/dist/ensure-Cv5AbNGZ.js.map +1 -0
- package/dist/ensure-D63lEMUK.cjs +8 -8
- package/dist/ensure-DGEtPU9A.cjs +14 -0
- package/dist/ensure-DGEtPU9A.cjs.map +1 -0
- package/dist/ensure-DM3qb336.cjs +14 -0
- package/dist/ensure-DM3qb336.cjs.map +1 -0
- package/dist/ensure-DME-_T0j.cjs +14 -0
- package/dist/ensure-DME-_T0j.cjs.map +1 -0
- package/dist/ensure-DWd0GCYB.js +9 -0
- package/dist/ensure-DWd0GCYB.js.map +1 -0
- package/dist/ensure-DamKOP6q.cjs +8 -8
- package/dist/ensure-Dcfptl-A.js +9 -0
- package/dist/ensure-Dcfptl-A.js.map +1 -0
- package/dist/ensure-Def-EBWG.js +3 -3
- package/dist/ensure-DnHL5QiQ.cjs +14 -0
- package/dist/ensure-DnHL5QiQ.cjs.map +1 -0
- package/dist/ensure-Dr7I78Ku.cjs +14 -0
- package/dist/ensure-Dr7I78Ku.cjs.map +1 -0
- package/dist/ensure-SLVdGd5b.js +9 -0
- package/dist/ensure-SLVdGd5b.js.map +1 -0
- package/dist/ensure-Sb92MCXu.js +3 -3
- package/dist/ensure-gFlvevGm.cjs +14 -0
- package/dist/ensure-gFlvevGm.cjs.map +1 -0
- package/dist/ensure-l2-H7S5W.js +9 -0
- package/dist/ensure-l2-H7S5W.js.map +1 -0
- package/dist/ensure-mkL-3qh8.js +9 -0
- package/dist/ensure-mkL-3qh8.js.map +1 -0
- package/dist/ensure-n80crSlX.js +3 -3
- package/dist/ensure-nCxg7MCN.js +9 -0
- package/dist/ensure-nCxg7MCN.js.map +1 -0
- package/dist/ensure-vS71MV4q.cjs +8 -8
- package/dist/index.cjs +40 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -4
- package/dist/index.d.ts +15 -4
- package/dist/index.js +23 -10
- package/dist/index.js.map +1 -1
- package/dist/management-6oQbmf0z.js +41 -0
- package/dist/management-6oQbmf0z.js.map +1 -0
- package/dist/management-B46QwA9Y.js +41 -0
- package/dist/management-B46QwA9Y.js.map +1 -0
- package/dist/management-B9yrRpeg.js +41 -0
- package/dist/management-B9yrRpeg.js.map +1 -0
- package/dist/management-BCKTEZ8Q.js +41 -0
- package/dist/management-BCKTEZ8Q.js.map +1 -0
- package/dist/management-BbMzdXbT.js +41 -0
- package/dist/management-BbMzdXbT.js.map +1 -0
- package/dist/management-Bg652agq.js +20 -11
- package/dist/management-BnedF5ZD.cjs +79 -0
- package/dist/management-BnedF5ZD.cjs.map +1 -0
- package/dist/management-BoUa99eB.cjs +79 -0
- package/dist/management-BoUa99eB.cjs.map +1 -0
- package/dist/management-C4SHcrJm.cjs +79 -0
- package/dist/management-C4SHcrJm.cjs.map +1 -0
- package/dist/management-CK-GL3wY.js +41 -0
- package/dist/management-CK-GL3wY.js.map +1 -0
- package/dist/management-CPhgY8OE.js +41 -0
- package/dist/management-CPhgY8OE.js.map +1 -0
- package/dist/management-CU_V3LIP.js +20 -11
- package/dist/management-CUwXDSi9.cjs +79 -0
- package/dist/management-CUwXDSi9.cjs.map +1 -0
- package/dist/management-CaqiyNzB.js +20 -11
- package/dist/management-Cin-JvYe.js +20 -11
- package/dist/management-ClaXym0F.cjs +50 -50
- package/dist/management-DL0Uzsoz.js +41 -0
- package/dist/management-DL0Uzsoz.js.map +1 -0
- package/dist/management-DLdAQfqk.cjs +79 -0
- package/dist/management-DLdAQfqk.cjs.map +1 -0
- package/dist/management-DMZ8qpwr.cjs +79 -0
- package/dist/management-DMZ8qpwr.cjs.map +1 -0
- package/dist/management-DTzcC6aD.cjs +79 -0
- package/dist/management-DTzcC6aD.cjs.map +1 -0
- package/dist/management-DYLNyj9p.cjs +79 -0
- package/dist/management-DYLNyj9p.cjs.map +1 -0
- package/dist/management-Dag9u4t6.cjs +50 -50
- package/dist/management-DbMRdDBo.cjs +50 -50
- package/dist/management-DfnDAKmP.js +41 -0
- package/dist/management-DfnDAKmP.js.map +1 -0
- package/dist/management-DjBU1gtb.cjs +79 -0
- package/dist/management-DjBU1gtb.cjs.map +1 -0
- package/dist/management-DwCozsY8.js +41 -0
- package/dist/management-DwCozsY8.js.map +1 -0
- package/dist/management-H4m3ciJO.js +32 -0
- package/dist/management-H4m3ciJO.js.map +1 -0
- package/dist/management-Xo3A6Za3.cjs +79 -0
- package/dist/management-Xo3A6Za3.cjs.map +1 -0
- package/dist/management-ZU2YzOkr.js +18 -10
- package/dist/management-baPDwA9n.cjs +50 -50
- package/dist/management-jQGCvZNN.cjs +44 -44
- package/dist/management-ry_KteFK.cjs +79 -0
- package/dist/management-ry_KteFK.cjs.map +1 -0
- package/dist/plugin/BlacPlugin.d.ts +70 -100
- package/dist/plugin/PluginManager.d.ts +67 -5
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.cts +2 -2
- package/dist/plugins.d.ts +2 -2
- package/dist/plugins.js +1 -1
- package/dist/registry/acquire.d.ts +9 -2
- package/dist/registry/ensure.d.ts +2 -2
- package/dist/registry/index.d.ts +1 -1
- package/dist/resolve-dependencies-B2QggQAi.js +729 -0
- package/dist/resolve-dependencies-B2QggQAi.js.map +1 -0
- package/dist/resolve-dependencies-B6JDXvpr.js +739 -0
- package/dist/resolve-dependencies-B6JDXvpr.js.map +1 -0
- package/dist/resolve-dependencies-BAKAoD0U.js +878 -0
- package/dist/resolve-dependencies-BAKAoD0U.js.map +1 -0
- package/dist/resolve-dependencies-BFZQq60Y.cjs +724 -666
- package/dist/resolve-dependencies-BGafS3Ww.js +643 -561
- package/dist/resolve-dependencies-BHd34gS3.cjs +724 -666
- package/dist/resolve-dependencies-BNeayhbQ.cjs +840 -0
- package/dist/resolve-dependencies-BNeayhbQ.cjs.map +1 -0
- package/dist/resolve-dependencies-BWEMpuDy.js +729 -0
- package/dist/resolve-dependencies-BWEMpuDy.js.map +1 -0
- package/dist/resolve-dependencies-BiWkW2eS.js +643 -561
- package/dist/resolve-dependencies-BjxCztYD.js +739 -0
- package/dist/resolve-dependencies-BjxCztYD.js.map +1 -0
- package/dist/resolve-dependencies-BlyBV0hB.cjs +969 -0
- package/dist/resolve-dependencies-BlyBV0hB.cjs.map +1 -0
- package/dist/resolve-dependencies-By26rT_i.js +739 -0
- package/dist/resolve-dependencies-By26rT_i.js.map +1 -0
- package/dist/resolve-dependencies-C9Kf7AzY.cjs +832 -0
- package/dist/resolve-dependencies-C9Kf7AzY.cjs.map +1 -0
- package/dist/resolve-dependencies-CTzV1txG.js +643 -561
- package/dist/resolve-dependencies-CWjuGHiF.cjs +969 -0
- package/dist/resolve-dependencies-CWjuGHiF.cjs.map +1 -0
- package/dist/resolve-dependencies-ClSsP0DJ.cjs +830 -0
- package/dist/resolve-dependencies-ClSsP0DJ.cjs.map +1 -0
- package/dist/resolve-dependencies-D0vTzZgs.js +643 -561
- package/dist/resolve-dependencies-D2WnZMF-.cjs +724 -666
- package/dist/resolve-dependencies-DCBLTeza.cjs +969 -0
- package/dist/resolve-dependencies-DCBLTeza.cjs.map +1 -0
- package/dist/resolve-dependencies-DMlqYJR2.js +731 -0
- package/dist/resolve-dependencies-DMlqYJR2.js.map +1 -0
- package/dist/resolve-dependencies-DP6U1EYB.cjs +840 -0
- package/dist/resolve-dependencies-DP6U1EYB.cjs.map +1 -0
- package/dist/resolve-dependencies-DSQNXvnV.cjs +724 -666
- package/dist/resolve-dependencies-DV3HO_uH.js +878 -0
- package/dist/resolve-dependencies-DV3HO_uH.js.map +1 -0
- package/dist/resolve-dependencies-DXwMhP0Y.js +878 -0
- package/dist/resolve-dependencies-DXwMhP0Y.js.map +1 -0
- package/dist/resolve-dependencies-DbRWlt9u.js +878 -0
- package/dist/resolve-dependencies-DbRWlt9u.js.map +1 -0
- package/dist/resolve-dependencies-DcUUva2P.cjs +724 -666
- package/dist/resolve-dependencies-Dd8T6TLt.cjs +832 -0
- package/dist/resolve-dependencies-Dd8T6TLt.cjs.map +1 -0
- package/dist/resolve-dependencies-Dfdp_DZd.cjs +840 -0
- package/dist/resolve-dependencies-Dfdp_DZd.cjs.map +1 -0
- package/dist/resolve-dependencies-GJ8PNyNB.cjs +969 -0
- package/dist/resolve-dependencies-GJ8PNyNB.cjs.map +1 -0
- package/dist/resolve-dependencies-KSpTt4jy.cjs +830 -0
- package/dist/resolve-dependencies-KSpTt4jy.cjs.map +1 -0
- package/dist/resolve-dependencies-Nvjp4CwS.js +731 -0
- package/dist/resolve-dependencies-Nvjp4CwS.js.map +1 -0
- package/dist/resolve-dependencies-f-QUqYiL.js +643 -561
- package/dist/testing.cjs +27 -20
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +22 -1
- package/dist/testing.d.ts +22 -1
- package/dist/testing.js +27 -21
- package/dist/testing.js.map +1 -1
- package/dist/tracked-B77j2g9M.js +171 -151
- package/dist/tracked-BDVi2LKM.cjs +196 -175
- package/dist/tracked-BFdJCzL0.cjs +242 -0
- package/dist/tracked-BFdJCzL0.cjs.map +1 -0
- package/dist/tracked-BH-gX4T1.cjs +196 -175
- package/dist/tracked-BTHok3Dl.cjs +196 -175
- package/dist/tracked-BTbFkFeM.js +212 -0
- package/dist/tracked-BTbFkFeM.js.map +1 -0
- package/dist/tracked-BU_OBWqM.cjs +242 -0
- package/dist/tracked-BU_OBWqM.cjs.map +1 -0
- package/dist/tracked-BfctH2es.cjs +242 -0
- package/dist/tracked-BfctH2es.cjs.map +1 -0
- package/dist/tracked-BhQtzUhZ.js +212 -0
- package/dist/tracked-BhQtzUhZ.js.map +1 -0
- package/dist/tracked-BnqrYXiO.js +212 -0
- package/dist/tracked-BnqrYXiO.js.map +1 -0
- package/dist/tracked-BtgFOGup.js +212 -0
- package/dist/tracked-BtgFOGup.js.map +1 -0
- package/dist/tracked-C3nIS4J7.cjs +242 -0
- package/dist/tracked-C3nIS4J7.cjs.map +1 -0
- package/dist/tracked-C52awNV9.js +197 -0
- package/dist/tracked-C52awNV9.js.map +1 -0
- package/dist/tracked-CGzduF2m.js +212 -0
- package/dist/tracked-CGzduF2m.js.map +1 -0
- package/dist/tracked-CK_-ixtX.cjs +227 -0
- package/dist/tracked-CK_-ixtX.cjs.map +1 -0
- package/dist/tracked-CLlvURln.js +212 -0
- package/dist/tracked-CLlvURln.js.map +1 -0
- package/dist/tracked-CgHWmuGC.cjs +242 -0
- package/dist/tracked-CgHWmuGC.cjs.map +1 -0
- package/dist/tracked-CoAlC8fs.js +171 -151
- package/dist/tracked-D3Xjm1H1.cjs +242 -0
- package/dist/tracked-D3Xjm1H1.cjs.map +1 -0
- package/dist/tracked-DB6yMV5F.js +212 -0
- package/dist/tracked-DB6yMV5F.js.map +1 -0
- package/dist/tracked-DBn-bs_G.js +171 -151
- package/dist/tracked-DMBTDF0P.js +171 -151
- package/dist/tracked-DN3h3Rp1.js +197 -0
- package/dist/tracked-DN3h3Rp1.js.map +1 -0
- package/dist/tracked-DOGh1Q5Z.cjs +242 -0
- package/dist/tracked-DOGh1Q5Z.cjs.map +1 -0
- package/dist/tracked-DUkp4zve.cjs +227 -0
- package/dist/tracked-DUkp4zve.cjs.map +1 -0
- package/dist/tracked-D_ou7mYG.js +212 -0
- package/dist/tracked-D_ou7mYG.js.map +1 -0
- package/dist/tracked-Dcu6EATB.js +171 -151
- package/dist/tracked-GvAJQVAI.cjs +227 -196
- package/dist/tracked-O2lv-kJV.cjs +242 -0
- package/dist/tracked-O2lv-kJV.cjs.map +1 -0
- package/dist/tracked-WF6aXuAo.js +186 -162
- package/dist/tracked-d_sQWU3c.cjs +196 -175
- package/dist/tracked-n9TMK-30.cjs +196 -175
- package/dist/tracked-njU-_pVa.cjs +242 -0
- package/dist/tracked-njU-_pVa.cjs.map +1 -0
- package/dist/tracked-zAgmKIlC.js +212 -0
- package/dist/tracked-zAgmKIlC.js.map +1 -0
- package/dist/tracking/dependency-manager.d.ts +33 -29
- package/dist/tracking/index.d.ts +16 -1
- package/dist/tracking/iteration-perf.bench.d.ts +1 -0
- package/dist/tracking/path-utils.d.ts +18 -1
- package/dist/tracking/resolve-dependencies.d.ts +3 -1
- package/dist/tracking/tracked.d.ts +37 -34
- package/dist/tracking/tracking-proxy.d.ts +94 -47
- package/dist/tracking.cjs +12 -9
- package/dist/tracking.js +32 -2
- package/dist/types/utilities.d.ts +15 -3
- package/dist/types.cjs +1 -1
- package/dist/types.js +1 -1
- package/dist/utils/static-props.d.ts +23 -0
- package/dist/utils/structural-key.d.ts +14 -0
- package/dist/watch/watch.d.ts +1 -1
- package/dist/watch-BpwaUL8r.cjs +68 -0
- package/dist/watch-BpwaUL8r.cjs.map +1 -0
- package/dist/watch-DWCqXllW.js +57 -0
- package/dist/watch-DWCqXllW.js.map +1 -0
- package/dist/watch-entry.cjs +3 -6
- package/dist/watch-entry.d.cts +1 -3
- package/dist/watch-entry.d.ts +1 -3
- package/dist/watch-entry.js +2 -2
- package/package.json +4 -14
|
@@ -0,0 +1,832 @@
|
|
|
1
|
+
const require_StateContainerRegistry = require('./StateContainerRegistry-CDH9mnQS.cjs');
|
|
2
|
+
const require_config = require('./config-DEcslxan.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
|
+
* Get a value from an object using a path of segments
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* const obj = { user: { name: 'Alice', age: 30 } }
|
|
54
|
+
* getValueAtPath(obj, ['user', 'name']) // 'Alice'
|
|
55
|
+
* getValueAtPath(obj, ['user', 'age']) // 30
|
|
56
|
+
* getValueAtPath(obj, ['user', 'missing']) // undefined
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
function getValueAtPath(obj, segments) {
|
|
62
|
+
if (obj == null) return void 0;
|
|
63
|
+
let current = obj;
|
|
64
|
+
for (let i = 0; i < segments.length; i++) {
|
|
65
|
+
current = current[segments[i]];
|
|
66
|
+
if (current == null) return void 0;
|
|
67
|
+
}
|
|
68
|
+
return current;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Shallow equality comparison for arrays
|
|
72
|
+
*
|
|
73
|
+
* Compares two arrays element-by-element using Object.is
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* shallowEqual([1, 2, 3], [1, 2, 3]) // true
|
|
78
|
+
* shallowEqual([1, 2, 3], [1, 2, 4]) // false
|
|
79
|
+
* shallowEqual([1, 2], [1, 2, 3]) // false
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
function shallowEqual(arr1, arr2) {
|
|
85
|
+
if (arr1.length !== arr2.length) return false;
|
|
86
|
+
for (let i = 0; i < arr1.length; i++)
|
|
87
|
+
if (!Object.is(arr1[i], arr2[i])) return false;
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/tracking/tracking-proxy.ts
|
|
92
|
+
/**
|
|
93
|
+
* Consolidated Tracking System
|
|
94
|
+
*
|
|
95
|
+
* This module provides all dependency and getter tracking functionality:
|
|
96
|
+
* - Proxy creation for automatic property access tracking
|
|
97
|
+
* - Dependency path tracking and change detection
|
|
98
|
+
* - Getter execution tracking for computed properties
|
|
99
|
+
* - Combined tracking proxy for watch/waitUntil use cases
|
|
100
|
+
*/
|
|
101
|
+
/**
|
|
102
|
+
* Check if a value can be proxied
|
|
103
|
+
* Returns true for plain objects and arrays only.
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
function isProxyable(value) {
|
|
107
|
+
if (typeof value !== 'object' || value === null) return false;
|
|
108
|
+
const proto = Object.getPrototypeOf(value);
|
|
109
|
+
return proto === Object.prototype || proto === Array.prototype;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Create a new proxy tracker state
|
|
113
|
+
* @internal
|
|
114
|
+
*/
|
|
115
|
+
function createProxyState() {
|
|
116
|
+
return {
|
|
117
|
+
trackedPaths: /* @__PURE__ */ new Set(),
|
|
118
|
+
isTracking: false,
|
|
119
|
+
proxyCache: /* @__PURE__ */ new WeakMap(),
|
|
120
|
+
boundFunctionsCache: null,
|
|
121
|
+
lastProxiedState: null,
|
|
122
|
+
lastProxy: null,
|
|
123
|
+
maxDepth: 10,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Start tracking property accesses
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
130
|
+
function startProxy(state) {
|
|
131
|
+
state.isTracking = true;
|
|
132
|
+
state.trackedPaths.clear();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Stop tracking and return the tracked paths
|
|
136
|
+
* @internal
|
|
137
|
+
*/
|
|
138
|
+
function stopProxy(state) {
|
|
139
|
+
state.isTracking = false;
|
|
140
|
+
return new Set(state.trackedPaths);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Create a proxy for an array with property access tracking
|
|
144
|
+
* @internal
|
|
145
|
+
*/
|
|
146
|
+
function createArrayProxy(state, target, path, depth = 0) {
|
|
147
|
+
const proxy = new Proxy(target, {
|
|
148
|
+
get: (arr, prop) => {
|
|
149
|
+
if (typeof prop === 'symbol') return Reflect.get(arr, prop);
|
|
150
|
+
const value = Reflect.get(arr, prop);
|
|
151
|
+
if (typeof value === 'function') {
|
|
152
|
+
if (!state.boundFunctionsCache)
|
|
153
|
+
state.boundFunctionsCache = /* @__PURE__ */ new WeakMap();
|
|
154
|
+
const cached = state.boundFunctionsCache.get(value);
|
|
155
|
+
if (cached) return cached;
|
|
156
|
+
const bound = value.bind(arr);
|
|
157
|
+
state.boundFunctionsCache.set(value, bound);
|
|
158
|
+
return bound;
|
|
159
|
+
}
|
|
160
|
+
if (prop === 'length') {
|
|
161
|
+
if (state.isTracking) {
|
|
162
|
+
const fullPath = path ? `${path}.length` : 'length';
|
|
163
|
+
state.trackedPaths.add(fullPath);
|
|
164
|
+
}
|
|
165
|
+
return value;
|
|
166
|
+
}
|
|
167
|
+
let fullPath;
|
|
168
|
+
if (typeof prop === 'string') {
|
|
169
|
+
const index = Number(prop);
|
|
170
|
+
if (!isNaN(index) && index >= 0)
|
|
171
|
+
fullPath = path ? `${path}[${index}]` : `[${index}]`;
|
|
172
|
+
else fullPath = path ? `${path}.${prop}` : prop;
|
|
173
|
+
} else return value;
|
|
174
|
+
if (isProxyable(value))
|
|
175
|
+
return createInternal(state, value, fullPath, depth + 1);
|
|
176
|
+
if (state.isTracking) state.trackedPaths.add(fullPath);
|
|
177
|
+
return value;
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
state.proxyCache.set(target, proxy);
|
|
181
|
+
return proxy;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Create a proxy for an object with property access tracking
|
|
185
|
+
* @internal
|
|
186
|
+
*/
|
|
187
|
+
function createInternal(state, target, path = '', depth = 0) {
|
|
188
|
+
if (!state.isTracking || !isProxyable(target)) return target;
|
|
189
|
+
if (depth >= state.maxDepth) {
|
|
190
|
+
console.warn(
|
|
191
|
+
`${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Proxy depth limit (${state.maxDepth}) reached at path "${path}". Deeper property accesses won't be tracked for re-renders.`,
|
|
192
|
+
);
|
|
193
|
+
return target;
|
|
194
|
+
}
|
|
195
|
+
if (state.proxyCache.has(target)) return state.proxyCache.get(target);
|
|
196
|
+
if (Array.isArray(target))
|
|
197
|
+
return createArrayProxy(state, target, path, depth);
|
|
198
|
+
const proxy = new Proxy(target, {
|
|
199
|
+
get: (obj, prop) => {
|
|
200
|
+
if (typeof prop === 'symbol') return Reflect.get(obj, prop);
|
|
201
|
+
const value = Reflect.get(obj, prop);
|
|
202
|
+
if (typeof value === 'function') {
|
|
203
|
+
if (!state.boundFunctionsCache)
|
|
204
|
+
state.boundFunctionsCache = /* @__PURE__ */ new WeakMap();
|
|
205
|
+
const cached = state.boundFunctionsCache.get(value);
|
|
206
|
+
if (cached) return cached;
|
|
207
|
+
const bound = value.bind(obj);
|
|
208
|
+
state.boundFunctionsCache.set(value, bound);
|
|
209
|
+
return bound;
|
|
210
|
+
}
|
|
211
|
+
const fullPath = path ? `${path}.${String(prop)}` : String(prop);
|
|
212
|
+
if (typeof prop === 'string' && state.isTracking) {
|
|
213
|
+
if (!prop.startsWith('_') && !prop.startsWith('$$'))
|
|
214
|
+
state.trackedPaths.add(fullPath);
|
|
215
|
+
}
|
|
216
|
+
if (isProxyable(value))
|
|
217
|
+
return createInternal(state, value, fullPath, depth + 1);
|
|
218
|
+
return value;
|
|
219
|
+
},
|
|
220
|
+
has: (obj, prop) => {
|
|
221
|
+
if (typeof prop === 'string' && state.isTracking) {
|
|
222
|
+
const fullPath = path ? `${path}.${prop}` : prop;
|
|
223
|
+
state.trackedPaths.add(fullPath);
|
|
224
|
+
}
|
|
225
|
+
return Reflect.has(obj, prop);
|
|
226
|
+
},
|
|
227
|
+
ownKeys: (obj) => {
|
|
228
|
+
if (state.isTracking && path) state.trackedPaths.add(path);
|
|
229
|
+
return Reflect.ownKeys(obj);
|
|
230
|
+
},
|
|
231
|
+
});
|
|
232
|
+
state.proxyCache.set(target, proxy);
|
|
233
|
+
return proxy;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Create a proxy for a target with caching
|
|
237
|
+
* @internal
|
|
238
|
+
*/
|
|
239
|
+
function createForTarget(state, target) {
|
|
240
|
+
if (state.lastProxiedState === target && state.lastProxy)
|
|
241
|
+
return state.lastProxy;
|
|
242
|
+
state.proxyCache = /* @__PURE__ */ new WeakMap();
|
|
243
|
+
state.boundFunctionsCache = null;
|
|
244
|
+
const proxy = createInternal(state, target, '', 0);
|
|
245
|
+
state.lastProxiedState = target;
|
|
246
|
+
state.lastProxy = proxy;
|
|
247
|
+
return proxy;
|
|
248
|
+
}
|
|
249
|
+
function isChildPath(child, parent) {
|
|
250
|
+
if (child === parent) return false;
|
|
251
|
+
return child.startsWith(parent + '.') || child.startsWith(parent + '[');
|
|
252
|
+
}
|
|
253
|
+
function getArrayParentPath(path) {
|
|
254
|
+
if (path.endsWith('.length')) return path.slice(0, -7);
|
|
255
|
+
const arrayIndexMatch = path.match(/^(.+?)\[\d+\]/);
|
|
256
|
+
if (arrayIndexMatch) return arrayIndexMatch[1];
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* @internal
|
|
261
|
+
*/
|
|
262
|
+
function optimizeTrackedPaths(paths) {
|
|
263
|
+
if (paths.size === 0) return /* @__PURE__ */ new Set();
|
|
264
|
+
if (paths.size === 1) return new Set(paths);
|
|
265
|
+
const sortedPaths = Array.from(paths).sort((a, b) => b.length - a.length);
|
|
266
|
+
const optimized = /* @__PURE__ */ new Set();
|
|
267
|
+
for (const path of sortedPaths) {
|
|
268
|
+
let hasMoreSpecificChild = false;
|
|
269
|
+
for (const optimizedPath of optimized)
|
|
270
|
+
if (isChildPath(optimizedPath, path)) {
|
|
271
|
+
hasMoreSpecificChild = true;
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
if (!hasMoreSpecificChild) optimized.add(path);
|
|
275
|
+
}
|
|
276
|
+
const arrayParents = /* @__PURE__ */ new Set();
|
|
277
|
+
for (const path of optimized) {
|
|
278
|
+
const arrayParent = getArrayParentPath(path);
|
|
279
|
+
if (arrayParent) arrayParents.add(arrayParent);
|
|
280
|
+
}
|
|
281
|
+
for (const arrayParent of arrayParents) optimized.add(arrayParent);
|
|
282
|
+
return optimized;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* @internal
|
|
286
|
+
*/
|
|
287
|
+
function createDependencyState() {
|
|
288
|
+
return {
|
|
289
|
+
proxyState: createProxyState(),
|
|
290
|
+
previousRenderPaths: /* @__PURE__ */ new Set(),
|
|
291
|
+
currentRenderPaths: /* @__PURE__ */ new Set(),
|
|
292
|
+
pathCache: /* @__PURE__ */ new Map(),
|
|
293
|
+
lastCheckedState: null,
|
|
294
|
+
lastCheckedValues: /* @__PURE__ */ new Map(),
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* @internal
|
|
299
|
+
*/
|
|
300
|
+
function startDependency(tracker) {
|
|
301
|
+
startProxy(tracker.proxyState);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* @internal
|
|
305
|
+
*/
|
|
306
|
+
function createDependencyProxy(tracker, state) {
|
|
307
|
+
return createForTarget(tracker.proxyState, state);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* @internal
|
|
311
|
+
*/
|
|
312
|
+
function capturePaths(tracker, state) {
|
|
313
|
+
tracker.previousRenderPaths = tracker.currentRenderPaths;
|
|
314
|
+
tracker.currentRenderPaths = optimizeTrackedPaths(
|
|
315
|
+
stopProxy(tracker.proxyState),
|
|
316
|
+
);
|
|
317
|
+
if (
|
|
318
|
+
tracker.previousRenderPaths.size === 0 &&
|
|
319
|
+
tracker.currentRenderPaths.size === 0
|
|
320
|
+
)
|
|
321
|
+
return;
|
|
322
|
+
const trackedPathsUnion = new Set(tracker.previousRenderPaths);
|
|
323
|
+
for (const path of tracker.currentRenderPaths) trackedPathsUnion.add(path);
|
|
324
|
+
const canReuseCache = tracker.lastCheckedState === state;
|
|
325
|
+
for (const path of trackedPathsUnion)
|
|
326
|
+
if (!tracker.pathCache.has(path)) {
|
|
327
|
+
const segments = parsePath(path);
|
|
328
|
+
const value =
|
|
329
|
+
canReuseCache && tracker.lastCheckedValues.has(path)
|
|
330
|
+
? tracker.lastCheckedValues.get(path)
|
|
331
|
+
: getValueAtPath(state, segments);
|
|
332
|
+
tracker.pathCache.set(path, {
|
|
333
|
+
segments,
|
|
334
|
+
value,
|
|
335
|
+
});
|
|
336
|
+
} else {
|
|
337
|
+
const info = tracker.pathCache.get(path);
|
|
338
|
+
if (!info) continue;
|
|
339
|
+
info.value =
|
|
340
|
+
canReuseCache && tracker.lastCheckedValues.has(path)
|
|
341
|
+
? tracker.lastCheckedValues.get(path)
|
|
342
|
+
: getValueAtPath(state, info.segments);
|
|
343
|
+
}
|
|
344
|
+
tracker.lastCheckedValues.clear();
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* @internal
|
|
348
|
+
*/
|
|
349
|
+
function hasDependencyChanges(tracker, state) {
|
|
350
|
+
if (tracker.pathCache.size === 0) return true;
|
|
351
|
+
tracker.lastCheckedValues.clear();
|
|
352
|
+
for (const [path, info] of tracker.pathCache.entries()) {
|
|
353
|
+
const currentValue = getValueAtPath(state, info.segments);
|
|
354
|
+
tracker.lastCheckedValues.set(path, currentValue);
|
|
355
|
+
if (!Object.is(currentValue, info.value)) {
|
|
356
|
+
tracker.lastCheckedState = state;
|
|
357
|
+
return true;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
tracker.lastCheckedState = state;
|
|
361
|
+
return false;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* @internal
|
|
365
|
+
*/
|
|
366
|
+
function hasTrackedData(tracker) {
|
|
367
|
+
return (
|
|
368
|
+
tracker.proxyState.trackedPaths.size > 0 ||
|
|
369
|
+
tracker.pathCache.size > 0 ||
|
|
370
|
+
tracker.previousRenderPaths.size > 0
|
|
371
|
+
);
|
|
372
|
+
}
|
|
373
|
+
const descriptorCache = /* @__PURE__ */ new WeakMap();
|
|
374
|
+
const blocProxyCache = /* @__PURE__ */ new WeakMap();
|
|
375
|
+
const activeTrackerMap = /* @__PURE__ */ new WeakMap();
|
|
376
|
+
const MAX_GETTER_DEPTH =
|
|
377
|
+
require_StateContainerRegistry.BLAC_DEFAULTS.MAX_GETTER_DEPTH;
|
|
378
|
+
/**
|
|
379
|
+
* @internal
|
|
380
|
+
*/
|
|
381
|
+
function getDescriptor(obj, prop) {
|
|
382
|
+
const constructor = obj.constructor;
|
|
383
|
+
let constructorCache = descriptorCache.get(constructor);
|
|
384
|
+
if (constructorCache?.has(prop)) return constructorCache.get(prop);
|
|
385
|
+
let current = obj;
|
|
386
|
+
let descriptor;
|
|
387
|
+
while (current && current !== Object.prototype) {
|
|
388
|
+
descriptor = Object.getOwnPropertyDescriptor(current, prop);
|
|
389
|
+
if (descriptor) break;
|
|
390
|
+
current = Object.getPrototypeOf(current);
|
|
391
|
+
}
|
|
392
|
+
if (!constructorCache) {
|
|
393
|
+
constructorCache = /* @__PURE__ */ new Map();
|
|
394
|
+
descriptorCache.set(constructor, constructorCache);
|
|
395
|
+
}
|
|
396
|
+
constructorCache.set(prop, descriptor);
|
|
397
|
+
return descriptor;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* @internal
|
|
401
|
+
*/
|
|
402
|
+
function isGetter(obj, prop) {
|
|
403
|
+
return getDescriptor(obj, prop)?.get !== void 0;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* @internal
|
|
407
|
+
*/
|
|
408
|
+
function createGetterState() {
|
|
409
|
+
return {
|
|
410
|
+
trackedValues: /* @__PURE__ */ new Map(),
|
|
411
|
+
currentlyAccessing: /* @__PURE__ */ new Set(),
|
|
412
|
+
trackedGetters: /* @__PURE__ */ new Set(),
|
|
413
|
+
isTracking: false,
|
|
414
|
+
renderCache: /* @__PURE__ */ new Map(),
|
|
415
|
+
cacheValid: false,
|
|
416
|
+
depth: 0,
|
|
417
|
+
visitedBlocs: /* @__PURE__ */ new Set(),
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* @internal
|
|
422
|
+
*/
|
|
423
|
+
function setActiveTracker(bloc, tracker) {
|
|
424
|
+
activeTrackerMap.set(bloc, tracker);
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* @internal
|
|
428
|
+
*/
|
|
429
|
+
function clearActiveTracker(bloc) {
|
|
430
|
+
activeTrackerMap.delete(bloc);
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* @internal
|
|
434
|
+
*/
|
|
435
|
+
function commitTrackedGetters(tracker) {
|
|
436
|
+
if (tracker.currentlyAccessing.size > 0)
|
|
437
|
+
tracker.trackedGetters = new Set(tracker.currentlyAccessing);
|
|
438
|
+
tracker.currentlyAccessing.clear();
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Execute a tracked getter with depth/circular dependency checks and context management.
|
|
442
|
+
* @internal
|
|
443
|
+
*/
|
|
444
|
+
function executeTrackedGetter(target, prop, tracker) {
|
|
445
|
+
tracker.currentlyAccessing.add(prop);
|
|
446
|
+
if (tracker.cacheValid && tracker.renderCache.has(prop)) {
|
|
447
|
+
const cachedValue = tracker.renderCache.get(prop);
|
|
448
|
+
tracker.trackedValues.set(prop, cachedValue);
|
|
449
|
+
return cachedValue;
|
|
450
|
+
}
|
|
451
|
+
if (tracker.depth >= MAX_GETTER_DEPTH)
|
|
452
|
+
throw new Error(
|
|
453
|
+
`${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Maximum getter depth (${MAX_GETTER_DEPTH}) exceeded. Possible circular dependency in getter "${String(prop)}" on ${target.constructor.name}.`,
|
|
454
|
+
);
|
|
455
|
+
if (tracker.visitedBlocs.has(target))
|
|
456
|
+
throw new Error(
|
|
457
|
+
`${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Circular dependency detected: getter "${String(prop)}" on ${target.constructor.name}.`,
|
|
458
|
+
);
|
|
459
|
+
const prevDepth = tracker.depth;
|
|
460
|
+
const prevVisited = new Set(tracker.visitedBlocs);
|
|
461
|
+
tracker.depth++;
|
|
462
|
+
tracker.visitedBlocs.add(target);
|
|
463
|
+
try {
|
|
464
|
+
const descriptor = getDescriptor(target, prop);
|
|
465
|
+
if (!descriptor?.get) return target[prop];
|
|
466
|
+
const value = descriptor.get.call(target);
|
|
467
|
+
tracker.trackedValues.set(prop, value);
|
|
468
|
+
return value;
|
|
469
|
+
} catch (error) {
|
|
470
|
+
tracker.currentlyAccessing.delete(prop);
|
|
471
|
+
throw error;
|
|
472
|
+
} finally {
|
|
473
|
+
tracker.depth = prevDepth;
|
|
474
|
+
tracker.visitedBlocs = prevVisited;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* @internal
|
|
479
|
+
*/
|
|
480
|
+
function createBlocProxy(bloc) {
|
|
481
|
+
const cached = blocProxyCache.get(bloc);
|
|
482
|
+
if (cached) return cached;
|
|
483
|
+
const proxy = new Proxy(bloc, {
|
|
484
|
+
get(target, prop, receiver) {
|
|
485
|
+
const tracker = activeTrackerMap.get(target);
|
|
486
|
+
if (tracker?.isTracking && isGetter(target, prop))
|
|
487
|
+
return executeTrackedGetter(target, prop, tracker);
|
|
488
|
+
return Reflect.get(target, prop, receiver);
|
|
489
|
+
},
|
|
490
|
+
});
|
|
491
|
+
blocProxyCache.set(bloc, proxy);
|
|
492
|
+
return proxy;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* @internal
|
|
496
|
+
*/
|
|
497
|
+
function hasGetterChanges(bloc, tracker) {
|
|
498
|
+
if (!tracker || tracker.trackedGetters.size === 0) return false;
|
|
499
|
+
tracker.renderCache.clear();
|
|
500
|
+
let hasAnyChange = false;
|
|
501
|
+
for (const prop of tracker.trackedGetters)
|
|
502
|
+
try {
|
|
503
|
+
const descriptor = getDescriptor(bloc, prop);
|
|
504
|
+
if (!descriptor?.get) continue;
|
|
505
|
+
const newValue = descriptor.get.call(bloc);
|
|
506
|
+
const oldValue = tracker.trackedValues.get(prop);
|
|
507
|
+
tracker.renderCache.set(prop, newValue);
|
|
508
|
+
tracker.trackedValues.set(prop, newValue);
|
|
509
|
+
if (!Object.is(newValue, oldValue)) hasAnyChange = true;
|
|
510
|
+
} catch (error) {
|
|
511
|
+
console.warn(
|
|
512
|
+
`${require_StateContainerRegistry.BLAC_ERROR_PREFIX} Getter "${String(prop)}" threw error during change detection. Stopping tracking for this getter.`,
|
|
513
|
+
error,
|
|
514
|
+
);
|
|
515
|
+
tracker.trackedGetters.delete(prop);
|
|
516
|
+
tracker.trackedValues.delete(prop);
|
|
517
|
+
tracker.cacheValid = false;
|
|
518
|
+
return true;
|
|
519
|
+
}
|
|
520
|
+
tracker.cacheValid = true;
|
|
521
|
+
return hasAnyChange;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* @internal
|
|
525
|
+
*/
|
|
526
|
+
function invalidateRenderCache(tracker) {
|
|
527
|
+
tracker.cacheValid = false;
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* Create a new tracking proxy state.
|
|
531
|
+
*/
|
|
532
|
+
function createState() {
|
|
533
|
+
return {
|
|
534
|
+
dependencyState: createDependencyState(),
|
|
535
|
+
getterState: createGetterState(),
|
|
536
|
+
dependencies: /* @__PURE__ */ new Set(),
|
|
537
|
+
isTracking: false,
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Start tracking on a tracking proxy.
|
|
542
|
+
*/
|
|
543
|
+
function startTracking(tracker) {
|
|
544
|
+
tracker.isTracking = true;
|
|
545
|
+
tracker.dependencies.clear();
|
|
546
|
+
tracker.getterState.isTracking = true;
|
|
547
|
+
startDependency(tracker.dependencyState);
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Stop tracking and collect all dependencies.
|
|
551
|
+
*/
|
|
552
|
+
function stopTracking(tracker, bloc) {
|
|
553
|
+
tracker.isTracking = false;
|
|
554
|
+
tracker.getterState.isTracking = false;
|
|
555
|
+
capturePaths(tracker.dependencyState, bloc.state);
|
|
556
|
+
commitTrackedGetters(tracker.getterState);
|
|
557
|
+
return new Set(tracker.dependencies);
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Check if tracked state or getters have changed.
|
|
561
|
+
*/
|
|
562
|
+
function hasChanges(tracker, bloc) {
|
|
563
|
+
invalidateRenderCache(tracker.getterState);
|
|
564
|
+
const stateChanged = hasDependencyChanges(
|
|
565
|
+
tracker.dependencyState,
|
|
566
|
+
bloc.state,
|
|
567
|
+
);
|
|
568
|
+
const getterChanged = hasGetterChanges(bloc, tracker.getterState);
|
|
569
|
+
return stateChanged || getterChanged;
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Create a tracking proxy for a bloc instance.
|
|
573
|
+
* Tracks both state property access and getter access.
|
|
574
|
+
*/
|
|
575
|
+
function createTrackingProxy(bloc, tracker) {
|
|
576
|
+
tracker.dependencies.add(bloc);
|
|
577
|
+
const stateProxyCache = /* @__PURE__ */ new WeakMap();
|
|
578
|
+
return new Proxy(bloc, {
|
|
579
|
+
get(target, prop, receiver) {
|
|
580
|
+
if (prop === 'state') {
|
|
581
|
+
if (!tracker.isTracking) return target.state;
|
|
582
|
+
const rawState = target.state;
|
|
583
|
+
if (rawState === null || typeof rawState !== 'object') return rawState;
|
|
584
|
+
if (stateProxyCache.has(rawState)) return stateProxyCache.get(rawState);
|
|
585
|
+
const stateProxy = createDependencyProxy(
|
|
586
|
+
tracker.dependencyState,
|
|
587
|
+
rawState,
|
|
588
|
+
);
|
|
589
|
+
stateProxyCache.set(rawState, stateProxy);
|
|
590
|
+
return stateProxy;
|
|
591
|
+
}
|
|
592
|
+
if (typeof prop === 'symbol') return Reflect.get(target, prop, receiver);
|
|
593
|
+
const value = Reflect.get(target, prop, receiver);
|
|
594
|
+
if (typeof value === 'function') return value.bind(target);
|
|
595
|
+
if (tracker.isTracking && isGetter(target, prop))
|
|
596
|
+
return executeTrackedGetter(target, prop, tracker.getterState);
|
|
597
|
+
return value;
|
|
598
|
+
},
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
//#endregion
|
|
602
|
+
//#region src/tracking/dependency-manager.ts
|
|
603
|
+
/**
|
|
604
|
+
* Manages subscriptions to state container dependencies.
|
|
605
|
+
* Provides efficient sync mechanism to add/remove subscriptions
|
|
606
|
+
* as dependencies change between callback invocations.
|
|
607
|
+
*/
|
|
608
|
+
var DependencyManager = class {
|
|
609
|
+
constructor() {
|
|
610
|
+
this.subscriptions = /* @__PURE__ */ new Map();
|
|
611
|
+
this.currentDeps = /* @__PURE__ */ new Set();
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* Sync subscriptions with a new set of dependencies.
|
|
615
|
+
* Adds subscriptions for new deps, removes subscriptions for stale deps.
|
|
616
|
+
*
|
|
617
|
+
* @param newDeps - The new set of dependencies to subscribe to
|
|
618
|
+
* @param onChange - Callback to invoke when any dependency changes
|
|
619
|
+
* @param exclude - Optional instance to exclude from subscriptions (e.g., primary bloc)
|
|
620
|
+
* @returns true if the dependency set changed, false if unchanged
|
|
621
|
+
*/
|
|
622
|
+
sync(newDeps, onChange, exclude) {
|
|
623
|
+
const filteredNewDeps = /* @__PURE__ */ new Set();
|
|
624
|
+
for (const dep of newDeps)
|
|
625
|
+
if (dep !== exclude && !dep.isDisposed) filteredNewDeps.add(dep);
|
|
626
|
+
if (this.areSetsEqual(this.currentDeps, filteredNewDeps)) return false;
|
|
627
|
+
for (const dep of this.currentDeps)
|
|
628
|
+
if (!filteredNewDeps.has(dep)) {
|
|
629
|
+
const unsub = this.subscriptions.get(dep);
|
|
630
|
+
if (unsub) {
|
|
631
|
+
unsub();
|
|
632
|
+
this.subscriptions.delete(dep);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
for (const dep of filteredNewDeps)
|
|
636
|
+
if (!this.currentDeps.has(dep) && !this.subscriptions.has(dep)) {
|
|
637
|
+
const unsub = dep.subscribe(onChange);
|
|
638
|
+
this.subscriptions.set(dep, unsub);
|
|
639
|
+
}
|
|
640
|
+
this.currentDeps = filteredNewDeps;
|
|
641
|
+
return true;
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* Add a single dependency subscription.
|
|
645
|
+
*/
|
|
646
|
+
add(dep, onChange) {
|
|
647
|
+
if (this.subscriptions.has(dep) || dep.isDisposed) return;
|
|
648
|
+
const unsub = dep.subscribe(onChange);
|
|
649
|
+
this.subscriptions.set(dep, unsub);
|
|
650
|
+
this.currentDeps.add(dep);
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Check if a dependency is currently subscribed.
|
|
654
|
+
*/
|
|
655
|
+
has(dep) {
|
|
656
|
+
return this.currentDeps.has(dep);
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* Get the current set of dependencies.
|
|
660
|
+
*/
|
|
661
|
+
getDependencies() {
|
|
662
|
+
return new Set(this.currentDeps);
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Clean up all active subscriptions.
|
|
666
|
+
*/
|
|
667
|
+
cleanup() {
|
|
668
|
+
for (const unsub of this.subscriptions.values()) unsub();
|
|
669
|
+
this.subscriptions.clear();
|
|
670
|
+
this.currentDeps.clear();
|
|
671
|
+
}
|
|
672
|
+
areSetsEqual(a, b) {
|
|
673
|
+
if (a.size !== b.size) return false;
|
|
674
|
+
for (const item of a) if (!b.has(item)) return false;
|
|
675
|
+
return true;
|
|
676
|
+
}
|
|
677
|
+
};
|
|
678
|
+
//#endregion
|
|
679
|
+
//#region src/tracking/resolve-dependencies.ts
|
|
680
|
+
/**
|
|
681
|
+
* Resolve all transitive dependencies of a bloc via BFS over `dependencies` maps.
|
|
682
|
+
* Uses cycle detection to avoid infinite loops.
|
|
683
|
+
* @internal
|
|
684
|
+
*/
|
|
685
|
+
function resolveDependencies(bloc) {
|
|
686
|
+
const result = /* @__PURE__ */ new Set();
|
|
687
|
+
const visited = /* @__PURE__ */ new Set();
|
|
688
|
+
const queue = [bloc];
|
|
689
|
+
while (queue.length > 0) {
|
|
690
|
+
const current = queue.shift();
|
|
691
|
+
if (!current) break;
|
|
692
|
+
for (const [Type, key] of current.dependencies) {
|
|
693
|
+
const visitKey = `${Type.name}::${key}`;
|
|
694
|
+
if (visited.has(visitKey)) continue;
|
|
695
|
+
visited.add(visitKey);
|
|
696
|
+
const dep = require_config.getRegistry().ensure(Type, key);
|
|
697
|
+
result.add(dep);
|
|
698
|
+
if (dep.dependencies.size > 0) queue.push(dep);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
result.delete(bloc);
|
|
702
|
+
return result;
|
|
703
|
+
}
|
|
704
|
+
//#endregion
|
|
705
|
+
Object.defineProperty(exports, 'DependencyManager', {
|
|
706
|
+
enumerable: true,
|
|
707
|
+
get: function () {
|
|
708
|
+
return DependencyManager;
|
|
709
|
+
},
|
|
710
|
+
});
|
|
711
|
+
Object.defineProperty(exports, 'capturePaths', {
|
|
712
|
+
enumerable: true,
|
|
713
|
+
get: function () {
|
|
714
|
+
return capturePaths;
|
|
715
|
+
},
|
|
716
|
+
});
|
|
717
|
+
Object.defineProperty(exports, 'clearActiveTracker', {
|
|
718
|
+
enumerable: true,
|
|
719
|
+
get: function () {
|
|
720
|
+
return clearActiveTracker;
|
|
721
|
+
},
|
|
722
|
+
});
|
|
723
|
+
Object.defineProperty(exports, 'commitTrackedGetters', {
|
|
724
|
+
enumerable: true,
|
|
725
|
+
get: function () {
|
|
726
|
+
return commitTrackedGetters;
|
|
727
|
+
},
|
|
728
|
+
});
|
|
729
|
+
Object.defineProperty(exports, 'createBlocProxy', {
|
|
730
|
+
enumerable: true,
|
|
731
|
+
get: function () {
|
|
732
|
+
return createBlocProxy;
|
|
733
|
+
},
|
|
734
|
+
});
|
|
735
|
+
Object.defineProperty(exports, 'createDependencyProxy', {
|
|
736
|
+
enumerable: true,
|
|
737
|
+
get: function () {
|
|
738
|
+
return createDependencyProxy;
|
|
739
|
+
},
|
|
740
|
+
});
|
|
741
|
+
Object.defineProperty(exports, 'createDependencyState', {
|
|
742
|
+
enumerable: true,
|
|
743
|
+
get: function () {
|
|
744
|
+
return createDependencyState;
|
|
745
|
+
},
|
|
746
|
+
});
|
|
747
|
+
Object.defineProperty(exports, 'createGetterState', {
|
|
748
|
+
enumerable: true,
|
|
749
|
+
get: function () {
|
|
750
|
+
return createGetterState;
|
|
751
|
+
},
|
|
752
|
+
});
|
|
753
|
+
Object.defineProperty(exports, 'createState', {
|
|
754
|
+
enumerable: true,
|
|
755
|
+
get: function () {
|
|
756
|
+
return createState;
|
|
757
|
+
},
|
|
758
|
+
});
|
|
759
|
+
Object.defineProperty(exports, 'createTrackingProxy', {
|
|
760
|
+
enumerable: true,
|
|
761
|
+
get: function () {
|
|
762
|
+
return createTrackingProxy;
|
|
763
|
+
},
|
|
764
|
+
});
|
|
765
|
+
Object.defineProperty(exports, 'hasChanges', {
|
|
766
|
+
enumerable: true,
|
|
767
|
+
get: function () {
|
|
768
|
+
return hasChanges;
|
|
769
|
+
},
|
|
770
|
+
});
|
|
771
|
+
Object.defineProperty(exports, 'hasDependencyChanges', {
|
|
772
|
+
enumerable: true,
|
|
773
|
+
get: function () {
|
|
774
|
+
return hasDependencyChanges;
|
|
775
|
+
},
|
|
776
|
+
});
|
|
777
|
+
Object.defineProperty(exports, 'hasGetterChanges', {
|
|
778
|
+
enumerable: true,
|
|
779
|
+
get: function () {
|
|
780
|
+
return hasGetterChanges;
|
|
781
|
+
},
|
|
782
|
+
});
|
|
783
|
+
Object.defineProperty(exports, 'hasTrackedData', {
|
|
784
|
+
enumerable: true,
|
|
785
|
+
get: function () {
|
|
786
|
+
return hasTrackedData;
|
|
787
|
+
},
|
|
788
|
+
});
|
|
789
|
+
Object.defineProperty(exports, 'invalidateRenderCache', {
|
|
790
|
+
enumerable: true,
|
|
791
|
+
get: function () {
|
|
792
|
+
return invalidateRenderCache;
|
|
793
|
+
},
|
|
794
|
+
});
|
|
795
|
+
Object.defineProperty(exports, 'resolveDependencies', {
|
|
796
|
+
enumerable: true,
|
|
797
|
+
get: function () {
|
|
798
|
+
return resolveDependencies;
|
|
799
|
+
},
|
|
800
|
+
});
|
|
801
|
+
Object.defineProperty(exports, 'setActiveTracker', {
|
|
802
|
+
enumerable: true,
|
|
803
|
+
get: function () {
|
|
804
|
+
return setActiveTracker;
|
|
805
|
+
},
|
|
806
|
+
});
|
|
807
|
+
Object.defineProperty(exports, 'shallowEqual', {
|
|
808
|
+
enumerable: true,
|
|
809
|
+
get: function () {
|
|
810
|
+
return shallowEqual;
|
|
811
|
+
},
|
|
812
|
+
});
|
|
813
|
+
Object.defineProperty(exports, 'startDependency', {
|
|
814
|
+
enumerable: true,
|
|
815
|
+
get: function () {
|
|
816
|
+
return startDependency;
|
|
817
|
+
},
|
|
818
|
+
});
|
|
819
|
+
Object.defineProperty(exports, 'startTracking', {
|
|
820
|
+
enumerable: true,
|
|
821
|
+
get: function () {
|
|
822
|
+
return startTracking;
|
|
823
|
+
},
|
|
824
|
+
});
|
|
825
|
+
Object.defineProperty(exports, 'stopTracking', {
|
|
826
|
+
enumerable: true,
|
|
827
|
+
get: function () {
|
|
828
|
+
return stopTracking;
|
|
829
|
+
},
|
|
830
|
+
});
|
|
831
|
+
|
|
832
|
+
//# sourceMappingURL=resolve-dependencies-Dd8T6TLt.cjs.map
|