@blac/core 2.0.13 → 2.0.15
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 +269 -230
- 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 +273 -232
- package/dist/Cubit-BTznt8zg.js +1 -1
- package/dist/Cubit-BogJXkLm.js +260 -225
- 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 +300 -259
- 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 +284 -242
- package/dist/Cubit-CYOWfzQt.cjs +297 -254
- 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 +281 -239
- package/dist/Cubit-CfT6Y1jl.js +328 -280
- 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 +276 -240
- 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 +349 -300
- package/dist/Cubit-DsDkCo42.cjs +292 -250
- package/dist/Cubit-DwRw1E9D.cjs +289 -247
- 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 +279 -239
- 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 +300 -257
- 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 +683 -615
- package/dist/StateContainerRegistry-BK57H92E.js +701 -630
- 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 +669 -606
- package/dist/StateContainerRegistry-BhcnG0DF.js +625 -562
- package/dist/StateContainerRegistry-BpO5t-0i.js +642 -580
- 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 +668 -614
- package/dist/StateContainerRegistry-CTOXUf75.cjs +695 -640
- package/dist/StateContainerRegistry-CX2CBOmv.cjs +739 -679
- 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 +680 -612
- package/dist/StateContainerRegistry-Ck2-XmT_.js +587 -527
- package/dist/StateContainerRegistry-D1lVJFGL.cjs +706 -646
- 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 +709 -649
- 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 +20 -20
- package/dist/config-BKGHop0V.js +5 -5
- 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 +20 -20
- 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 +20 -20
- 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 +5 -5
- 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 +20 -20
- package/dist/config-DMNZ2YLV.cjs +20 -20
- package/dist/config-De9oQ6Ki.js +5 -5
- 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 +20 -20
- package/dist/config-Yp645dGK.js +5 -5
- package/dist/config-ispAzOZV.js +5 -5
- package/dist/config.d.cts +72 -0
- package/dist/config.d.ts +72 -0
- package/dist/constants.d.cts +13 -0
- package/dist/constants.d.ts +13 -0
- package/dist/core/Cubit.d.ts +14 -4
- package/dist/core/StateContainer.d.ts +111 -11
- package/dist/core/StateContainerRegistry.d.ts +55 -11
- package/dist/core/symbols.d.ts +26 -0
- 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 +8 -8
- package/dist/ensure-CJZL7bcA.cjs +365 -292
- package/dist/ensure-CN6unBOe.cjs +8 -8
- package/dist/ensure-CU-B1ywv.js +3 -3
- package/dist/ensure-CWKzeno7.js +3 -3
- 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 +8 -8
- package/dist/ensure-DM3qb336.cjs +14 -0
- package/dist/ensure-DM3qb336.cjs.map +1 -0
- package/dist/ensure-DME-_T0j.cjs +8 -8
- package/dist/ensure-DWd0GCYB.js +3 -3
- 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 +8 -8
- package/dist/ensure-SLVdGd5b.js +3 -3
- 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 +3 -3
- 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 +3 -3
- package/dist/ensure-vS71MV4q.cjs +8 -8
- package/dist/index.cjs +37 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -4
- package/dist/index.d.ts +14 -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 +20 -11
- package/dist/management-B9yrRpeg.js +41 -0
- package/dist/management-B9yrRpeg.js.map +1 -0
- package/dist/management-BCKTEZ8Q.js +20 -11
- 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 +50 -50
- 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 +20 -11
- 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 +20 -11
- package/dist/management-DLdAQfqk.cjs +79 -0
- package/dist/management-DLdAQfqk.cjs.map +1 -0
- package/dist/management-DMZ8qpwr.cjs +50 -50
- package/dist/management-DTzcC6aD.cjs +79 -0
- package/dist/management-DTzcC6aD.cjs.map +1 -0
- package/dist/management-DYLNyj9p.cjs +50 -50
- 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 +50 -50
- package/dist/management-DwCozsY8.js +20 -11
- 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 +50 -50
- package/dist/plugin/BlacPlugin.d.ts +89 -15
- package/dist/plugin/PluginManager.d.ts +65 -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 +641 -558
- package/dist/resolve-dependencies-B6JDXvpr.js +651 -566
- 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 +732 -671
- package/dist/resolve-dependencies-BWEMpuDy.js +641 -558
- 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 +651 -566
- package/dist/resolve-dependencies-C9Kf7AzY.cjs +724 -666
- 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 +722 -663
- 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 +643 -561
- 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 +724 -666
- package/dist/resolve-dependencies-Dfdp_DZd.cjs +732 -671
- package/dist/resolve-dependencies-GJ8PNyNB.cjs +969 -0
- package/dist/resolve-dependencies-GJ8PNyNB.cjs.map +1 -0
- package/dist/resolve-dependencies-KSpTt4jy.cjs +722 -663
- package/dist/resolve-dependencies-Nvjp4CwS.js +643 -561
- 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 +186 -166
- 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 +186 -166
- 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 +171 -151
- package/dist/tracked-CGzduF2m.js +186 -166
- package/dist/tracked-CK_-ixtX.cjs +196 -175
- package/dist/tracked-CLlvURln.js +186 -166
- package/dist/tracked-CgHWmuGC.cjs +211 -190
- package/dist/tracked-CoAlC8fs.js +171 -151
- package/dist/tracked-D3Xjm1H1.cjs +211 -190
- 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 +171 -151
- package/dist/tracked-DOGh1Q5Z.cjs +242 -0
- package/dist/tracked-DOGh1Q5Z.cjs.map +1 -0
- package/dist/tracked-DUkp4zve.cjs +196 -175
- 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 +211 -190
- 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 +211 -190
- 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 +14 -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
|
@@ -5,33 +5,37 @@ import type { StateContainerInstance } from '../types/utilities';
|
|
|
5
5
|
* as dependencies change between callback invocations.
|
|
6
6
|
*/
|
|
7
7
|
export declare class DependencyManager {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
private subscriptions;
|
|
9
|
+
private currentDeps;
|
|
10
|
+
/**
|
|
11
|
+
* Sync subscriptions with a new set of dependencies.
|
|
12
|
+
* Adds subscriptions for new deps, removes subscriptions for stale deps.
|
|
13
|
+
*
|
|
14
|
+
* @param newDeps - The new set of dependencies to subscribe to
|
|
15
|
+
* @param onChange - Callback to invoke when any dependency changes
|
|
16
|
+
* @param exclude - Optional instance to exclude from subscriptions (e.g., primary bloc)
|
|
17
|
+
* @returns true if the dependency set changed, false if unchanged
|
|
18
|
+
*/
|
|
19
|
+
sync(
|
|
20
|
+
newDeps: Set<StateContainerInstance>,
|
|
21
|
+
onChange: () => void,
|
|
22
|
+
exclude?: StateContainerInstance,
|
|
23
|
+
): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Add a single dependency subscription.
|
|
26
|
+
*/
|
|
27
|
+
add(dep: StateContainerInstance, onChange: () => void): void;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a dependency is currently subscribed.
|
|
30
|
+
*/
|
|
31
|
+
has(dep: StateContainerInstance): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Get the current set of dependencies.
|
|
34
|
+
*/
|
|
35
|
+
getDependencies(): Set<StateContainerInstance>;
|
|
36
|
+
/**
|
|
37
|
+
* Clean up all active subscriptions.
|
|
38
|
+
*/
|
|
39
|
+
cleanup(): void;
|
|
40
|
+
private areSetsEqual;
|
|
37
41
|
}
|
package/dist/tracking/index.d.ts
CHANGED
|
@@ -7,7 +7,22 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
export {
|
|
10
|
+
export {
|
|
11
|
+
type DependencyState,
|
|
12
|
+
type PathInfo,
|
|
13
|
+
createDependencyState,
|
|
14
|
+
startDependency,
|
|
15
|
+
createDependencyProxy,
|
|
16
|
+
capturePaths,
|
|
17
|
+
hasDependencyChanges,
|
|
18
|
+
hasTrackedData,
|
|
19
|
+
type GetterState,
|
|
20
|
+
createGetterState,
|
|
21
|
+
createBlocProxy,
|
|
22
|
+
hasGetterChanges,
|
|
23
|
+
commitTrackedGetters,
|
|
24
|
+
invalidateRenderCache,
|
|
25
|
+
} from './tracking-proxy';
|
|
11
26
|
export { shallowEqual } from './path-utils';
|
|
12
27
|
export { DependencyManager } from './dependency-manager';
|
|
13
28
|
export { resolveDependencies } from './resolve-dependencies';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -21,20 +21,37 @@
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export declare function parsePath(path: string): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Sentinel value returned by `getValueAtPath` when the path cannot be fully
|
|
26
|
+
* walked because an intermediate segment is null or undefined. This is
|
|
27
|
+
* distinct from `undefined`, which is a legitimate leaf value.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
declare const MISSING: unique symbol;
|
|
32
|
+
export { MISSING as PATH_MISSING };
|
|
24
33
|
/**
|
|
25
34
|
* Get a value from an object using a path of segments
|
|
26
35
|
*
|
|
36
|
+
* Returns `PATH_MISSING` (not `undefined`) when the path cannot be walked
|
|
37
|
+
* because an intermediate parent is null or undefined. This lets callers
|
|
38
|
+
* distinguish "the leaf is explicitly `undefined`" from "the path is broken".
|
|
39
|
+
*
|
|
27
40
|
* @example
|
|
28
41
|
* ```ts
|
|
29
42
|
* const obj = { user: { name: 'Alice', age: 30 } }
|
|
30
43
|
* getValueAtPath(obj, ['user', 'name']) // 'Alice'
|
|
31
44
|
* getValueAtPath(obj, ['user', 'age']) // 30
|
|
32
45
|
* getValueAtPath(obj, ['user', 'missing']) // undefined
|
|
46
|
+
* getValueAtPath({ a: null }, ['a', 'b']) // PATH_MISSING
|
|
33
47
|
* ```
|
|
34
48
|
*
|
|
35
49
|
* @internal
|
|
36
50
|
*/
|
|
37
|
-
export declare function getValueAtPath(
|
|
51
|
+
export declare function getValueAtPath(
|
|
52
|
+
obj: unknown,
|
|
53
|
+
segments: string[],
|
|
54
|
+
): unknown;
|
|
38
55
|
/**
|
|
39
56
|
* Shallow equality comparison for arrays
|
|
40
57
|
*
|
|
@@ -4,4 +4,6 @@ import type { StateContainerInstance } from '../types/utilities';
|
|
|
4
4
|
* Uses cycle detection to avoid infinite loops.
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export declare function resolveDependencies(
|
|
7
|
+
export declare function resolveDependencies(
|
|
8
|
+
bloc: StateContainerInstance,
|
|
9
|
+
): Set<StateContainerInstance>;
|
|
@@ -4,14 +4,14 @@ import { DependencyManager } from './dependency-manager';
|
|
|
4
4
|
* Result of running a tracked callback.
|
|
5
5
|
*/
|
|
6
6
|
export interface TrackedResult<T> {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
result: T;
|
|
8
|
+
dependencies: Set<StateContainerInstance>;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Options for the tracked() function.
|
|
12
12
|
*/
|
|
13
13
|
export interface TrackedOptions {
|
|
14
|
-
|
|
14
|
+
exclude?: StateContainerInstance;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Run a callback while tracking all bloc dependencies accessed.
|
|
@@ -26,42 +26,45 @@ export interface TrackedOptions {
|
|
|
26
26
|
* // dependencies contains UserBloc + any blocs accessed in fullName getter
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
export declare function tracked<T>(
|
|
29
|
+
export declare function tracked<T>(
|
|
30
|
+
callback: () => T,
|
|
31
|
+
options?: TrackedOptions,
|
|
32
|
+
): TrackedResult<T>;
|
|
30
33
|
/**
|
|
31
34
|
* Context for running tracked callbacks with bloc proxies.
|
|
32
35
|
* Provides methods to create proxies and check for changes.
|
|
33
36
|
*/
|
|
34
37
|
export declare class TrackedContext {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
38
|
+
private tracker;
|
|
39
|
+
private proxiedBlocs;
|
|
40
|
+
private primaryBlocs;
|
|
41
|
+
constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Get a tracking proxy for a bloc instance.
|
|
44
|
+
* The proxy will track state and getter accesses.
|
|
45
|
+
*/
|
|
46
|
+
proxy<T extends StateContainerInstance>(bloc: T): T;
|
|
47
|
+
/**
|
|
48
|
+
* Start tracking for a new callback execution.
|
|
49
|
+
*/
|
|
50
|
+
start(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Stop tracking and get discovered dependencies.
|
|
53
|
+
* Excludes primary blocs (those explicitly proxied via proxy()).
|
|
54
|
+
*/
|
|
55
|
+
stop(): Set<StateContainerInstance>;
|
|
56
|
+
/**
|
|
57
|
+
* Check if any tracked state or getters have changed.
|
|
58
|
+
*/
|
|
59
|
+
changed(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Get all primary blocs (those explicitly proxied).
|
|
62
|
+
*/
|
|
63
|
+
getPrimaryBlocs(): Set<StateContainerInstance>;
|
|
64
|
+
/**
|
|
65
|
+
* Reset the context for reuse.
|
|
66
|
+
*/
|
|
67
|
+
reset(): void;
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
67
70
|
* Create a new tracked context for manual control over tracking.
|
|
@@ -10,13 +10,13 @@ export declare function isProxyable(value: unknown): value is object;
|
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
12
|
export interface ProxyState<T> {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
trackedPaths: Set<string>;
|
|
14
|
+
isTracking: boolean;
|
|
15
|
+
proxyCache: WeakMap<object, unknown>;
|
|
16
|
+
boundFunctionsCache: WeakMap<object, WeakMap<Function, Function>> | null;
|
|
17
|
+
lastProxiedState: T | null;
|
|
18
|
+
lastProxy: T | null;
|
|
19
|
+
maxDepth: number;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Create a new proxy tracker state
|
|
@@ -37,12 +37,22 @@ export declare function stopProxy<T>(state: ProxyState<T>): Set<string>;
|
|
|
37
37
|
* Create a proxy for an array with property access tracking
|
|
38
38
|
* @internal
|
|
39
39
|
*/
|
|
40
|
-
export declare function createArrayProxy<T, U>(
|
|
40
|
+
export declare function createArrayProxy<T, U>(
|
|
41
|
+
state: ProxyState<T>,
|
|
42
|
+
target: U[],
|
|
43
|
+
path: string,
|
|
44
|
+
depth?: number,
|
|
45
|
+
): U[];
|
|
41
46
|
/**
|
|
42
47
|
* Create a proxy for an object with property access tracking
|
|
43
48
|
* @internal
|
|
44
49
|
*/
|
|
45
|
-
export declare function createInternal<T>(
|
|
50
|
+
export declare function createInternal<T>(
|
|
51
|
+
state: ProxyState<T>,
|
|
52
|
+
target: T,
|
|
53
|
+
path?: string,
|
|
54
|
+
depth?: number,
|
|
55
|
+
): T;
|
|
46
56
|
/**
|
|
47
57
|
* Create a proxy for a target with caching
|
|
48
58
|
* @internal
|
|
@@ -52,19 +62,19 @@ export declare function createForTarget<T>(state: ProxyState<T>, target: T): T;
|
|
|
52
62
|
* @internal
|
|
53
63
|
*/
|
|
54
64
|
export interface PathInfo {
|
|
55
|
-
|
|
56
|
-
|
|
65
|
+
segments: string[];
|
|
66
|
+
value: unknown;
|
|
57
67
|
}
|
|
58
68
|
/**
|
|
59
69
|
* @internal
|
|
60
70
|
*/
|
|
61
71
|
export interface DependencyState<T> {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
proxyState: ProxyState<T>;
|
|
73
|
+
previousRenderPaths: Set<string>;
|
|
74
|
+
currentRenderPaths: Set<string>;
|
|
75
|
+
pathCache: Map<string, PathInfo>;
|
|
76
|
+
lastCheckedState: T | null;
|
|
77
|
+
lastCheckedValues: Map<string, unknown>;
|
|
68
78
|
}
|
|
69
79
|
/**
|
|
70
80
|
* @internal
|
|
@@ -81,15 +91,24 @@ export declare function startDependency<T>(tracker: DependencyState<T>): void;
|
|
|
81
91
|
/**
|
|
82
92
|
* @internal
|
|
83
93
|
*/
|
|
84
|
-
export declare function createDependencyProxy<T>(
|
|
94
|
+
export declare function createDependencyProxy<T>(
|
|
95
|
+
tracker: DependencyState<T>,
|
|
96
|
+
state: T,
|
|
97
|
+
): T;
|
|
85
98
|
/**
|
|
86
99
|
* @internal
|
|
87
100
|
*/
|
|
88
|
-
export declare function capturePaths<T>(
|
|
101
|
+
export declare function capturePaths<T>(
|
|
102
|
+
tracker: DependencyState<T>,
|
|
103
|
+
state: T,
|
|
104
|
+
): void;
|
|
89
105
|
/**
|
|
90
106
|
* @internal
|
|
91
107
|
*/
|
|
92
|
-
export declare function hasDependencyChanges<T>(
|
|
108
|
+
export declare function hasDependencyChanges<T>(
|
|
109
|
+
tracker: DependencyState<T>,
|
|
110
|
+
state: T,
|
|
111
|
+
): boolean;
|
|
93
112
|
/**
|
|
94
113
|
* @internal
|
|
95
114
|
*/
|
|
@@ -98,19 +117,22 @@ export declare function hasTrackedData<T>(tracker: DependencyState<T>): boolean;
|
|
|
98
117
|
* @internal
|
|
99
118
|
*/
|
|
100
119
|
export interface GetterState {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
120
|
+
trackedValues: Map<string | symbol, unknown>;
|
|
121
|
+
currentlyAccessing: Set<string | symbol>;
|
|
122
|
+
trackedGetters: Set<string | symbol>;
|
|
123
|
+
isTracking: boolean;
|
|
124
|
+
renderCache: Map<string | symbol, unknown>;
|
|
125
|
+
cacheValid: boolean;
|
|
126
|
+
depth: number;
|
|
127
|
+
visitedBlocs: Set<StateContainerInstance>;
|
|
109
128
|
}
|
|
110
129
|
/**
|
|
111
130
|
* @internal
|
|
112
131
|
*/
|
|
113
|
-
export declare function getDescriptor(
|
|
132
|
+
export declare function getDescriptor(
|
|
133
|
+
obj: any,
|
|
134
|
+
prop: string | symbol,
|
|
135
|
+
): PropertyDescriptor | undefined;
|
|
114
136
|
/**
|
|
115
137
|
* @internal
|
|
116
138
|
*/
|
|
@@ -122,27 +144,43 @@ export declare function createGetterState(): GetterState;
|
|
|
122
144
|
/**
|
|
123
145
|
* @internal
|
|
124
146
|
*/
|
|
125
|
-
export declare function setActiveTracker<TBloc extends StateContainerInstance>(bloc: TBloc, tracker: GetterState): void;
|
|
126
|
-
/**
|
|
127
|
-
* @internal
|
|
128
|
-
*/
|
|
129
|
-
export declare function clearActiveTracker<TBloc extends StateContainerInstance>(bloc: TBloc): void;
|
|
130
|
-
/**
|
|
131
|
-
* @internal
|
|
132
|
-
*/
|
|
133
|
-
export declare function getActiveTracker<TBloc extends StateContainerInstance>(bloc: TBloc): GetterState | undefined;
|
|
134
147
|
/**
|
|
148
|
+
* Commit getters accessed during the active tracking window into the
|
|
149
|
+
* authoritative `trackedGetters` set used by change-detection.
|
|
150
|
+
*
|
|
151
|
+
* When `currentlyAccessing` is empty (e.g. React StrictMode firing
|
|
152
|
+
* `useEffect` setup → cleanup → setup for one logical render, where the
|
|
153
|
+
* second setup runs with no intervening render and therefore no accesses)
|
|
154
|
+
* we deliberately preserve the previous commit's `trackedGetters`. This
|
|
155
|
+
* keeps consumer subscriptions stable across StrictMode double-invocation.
|
|
156
|
+
*
|
|
157
|
+
* The next legitimate render that records accesses replaces the set in full;
|
|
158
|
+
* components that conditionally drop a getter incur at most one extra
|
|
159
|
+
* re-render before `trackedGetters` self-corrects on the subsequent commit.
|
|
160
|
+
*
|
|
135
161
|
* @internal
|
|
136
162
|
*/
|
|
137
163
|
export declare function commitTrackedGetters(tracker: GetterState): void;
|
|
138
164
|
/**
|
|
165
|
+
* Create a per-consumer bloc proxy that closes over its own getter tracker.
|
|
166
|
+
*
|
|
167
|
+
* Each useBloc consumer owns its own proxy and tracker, eliminating the
|
|
168
|
+
* cross-component contamination that a shared module-level tracker map
|
|
169
|
+
* caused under interleaved/concurrent rendering.
|
|
170
|
+
*
|
|
139
171
|
* @internal
|
|
140
172
|
*/
|
|
141
|
-
export declare function createBlocProxy<TBloc extends StateContainerInstance>(
|
|
173
|
+
export declare function createBlocProxy<TBloc extends StateContainerInstance>(
|
|
174
|
+
bloc: TBloc,
|
|
175
|
+
tracker: GetterState,
|
|
176
|
+
): TBloc;
|
|
142
177
|
/**
|
|
143
178
|
* @internal
|
|
144
179
|
*/
|
|
145
|
-
export declare function hasGetterChanges<TBloc extends StateContainerInstance>(
|
|
180
|
+
export declare function hasGetterChanges<TBloc extends StateContainerInstance>(
|
|
181
|
+
bloc: TBloc,
|
|
182
|
+
tracker: GetterState | null,
|
|
183
|
+
): boolean;
|
|
146
184
|
/**
|
|
147
185
|
* @internal
|
|
148
186
|
*/
|
|
@@ -155,10 +193,10 @@ export declare function resetGetterState(tracker: GetterState): void;
|
|
|
155
193
|
* State for tracking both state property access and getter access.
|
|
156
194
|
*/
|
|
157
195
|
export interface TrackingProxyState {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
196
|
+
dependencyState: DependencyState<any>;
|
|
197
|
+
getterState: GetterState;
|
|
198
|
+
dependencies: Set<StateContainerInstance>;
|
|
199
|
+
isTracking: boolean;
|
|
162
200
|
}
|
|
163
201
|
/**
|
|
164
202
|
* Create a new tracking proxy state.
|
|
@@ -171,13 +209,22 @@ export declare function startTracking(tracker: TrackingProxyState): void;
|
|
|
171
209
|
/**
|
|
172
210
|
* Stop tracking and collect all dependencies.
|
|
173
211
|
*/
|
|
174
|
-
export declare function stopTracking(
|
|
212
|
+
export declare function stopTracking(
|
|
213
|
+
tracker: TrackingProxyState,
|
|
214
|
+
bloc: StateContainerInstance,
|
|
215
|
+
): Set<StateContainerInstance>;
|
|
175
216
|
/**
|
|
176
217
|
* Check if tracked state or getters have changed.
|
|
177
218
|
*/
|
|
178
|
-
export declare function hasChanges(
|
|
219
|
+
export declare function hasChanges(
|
|
220
|
+
tracker: TrackingProxyState,
|
|
221
|
+
bloc: StateContainerInstance,
|
|
222
|
+
): boolean;
|
|
179
223
|
/**
|
|
180
224
|
* Create a tracking proxy for a bloc instance.
|
|
181
225
|
* Tracks both state property access and getter access.
|
|
182
226
|
*/
|
|
183
|
-
export declare function createTrackingProxy<T extends StateContainerInstance>(
|
|
227
|
+
export declare function createTrackingProxy<T extends StateContainerInstance>(
|
|
228
|
+
bloc: T,
|
|
229
|
+
tracker: TrackingProxyState,
|
|
230
|
+
): T;
|
package/dist/tracking.cjs
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_resolve_dependencies = require(
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_resolve_dependencies = require('./resolve-dependencies-GJ8PNyNB.cjs');
|
|
3
3
|
exports.DependencyManager = require_resolve_dependencies.DependencyManager;
|
|
4
4
|
exports.capturePaths = require_resolve_dependencies.capturePaths;
|
|
5
|
-
exports.
|
|
6
|
-
|
|
5
|
+
exports.commitTrackedGetters =
|
|
6
|
+
require_resolve_dependencies.commitTrackedGetters;
|
|
7
7
|
exports.createBlocProxy = require_resolve_dependencies.createBlocProxy;
|
|
8
|
-
exports.createDependencyProxy =
|
|
9
|
-
|
|
8
|
+
exports.createDependencyProxy =
|
|
9
|
+
require_resolve_dependencies.createDependencyProxy;
|
|
10
|
+
exports.createDependencyState =
|
|
11
|
+
require_resolve_dependencies.createDependencyState;
|
|
10
12
|
exports.createGetterState = require_resolve_dependencies.createGetterState;
|
|
11
|
-
exports.hasDependencyChanges =
|
|
13
|
+
exports.hasDependencyChanges =
|
|
14
|
+
require_resolve_dependencies.hasDependencyChanges;
|
|
12
15
|
exports.hasGetterChanges = require_resolve_dependencies.hasGetterChanges;
|
|
13
16
|
exports.hasTrackedData = require_resolve_dependencies.hasTrackedData;
|
|
14
|
-
exports.invalidateRenderCache =
|
|
17
|
+
exports.invalidateRenderCache =
|
|
18
|
+
require_resolve_dependencies.invalidateRenderCache;
|
|
15
19
|
exports.resolveDependencies = require_resolve_dependencies.resolveDependencies;
|
|
16
|
-
exports.setActiveTracker = require_resolve_dependencies.setActiveTracker;
|
|
17
20
|
exports.shallowEqual = require_resolve_dependencies.shallowEqual;
|
|
18
21
|
exports.startDependency = require_resolve_dependencies.startDependency;
|
package/dist/tracking.js
CHANGED
|
@@ -1,2 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
a as createBlocProxy,
|
|
3
|
+
c as createGetterState,
|
|
4
|
+
f as hasDependencyChanges,
|
|
5
|
+
g as startDependency,
|
|
6
|
+
h as invalidateRenderCache,
|
|
7
|
+
i as commitTrackedGetters,
|
|
8
|
+
m as hasTrackedData,
|
|
9
|
+
n as DependencyManager,
|
|
10
|
+
o as createDependencyProxy,
|
|
11
|
+
p as hasGetterChanges,
|
|
12
|
+
r as capturePaths,
|
|
13
|
+
s as createDependencyState,
|
|
14
|
+
t as resolveDependencies,
|
|
15
|
+
y as shallowEqual,
|
|
16
|
+
} from './resolve-dependencies-DV3HO_uH.js';
|
|
17
|
+
export {
|
|
18
|
+
DependencyManager,
|
|
19
|
+
capturePaths,
|
|
20
|
+
commitTrackedGetters,
|
|
21
|
+
createBlocProxy,
|
|
22
|
+
createDependencyProxy,
|
|
23
|
+
createDependencyState,
|
|
24
|
+
createGetterState,
|
|
25
|
+
hasDependencyChanges,
|
|
26
|
+
hasGetterChanges,
|
|
27
|
+
hasTrackedData,
|
|
28
|
+
invalidateRenderCache,
|
|
29
|
+
resolveDependencies,
|
|
30
|
+
shallowEqual,
|
|
31
|
+
startDependency,
|
|
32
|
+
};
|
|
@@ -9,14 +9,26 @@ export type ExtractStateMutable<T> = T extends StateContainerConstructor<infer S
|
|
|
9
9
|
* Constructor type for StateContainer classes
|
|
10
10
|
* @template S - State type managed by the container
|
|
11
11
|
*/
|
|
12
|
-
export type StateContainerConstructor<S extends object = any> = new (...args: any[]) => StateContainer<S>;
|
|
12
|
+
export type StateContainerConstructor<S extends object = any> = new (...args: any[]) => StateContainer<S, any, any>;
|
|
13
|
+
/**
|
|
14
|
+
* Extract the args type (serializable construction/identity data) from a
|
|
15
|
+
* StateContainer subclass.
|
|
16
|
+
* @template T - The StateContainer constructor type
|
|
17
|
+
*/
|
|
18
|
+
export type ExtractArgs<T> = T extends new () => StateContainer<any, infer A, any> ? A : void;
|
|
19
|
+
/**
|
|
20
|
+
* Extract the deps type (injected non-serializable handles) from a
|
|
21
|
+
* StateContainer subclass.
|
|
22
|
+
* @template T - The StateContainer constructor type
|
|
23
|
+
*/
|
|
24
|
+
export type ExtractDeps<T> = T extends new () => StateContainer<any, any, infer D> ? D : Record<string, never>;
|
|
13
25
|
export type InstanceReadonlyState<T extends StateContainerConstructor = any> = Omit<InstanceType<T>, 'state'> & {
|
|
14
26
|
state: ExtractState<T>;
|
|
15
27
|
};
|
|
16
28
|
export type InstanceState<T extends StateContainerConstructor = any> = Omit<InstanceType<T>, 'state'> & {
|
|
17
29
|
state: ExtractStateMutable<T>;
|
|
18
30
|
};
|
|
19
|
-
export type StateContainerInstance<S extends object = any> = Omit<StateContainer<S>, 'state'> & {
|
|
31
|
+
export type StateContainerInstance<S extends object = any> = Omit<StateContainer<S, any, any>, 'state'> & {
|
|
20
32
|
state: Readonly<S>;
|
|
21
33
|
};
|
|
22
34
|
/**
|
|
@@ -34,7 +46,7 @@ export type BlocInstanceType<T extends abstract new (...args: any) => any> = T e
|
|
|
34
46
|
* Used for type-safe hook parameters.
|
|
35
47
|
* @template TBloc - The StateContainer instance type
|
|
36
48
|
*/
|
|
37
|
-
export type BlocConstructor<S extends object = any, T extends new (...args: any[]) => StateContainer<S> = new (...args: any[]) => StateContainer<S>> = (new (...args: any[]) => InstanceType<T>) & {
|
|
49
|
+
export type BlocConstructor<S extends object = any, T extends new (...args: any[]) => StateContainer<S, any, any> = new (...args: any[]) => StateContainer<S, any, any>> = (new (...args: any[]) => InstanceType<T>) & {
|
|
38
50
|
acquire(instanceKey?: string, ...args: any[]): InstanceType<T>;
|
|
39
51
|
borrow(instanceKey?: string, ...args: any[]): InstanceType<T> | null;
|
|
40
52
|
borrowSafe(instanceKey?: string, ...args: any[]): {
|
package/dist/types.cjs
CHANGED
package/dist/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as instanceId } from "./branded-
|
|
1
|
+
import { t as instanceId } from "./branded-DwtzSsg0.js";
|
|
2
2
|
export { instanceId };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Utility functions for accessing static properties on StateContainer classes
|
|
3
3
|
*/
|
|
4
|
+
import type { EqualityFn } from '../config';
|
|
4
5
|
import { StateContainerConstructor } from '../types/utilities';
|
|
5
6
|
/**
|
|
6
7
|
* Get a static property from a class constructor
|
|
@@ -35,3 +36,16 @@ export declare function isExcludedFromDevTools<T extends StateContainerConstruct
|
|
|
35
36
|
* @returns true if the class has `static isolated = true`
|
|
36
37
|
*/
|
|
37
38
|
export declare function isIsolatedClass<T extends StateContainerConstructor>(Type: T): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Get the per-class equality function set via `@blac({ equality })`, if any.
|
|
41
|
+
* @param Type - The class constructor to check
|
|
42
|
+
* @returns the equality function or `undefined`
|
|
43
|
+
*/
|
|
44
|
+
export declare function getClassEquality<T extends StateContainerConstructor>(Type: T): EqualityFn | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Get the per-class key function set via `@blac({ key })` or `static key = …`, if any.
|
|
47
|
+
* Used by the registry to derive a stable instance key from `args`.
|
|
48
|
+
* @param Type - The class constructor to check
|
|
49
|
+
* @returns the key function or `undefined`
|
|
50
|
+
*/
|
|
51
|
+
export declare function getClassKey(Type: unknown): ((args: any) => string) | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic, order-independent hash of serializable args.
|
|
3
|
+
* Sorts object keys so {a,b} === {b,a}.
|
|
4
|
+
* Throws (dev) if it encounters a function or non-plain object — those belong in `deps`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_STRUCTURAL_KEY = "default";
|
|
7
|
+
/**
|
|
8
|
+
* Produce a stable string key for serializable args.
|
|
9
|
+
* - `undefined` / `void` args → `'default'` sentinel (no-args blocs stay on the default key).
|
|
10
|
+
* - Object keys are sorted for order-independence.
|
|
11
|
+
* - Arrays keep their insertion order.
|
|
12
|
+
* - Functions throw — they must be passed via `deps`, not `args`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function structuralKey(args: unknown): string;
|
package/dist/watch/watch.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { StateContainerConstructor } from '../types/utilities';
|
|
2
2
|
declare const STOP: unique symbol;
|
|
3
|
+
type StopSymbol = typeof STOP;
|
|
3
4
|
declare const BLOC_REF_MARKER: unique symbol;
|
|
4
5
|
/**
|
|
5
6
|
* Reference to a specific bloc instance by class and instance ID.
|
|
@@ -25,7 +26,6 @@ type ExtractInstance<T> = T extends BlocRef<infer C> ? InstanceType<C> : T exten
|
|
|
25
26
|
type ExtractInstances<T extends readonly BlocInput[]> = {
|
|
26
27
|
[K in keyof T]: ExtractInstance<T[K]>;
|
|
27
28
|
};
|
|
28
|
-
type StopSymbol = typeof STOP;
|
|
29
29
|
/**
|
|
30
30
|
* Watch function signature for single bloc.
|
|
31
31
|
*/
|