@logixjs/core 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/{Action-mqVvtEHt.d.ts → Action-DYl88bwj.d.ts} +1 -1
- package/dist/{Action-BkRHy2vg.d.cts → Action-DkxsI_DK.d.cts} +1 -1
- package/dist/Action.cjs.map +1 -1
- package/dist/Action.d.cts +1 -1
- package/dist/Action.d.ts +1 -1
- package/dist/Action.js +2 -2
- package/dist/{Actions-AsQ07yTP.d.cts → Actions-Dicm7jdc.d.cts} +2 -2
- package/dist/{Actions-AsQ07yTP.d.ts → Actions-Dicm7jdc.d.ts} +2 -2
- package/dist/Actions.cjs.map +1 -1
- package/dist/Actions.d.cts +1 -1
- package/dist/Actions.d.ts +1 -1
- package/dist/Actions.js +1 -1
- package/dist/{Bound-BN1DQ_lM.d.ts → Bound-1OJLzVIS.d.ts} +2 -2
- package/dist/{Bound-BPIfH9SS.d.cts → Bound-BMLrtQ1V.d.cts} +2 -2
- package/dist/Bound.cjs +1737 -399
- package/dist/Bound.cjs.map +1 -1
- package/dist/Bound.d.cts +5 -5
- package/dist/Bound.d.ts +5 -5
- package/dist/Bound.js +19 -17
- package/dist/{Debug-B5q5Bkzx.d.ts → Debug-DKrWP5H1.d.ts} +40 -22
- package/dist/{Debug-Bq8Sqjcr.d.cts → Debug-hIT44XsY.d.cts} +40 -22
- package/dist/Debug.cjs +1348 -318
- package/dist/Debug.cjs.map +1 -1
- package/dist/Debug.d.cts +12 -11
- package/dist/Debug.d.ts +12 -11
- package/dist/Debug.js +20 -11
- package/dist/EffectOp.cjs +15 -6
- package/dist/EffectOp.cjs.map +1 -1
- package/dist/EffectOp.js +3 -3
- package/dist/Env.cjs +772 -6
- package/dist/Env.cjs.map +1 -1
- package/dist/Env.js +5 -2
- package/dist/ExternalStore-DqJKKRJ4.d.ts +61 -0
- package/dist/ExternalStore-JC-gAgEI.d.cts +61 -0
- package/dist/ExternalStore.cjs +774 -0
- package/dist/ExternalStore.cjs.map +1 -0
- package/dist/ExternalStore.d.cts +8 -0
- package/dist/ExternalStore.d.ts +8 -0
- package/dist/ExternalStore.js +19 -0
- package/dist/ExternalStore.js.map +1 -0
- package/dist/{Flow-BhpjE22E.d.ts → Flow-CZmXRDqp.d.cts} +13 -4
- package/dist/{Flow-1fZT8MpX.d.cts → Flow-DIVDxz7R.d.ts} +13 -4
- package/dist/Flow.cjs +765 -148
- package/dist/Flow.cjs.map +1 -1
- package/dist/Flow.d.cts +6 -6
- package/dist/Flow.d.ts +6 -6
- package/dist/Flow.js +9 -8
- package/dist/{Handle-D_cLW1Z3.d.ts → Handle-Bo6cAFut.d.ts} +1 -1
- package/dist/{Handle-D8D1zPb_.d.cts → Handle-CfDvSqN7.d.cts} +1 -1
- package/dist/Handle.d.cts +5 -5
- package/dist/Handle.d.ts +5 -5
- package/dist/{Kernel-8kC-jOda.d.cts → Kernel-CuXBF9S_.d.cts} +16 -7
- package/dist/{Kernel-CnGE1Fyk.d.ts → Kernel-D9guNwRL.d.ts} +16 -7
- package/dist/Kernel.cjs +814 -26
- package/dist/Kernel.cjs.map +1 -1
- package/dist/Kernel.d.cts +13 -12
- package/dist/Kernel.d.ts +13 -12
- package/dist/Kernel.js +7 -4
- package/dist/{Link-Db7975nU.d.ts → Link-CUM0yUCH.d.ts} +10 -3
- package/dist/{Link-fX8x1eCK.d.cts → Link-NAfR6uGD.d.cts} +10 -3
- package/dist/Link.cjs +1294 -121
- package/dist/Link.cjs.map +1 -1
- package/dist/Link.d.cts +5 -5
- package/dist/Link.d.ts +5 -5
- package/dist/Link.js +37 -29
- package/dist/{Logic-DRh4sDZj.d.cts → Logic-09VQpIj3.d.cts} +7 -4
- package/dist/{Logic-BRjEMr-W.d.ts → Logic-DKg7ghGy.d.ts} +7 -4
- package/dist/Logic.cjs +2 -1
- package/dist/Logic.cjs.map +1 -1
- package/dist/Logic.d.cts +5 -5
- package/dist/Logic.d.ts +5 -5
- package/dist/Logic.js +1 -1
- package/dist/{MatchBuilder-CJk5oCkR.d.cts → MatchBuilder-CsW5jgrL.d.ts} +1 -1
- package/dist/{MatchBuilder-0QOc-nlU.d.ts → MatchBuilder-Dksk07F4.d.cts} +1 -1
- package/dist/MatchBuilder.cjs +2 -2
- package/dist/MatchBuilder.cjs.map +1 -1
- package/dist/MatchBuilder.d.cts +6 -6
- package/dist/MatchBuilder.d.ts +6 -6
- package/dist/MatchBuilder.js +2 -2
- package/dist/Middleware-D8tUDLv_.d.cts +100 -0
- package/dist/Middleware-DS7CbTTN.d.ts +100 -0
- package/dist/Middleware.cjs +678 -58
- package/dist/Middleware.cjs.map +1 -1
- package/dist/Middleware.d.cts +2 -86
- package/dist/Middleware.d.ts +2 -86
- package/dist/Middleware.js +15 -12
- package/dist/{Module-DnzluX2J.d.ts → Module-B_Cntyms.d.ts} +54 -25
- package/dist/{Module-B_0xRDMR.d.cts → Module-CmNOVXzf.d.cts} +54 -25
- package/dist/Module.cjs +9331 -3317
- package/dist/Module.cjs.map +1 -1
- package/dist/Module.d.cts +7 -6
- package/dist/Module.d.ts +7 -6
- package/dist/Module.js +39 -31
- package/dist/ModuleTag-CGho_InD.d.ts +113 -0
- package/dist/ModuleTag-CITb8L_G.d.cts +113 -0
- package/dist/ModuleTag.cjs +7248 -2847
- package/dist/ModuleTag.cjs.map +1 -1
- package/dist/ModuleTag.d.cts +6 -6
- package/dist/ModuleTag.d.ts +6 -6
- package/dist/ModuleTag.js +35 -29
- package/dist/Observability-Bdhnx2Dv.d.ts +385 -0
- package/dist/Observability-DXGAFBIT.d.cts +385 -0
- package/dist/Observability.cjs +5093 -1556
- package/dist/Observability.cjs.map +1 -1
- package/dist/Observability.d.cts +6 -7
- package/dist/Observability.d.ts +6 -7
- package/dist/Observability.js +28 -23
- package/dist/{Platform-CHX8o-U4.d.ts → Platform-B4s8tg6C.d.cts} +4 -5
- package/dist/{Platform-C49Pv956.d.cts → Platform-BV_0MW7g.d.cts} +5 -2
- package/dist/{Platform-C49Pv956.d.ts → Platform-BV_0MW7g.d.ts} +5 -2
- package/dist/{Platform-CVlv0xLQ.d.cts → Platform-W0Mefy_e.d.ts} +4 -5
- package/dist/Platform.cjs +2 -1
- package/dist/Platform.cjs.map +1 -1
- package/dist/Platform.d.cts +2 -3
- package/dist/Platform.d.ts +2 -3
- package/dist/Platform.js +2 -2
- package/dist/{Process-CM9xbMdP.d.ts → Process-CO8G7HO9.d.cts} +30 -5
- package/dist/{Process-mL8fHDSB.d.cts → Process-Cyf6VNDR.d.ts} +30 -5
- package/dist/Process.cjs +1288 -120
- package/dist/Process.cjs.map +1 -1
- package/dist/Process.d.cts +6 -6
- package/dist/Process.d.ts +6 -6
- package/dist/Process.js +34 -26
- package/dist/ReadQuery-C_or5nLC.d.ts +128 -0
- package/dist/ReadQuery-DXLzCE0E.d.cts +614 -0
- package/dist/ReadQuery-DXLzCE0E.d.ts +614 -0
- package/dist/ReadQuery-Yve1lmUo.d.cts +128 -0
- package/dist/ReadQuery.cjs +290 -5
- package/dist/ReadQuery.cjs.map +1 -1
- package/dist/ReadQuery.d.cts +3 -2
- package/dist/ReadQuery.d.ts +3 -2
- package/dist/ReadQuery.js +23 -5
- package/dist/{Reflection-CQnKwPXj.d.ts → Reflection-B2Xi1e4Q.d.ts} +89 -7
- package/dist/{Reflection-Kabo1mlU.d.cts → Reflection-DNB4V4_e.d.cts} +89 -7
- package/dist/Reflection.cjs +3227 -1617
- package/dist/Reflection.cjs.map +1 -1
- package/dist/Reflection.d.cts +17 -15
- package/dist/Reflection.d.ts +17 -15
- package/dist/Reflection.js +33 -25
- package/dist/{Resource-Dy1xD_DG.d.cts → Resource-pKvQQ4x5.d.cts} +3 -3
- package/dist/{Resource-Dy1xD_DG.d.ts → Resource-pKvQQ4x5.d.ts} +3 -3
- package/dist/Resource.cjs +781 -15
- package/dist/Resource.cjs.map +1 -1
- package/dist/Resource.d.cts +1 -1
- package/dist/Resource.d.ts +1 -1
- package/dist/Resource.js +6 -3
- package/dist/{Root-7ADUMk4t.d.cts → Root-CCVuFHB6.d.cts} +3 -3
- package/dist/{Root-7ADUMk4t.d.ts → Root-CCVuFHB6.d.ts} +3 -3
- package/dist/Root.cjs +786 -20
- package/dist/Root.cjs.map +1 -1
- package/dist/Root.d.cts +2 -2
- package/dist/Root.d.ts +2 -2
- package/dist/Root.js +7 -3
- package/dist/{Runtime-CtyzZG4i.d.ts → Runtime-CRmvwK4I.d.ts} +70 -14
- package/dist/{Runtime-B-aL-f29.d.cts → Runtime-C_wJM9mN.d.cts} +70 -14
- package/dist/Runtime.cjs +4942 -1601
- package/dist/Runtime.cjs.map +1 -1
- package/dist/Runtime.d.cts +17 -15
- package/dist/Runtime.d.ts +17 -15
- package/dist/Runtime.js +44 -32
- package/dist/{ScopeRegistry-D1owDNSm.d.cts → ScopeRegistry-BhYzqWri.d.cts} +6 -6
- package/dist/{ScopeRegistry-D1owDNSm.d.ts → ScopeRegistry-BhYzqWri.d.ts} +6 -6
- package/dist/ScopeRegistry.cjs +776 -10
- package/dist/ScopeRegistry.cjs.map +1 -1
- package/dist/ScopeRegistry.d.cts +1 -1
- package/dist/ScopeRegistry.d.ts +1 -1
- package/dist/ScopeRegistry.js +6 -3
- package/dist/{State-CU50R26M.d.cts → State-rNFsFPTl.d.cts} +2 -2
- package/dist/{State-CU50R26M.d.ts → State-rNFsFPTl.d.ts} +2 -2
- package/dist/State.cjs.map +1 -1
- package/dist/State.d.cts +1 -1
- package/dist/State.d.ts +1 -1
- package/dist/State.js +1 -1
- package/dist/{StateTrait-BGsZghTz.d.ts → StateTrait-CijdwNb6.d.ts} +25 -8
- package/dist/{StateTrait-OWhbj12c.d.cts → StateTrait-Dltto6PU.d.cts} +25 -8
- package/dist/StateTrait.cjs +1890 -528
- package/dist/StateTrait.cjs.map +1 -1
- package/dist/StateTrait.d.cts +9 -7
- package/dist/StateTrait.d.ts +9 -7
- package/dist/StateTrait.js +18 -14
- package/dist/{TraitLifecycle-CwV5WPFX.d.cts → TraitLifecycle-BKzDqzLu.d.cts} +2 -2
- package/dist/{TraitLifecycle-LdIWmKlg.d.ts → TraitLifecycle-Cvo94uDB.d.ts} +2 -2
- package/dist/TraitLifecycle.cjs +630 -67
- package/dist/TraitLifecycle.cjs.map +1 -1
- package/dist/TraitLifecycle.d.cts +6 -6
- package/dist/TraitLifecycle.d.ts +6 -6
- package/dist/TraitLifecycle.js +8 -7
- package/dist/Workflow-C_OWr4dV.d.ts +415 -0
- package/dist/Workflow-DmydkHO8.d.cts +415 -0
- package/dist/Workflow.cjs +3150 -0
- package/dist/Workflow.cjs.map +1 -0
- package/dist/Workflow.d.cts +7 -0
- package/dist/Workflow.d.ts +7 -0
- package/dist/Workflow.js +58 -0
- package/dist/Workflow.js.map +1 -0
- package/dist/{action-DiMDD_0v.d.cts → action-BQxjPFEw.d.cts} +5 -5
- package/dist/{action-DiMDD_0v.d.ts → action-BQxjPFEw.d.ts} +5 -5
- package/dist/chunk-2XRLXDWR.js +276 -0
- package/dist/chunk-2XRLXDWR.js.map +1 -0
- package/dist/chunk-3L6QGFMM.js +701 -0
- package/dist/chunk-3L6QGFMM.js.map +1 -0
- package/dist/{chunk-GMPEOUP2.js → chunk-4MZ7BT3R.js} +2 -2
- package/dist/chunk-4MZ7BT3R.js.map +1 -0
- package/dist/{chunk-3IYZ5IGG.js → chunk-5WKUGEBY.js} +2 -2
- package/dist/{chunk-3RMKLXHX.js → chunk-63ZQ5RIN.js} +2 -2
- package/dist/{chunk-M3WTHJHJ.js → chunk-67DIEA53.js} +385 -148
- package/dist/chunk-67DIEA53.js.map +1 -0
- package/dist/{chunk-YS3AZQ2G.js → chunk-6HFAW2MH.js} +1 -1
- package/dist/chunk-6HFAW2MH.js.map +1 -0
- package/dist/{chunk-EY4NZKDR.js → chunk-6Y2TKCNY.js} +2 -2
- package/dist/{chunk-76WT3HOR.js → chunk-6YZOXFPQ.js} +25 -24
- package/dist/chunk-6YZOXFPQ.js.map +1 -0
- package/dist/{chunk-G5ZBFPNU.js → chunk-A2RQOJC7.js} +2 -2
- package/dist/{chunk-AUIR5O6W.js → chunk-AFSB6NKM.js} +13 -19
- package/dist/chunk-AFSB6NKM.js.map +1 -0
- package/dist/{chunk-JCXGZRMU.js → chunk-AO4JEOKD.js} +22 -23
- package/dist/chunk-AO4JEOKD.js.map +1 -0
- package/dist/{chunk-TAAPQVZN.js → chunk-AYELIQXR.js} +2 -2
- package/dist/{chunk-QMM6O4CD.js → chunk-BLHZW7DG.js} +15 -3
- package/dist/{chunk-QMM6O4CD.js.map → chunk-BLHZW7DG.js.map} +1 -1
- package/dist/{chunk-TQOBJYDP.js → chunk-CD4N74YC.js} +1 -1
- package/dist/chunk-CD4N74YC.js.map +1 -0
- package/dist/{chunk-ANLBCBDC.js → chunk-CGE2HBTH.js} +11 -11
- package/dist/chunk-CGE2HBTH.js.map +1 -0
- package/dist/{chunk-OFADUJWJ.js → chunk-CYYSQMLO.js} +5 -5
- package/dist/chunk-CYYSQMLO.js.map +1 -0
- package/dist/{chunk-66ALHVEX.js → chunk-EB46EYI7.js} +3 -3
- package/dist/{chunk-NZJKFF45.js → chunk-EKCDHWRK.js} +4 -4
- package/dist/chunk-EKCDHWRK.js.map +1 -0
- package/dist/{chunk-BABLDP24.js → chunk-EPQFNJU3.js} +152 -7
- package/dist/chunk-EPQFNJU3.js.map +1 -0
- package/dist/{chunk-OGWBVHB3.js → chunk-ESR6HGOY.js} +73 -14
- package/dist/chunk-ESR6HGOY.js.map +1 -0
- package/dist/{chunk-NBD3KUOZ.js → chunk-F6RP62H3.js} +150 -98
- package/dist/chunk-F6RP62H3.js.map +1 -0
- package/dist/chunk-FBYW3QDI.js +252 -0
- package/dist/chunk-FBYW3QDI.js.map +1 -0
- package/dist/{chunk-IPF7E66P.js → chunk-FYAODKVP.js} +2 -2
- package/dist/chunk-GNEN7NKO.js +908 -0
- package/dist/chunk-GNEN7NKO.js.map +1 -0
- package/dist/chunk-GWSM4KLB.js +763 -0
- package/dist/chunk-GWSM4KLB.js.map +1 -0
- package/dist/{chunk-4SO6JMZL.js → chunk-HDMXCUZL.js} +1 -1
- package/dist/chunk-HDMXCUZL.js.map +1 -0
- package/dist/{chunk-ZFY7U2FR.js → chunk-HJM5Y5NU.js} +43 -3
- package/dist/chunk-HJM5Y5NU.js.map +1 -0
- package/dist/{chunk-ZGDVUPTM.js → chunk-IOZ3VKPK.js} +129 -68
- package/dist/chunk-IOZ3VKPK.js.map +1 -0
- package/dist/{chunk-PYOE4VSI.js → chunk-IVXSVHO4.js} +303 -247
- package/dist/chunk-IVXSVHO4.js.map +1 -0
- package/dist/chunk-J3CWXIPV.js +242 -0
- package/dist/chunk-J3CWXIPV.js.map +1 -0
- package/dist/chunk-K6JQW266.js +42 -0
- package/dist/chunk-K6JQW266.js.map +1 -0
- package/dist/chunk-KMZYQF6Q.js +202 -0
- package/dist/chunk-KMZYQF6Q.js.map +1 -0
- package/dist/{chunk-JWOYLO27.js → chunk-LPPZDFTD.js} +22 -12
- package/dist/chunk-LPPZDFTD.js.map +1 -0
- package/dist/{chunk-PAYXCY6A.js → chunk-MYB2B5WX.js} +997 -576
- package/dist/chunk-MYB2B5WX.js.map +1 -0
- package/dist/chunk-MYKNINNN.js +228 -0
- package/dist/chunk-MYKNINNN.js.map +1 -0
- package/dist/chunk-NSQIRMVF.js +27 -0
- package/dist/{chunk-QCHIQWAJ.js.map → chunk-NSQIRMVF.js.map} +1 -1
- package/dist/chunk-NUDBM4MM.js +30 -0
- package/dist/chunk-NUDBM4MM.js.map +1 -0
- package/dist/chunk-NZMWWDAY.js +23 -0
- package/dist/chunk-NZMWWDAY.js.map +1 -0
- package/dist/{chunk-RNFE3ML2.js → chunk-OCUV2Y25.js} +4 -3
- package/dist/chunk-OCUV2Y25.js.map +1 -0
- package/dist/chunk-P4ZJOQA7.js +271 -0
- package/dist/chunk-P4ZJOQA7.js.map +1 -0
- package/dist/chunk-P6C5EZ3D.js +342 -0
- package/dist/chunk-P6C5EZ3D.js.map +1 -0
- package/dist/{chunk-CW6T36TN.js → chunk-PBD7BJUN.js} +62 -4
- package/dist/chunk-PBD7BJUN.js.map +1 -0
- package/dist/chunk-PBIUCQY3.js +696 -0
- package/dist/chunk-PBIUCQY3.js.map +1 -0
- package/dist/chunk-PD6YECQH.js +845 -0
- package/dist/chunk-PD6YECQH.js.map +1 -0
- package/dist/{chunk-M7IYCTJV.js → chunk-R4LFQGP3.js} +2 -2
- package/dist/chunk-RHJIGDUE.js +21 -0
- package/dist/chunk-RHJIGDUE.js.map +1 -0
- package/dist/{chunk-KP7MUZNX.js → chunk-RLXO27MW.js} +30 -8
- package/dist/chunk-RLXO27MW.js.map +1 -0
- package/dist/{chunk-DFNM3WX2.js → chunk-S44BEV4B.js} +168 -45
- package/dist/chunk-S44BEV4B.js.map +1 -0
- package/dist/chunk-S4S5N4BJ.js +1461 -0
- package/dist/chunk-S4S5N4BJ.js.map +1 -0
- package/dist/{chunk-BZ2SHDN2.js → chunk-SGTRAXXX.js} +3 -3
- package/dist/chunk-SGTRAXXX.js.map +1 -0
- package/dist/{chunk-M2RGJPXX.js → chunk-SJAE5PB5.js} +3 -3
- package/dist/{chunk-JGIWG6SR.js → chunk-SNPNHU3H.js} +3937 -1776
- package/dist/chunk-SNPNHU3H.js.map +1 -0
- package/dist/{chunk-IHVBV5C2.js → chunk-SOOBFXRR.js} +94 -71
- package/dist/chunk-SOOBFXRR.js.map +1 -0
- package/dist/{chunk-ZDTRWK5F.js → chunk-TAHFWKS6.js} +2 -2
- package/dist/chunk-UEFFTVPY.js +9 -0
- package/dist/chunk-UEFFTVPY.js.map +1 -0
- package/dist/{chunk-24VULZ7A.js → chunk-UR5BXLBP.js} +3 -3
- package/dist/chunk-UR5BXLBP.js.map +1 -0
- package/dist/{chunk-DMBALCE2.js → chunk-V2SBGVDO.js} +471 -186
- package/dist/chunk-V2SBGVDO.js.map +1 -0
- package/dist/chunk-VJLWD47W.js +23 -0
- package/dist/chunk-VJLWD47W.js.map +1 -0
- package/dist/{chunk-4CQAV7YB.js → chunk-W647DX5Z.js} +2 -2
- package/dist/{chunk-THATMZXD.js → chunk-WFIIU3YZ.js} +2 -2
- package/dist/{chunk-THATMZXD.js.map → chunk-WFIIU3YZ.js.map} +1 -1
- package/dist/chunk-YZDJMAKL.js +82 -0
- package/dist/chunk-YZDJMAKL.js.map +1 -0
- package/dist/{chunk-3TMODYZV.js → chunk-Z5XH6VHY.js} +5 -5
- package/dist/chunk-Z5XH6VHY.js.map +1 -0
- package/dist/{chunk-BE3HW4FY.js → chunk-ZBBMZMA6.js} +377 -170
- package/dist/chunk-ZBBMZMA6.js.map +1 -0
- package/dist/index.cjs +21224 -11714
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +195 -49
- package/dist/index.d.ts +195 -49
- package/dist/index.js +150 -74
- package/dist/index.js.map +1 -1
- package/dist/{ir-BMP7yxJJ.d.cts → ir-BSosEwc8.d.cts} +1 -1
- package/dist/{ir-DUOz6H-5.d.ts → ir-D-uqwL_4.d.ts} +1 -1
- package/dist/{module-B8CBqIZ_.d.cts → module-Ds4tarcI.d.cts} +230 -140
- package/dist/{module-k7m3txak.d.ts → module-Zd1Gn-Nj.d.ts} +230 -140
- package/package.json +20 -4
- package/dist/ModuleTag-C8FHY_sY.d.ts +0 -93
- package/dist/ModuleTag-EGbgBMpZ.d.cts +0 -93
- package/dist/Observability-COqEvp2C.d.cts +0 -713
- package/dist/Observability-cY4kLn0S.d.ts +0 -713
- package/dist/ReadQuery-BlMwhe-F.d.ts +0 -30
- package/dist/ReadQuery-CL5XlXts.d.cts +0 -30
- package/dist/ReadQuery-SinbStGF.d.cts +0 -38
- package/dist/ReadQuery-SinbStGF.d.ts +0 -38
- package/dist/chunk-24VULZ7A.js.map +0 -1
- package/dist/chunk-3QMIVH35.js +0 -43
- package/dist/chunk-3QMIVH35.js.map +0 -1
- package/dist/chunk-3TMODYZV.js.map +0 -1
- package/dist/chunk-4SO6JMZL.js.map +0 -1
- package/dist/chunk-76WT3HOR.js.map +0 -1
- package/dist/chunk-ANLBCBDC.js.map +0 -1
- package/dist/chunk-AUIR5O6W.js.map +0 -1
- package/dist/chunk-BABLDP24.js.map +0 -1
- package/dist/chunk-BE3HW4FY.js.map +0 -1
- package/dist/chunk-BZ2SHDN2.js.map +0 -1
- package/dist/chunk-CW6T36TN.js.map +0 -1
- package/dist/chunk-DFNM3WX2.js.map +0 -1
- package/dist/chunk-DMBALCE2.js.map +0 -1
- package/dist/chunk-EGK3KN7B.js +0 -406
- package/dist/chunk-EGK3KN7B.js.map +0 -1
- package/dist/chunk-GMPEOUP2.js.map +0 -1
- package/dist/chunk-IHVBV5C2.js.map +0 -1
- package/dist/chunk-JCXGZRMU.js.map +0 -1
- package/dist/chunk-JGIWG6SR.js.map +0 -1
- package/dist/chunk-JWOYLO27.js.map +0 -1
- package/dist/chunk-KIXAU3GM.js +0 -137
- package/dist/chunk-KIXAU3GM.js.map +0 -1
- package/dist/chunk-KL5ACTCT.js +0 -8
- package/dist/chunk-KL5ACTCT.js.map +0 -1
- package/dist/chunk-KP7MUZNX.js.map +0 -1
- package/dist/chunk-M3BFQ7HK.js +0 -13
- package/dist/chunk-M3BFQ7HK.js.map +0 -1
- package/dist/chunk-M3WTHJHJ.js.map +0 -1
- package/dist/chunk-NBD3KUOZ.js.map +0 -1
- package/dist/chunk-NQZ2OSGR.js +0 -151
- package/dist/chunk-NQZ2OSGR.js.map +0 -1
- package/dist/chunk-NZJKFF45.js.map +0 -1
- package/dist/chunk-OFADUJWJ.js.map +0 -1
- package/dist/chunk-OGWBVHB3.js.map +0 -1
- package/dist/chunk-PAYXCY6A.js.map +0 -1
- package/dist/chunk-PYOE4VSI.js.map +0 -1
- package/dist/chunk-QCHIQWAJ.js +0 -21
- package/dist/chunk-RNFE3ML2.js.map +0 -1
- package/dist/chunk-TKZ7MEIA.js +0 -27
- package/dist/chunk-TKZ7MEIA.js.map +0 -1
- package/dist/chunk-TQOBJYDP.js.map +0 -1
- package/dist/chunk-VZB726PE.js +0 -93
- package/dist/chunk-VZB726PE.js.map +0 -1
- package/dist/chunk-W3TEWHLO.js +0 -568
- package/dist/chunk-W3TEWHLO.js.map +0 -1
- package/dist/chunk-YS3AZQ2G.js.map +0 -1
- package/dist/chunk-ZFLHVFUC.js +0 -192
- package/dist/chunk-ZFLHVFUC.js.map +0 -1
- package/dist/chunk-ZFY7U2FR.js.map +0 -1
- package/dist/chunk-ZGDVUPTM.js.map +0 -1
- package/dist/protocol-g_1897M2.d.cts +0 -127
- package/dist/protocol-g_1897M2.d.ts +0 -127
- /package/dist/{chunk-3IYZ5IGG.js.map → chunk-5WKUGEBY.js.map} +0 -0
- /package/dist/{chunk-3RMKLXHX.js.map → chunk-63ZQ5RIN.js.map} +0 -0
- /package/dist/{chunk-EY4NZKDR.js.map → chunk-6Y2TKCNY.js.map} +0 -0
- /package/dist/{chunk-G5ZBFPNU.js.map → chunk-A2RQOJC7.js.map} +0 -0
- /package/dist/{chunk-TAAPQVZN.js.map → chunk-AYELIQXR.js.map} +0 -0
- /package/dist/{chunk-66ALHVEX.js.map → chunk-EB46EYI7.js.map} +0 -0
- /package/dist/{chunk-IPF7E66P.js.map → chunk-FYAODKVP.js.map} +0 -0
- /package/dist/{chunk-M7IYCTJV.js.map → chunk-R4LFQGP3.js.map} +0 -0
- /package/dist/{chunk-M2RGJPXX.js.map → chunk-SJAE5PB5.js.map} +0 -0
- /package/dist/{chunk-ZDTRWK5F.js.map → chunk-TAHFWKS6.js.map} +0 -0
- /package/dist/{chunk-4CQAV7YB.js.map → chunk-W647DX5Z.js.map} +0 -0
package/dist/TraitLifecycle.cjs
CHANGED
|
@@ -20,7 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/TraitLifecycle.ts
|
|
21
21
|
var TraitLifecycle_exports = {};
|
|
22
22
|
__export(TraitLifecycle_exports, {
|
|
23
|
-
Ref: () =>
|
|
23
|
+
Ref: () => Ref4,
|
|
24
24
|
cleanup: () => cleanup2,
|
|
25
25
|
install: () => install2,
|
|
26
26
|
makeSourceWiring: () => makeSourceWiring2,
|
|
@@ -30,12 +30,12 @@ __export(TraitLifecycle_exports, {
|
|
|
30
30
|
module.exports = __toCommonJS(TraitLifecycle_exports);
|
|
31
31
|
|
|
32
32
|
// src/internal/trait-lifecycle/index.ts
|
|
33
|
-
var
|
|
33
|
+
var import_effect11 = require("effect");
|
|
34
34
|
|
|
35
35
|
// src/internal/runtime/core/TaskRunner.ts
|
|
36
|
-
var
|
|
36
|
+
var import_effect9 = require("effect");
|
|
37
37
|
|
|
38
|
-
// src/internal/runtime/core/DebugSink.ts
|
|
38
|
+
// src/internal/runtime/core/DebugSink.record.ts
|
|
39
39
|
var import_effect3 = require("effect");
|
|
40
40
|
|
|
41
41
|
// src/internal/observability/jsonValue.ts
|
|
@@ -53,29 +53,53 @@ var import_effect = require("effect");
|
|
|
53
53
|
|
|
54
54
|
// src/internal/runtime/core/EffectOpCore.ts
|
|
55
55
|
var import_effect2 = require("effect");
|
|
56
|
-
var currentLinkId = import_effect2.
|
|
57
|
-
|
|
56
|
+
var currentLinkId = import_effect2.ServiceMap.Reference("@logixjs/core/CurrentLinkId", {
|
|
57
|
+
defaultValue: () => void 0
|
|
58
|
+
});
|
|
59
|
+
var EffectOpMiddlewareTag = class extends import_effect2.ServiceMap.Service()("Logix/EffectOpMiddleware") {
|
|
58
60
|
};
|
|
59
61
|
|
|
60
|
-
// src/internal/runtime/core/DebugSink.ts
|
|
61
|
-
var currentDebugSinks = import_effect3.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
var
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
// src/internal/runtime/core/DebugSink.record.ts
|
|
63
|
+
var currentDebugSinks = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentDebugSinks", {
|
|
64
|
+
defaultValue: () => []
|
|
65
|
+
});
|
|
66
|
+
var currentRuntimeLabel = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentRuntimeLabel", {
|
|
67
|
+
defaultValue: () => void 0
|
|
68
|
+
});
|
|
69
|
+
var currentTxnId = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentTxnId", {
|
|
70
|
+
defaultValue: () => void 0
|
|
71
|
+
});
|
|
72
|
+
var currentOpSeq = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentOpSeq", {
|
|
73
|
+
defaultValue: () => void 0
|
|
69
74
|
});
|
|
75
|
+
var currentDiagnosticsLevel = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentDiagnosticsLevel", {
|
|
76
|
+
defaultValue: () => "off"
|
|
77
|
+
});
|
|
78
|
+
var currentDiagnosticsMaterialization = import_effect3.ServiceMap.Reference(
|
|
79
|
+
"@logixjs/core/Debug.currentDiagnosticsMaterialization",
|
|
80
|
+
{
|
|
81
|
+
defaultValue: () => "eager"
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
var currentTraceMode = import_effect3.ServiceMap.Reference("@logixjs/core/Debug.currentTraceMode", {
|
|
85
|
+
defaultValue: () => "on"
|
|
86
|
+
});
|
|
87
|
+
var currentTraitConvergeDiagnosticsSampling = import_effect3.ServiceMap.Reference(
|
|
88
|
+
"@logixjs/core/Debug.currentTraitConvergeDiagnosticsSampling",
|
|
89
|
+
{
|
|
90
|
+
defaultValue: () => ({
|
|
91
|
+
sampleEveryN: 32,
|
|
92
|
+
topK: 3
|
|
93
|
+
})
|
|
94
|
+
}
|
|
95
|
+
);
|
|
70
96
|
var browserLifecycleSeen = /* @__PURE__ */ new Set();
|
|
71
97
|
var browserDiagnosticSeen = /* @__PURE__ */ new Set();
|
|
72
98
|
var lifecycleErrorLog = (event) => {
|
|
73
99
|
const moduleId = event.moduleId ?? "unknown";
|
|
74
100
|
const causePretty = (() => {
|
|
75
101
|
try {
|
|
76
|
-
return import_effect3.Cause.pretty(event.cause
|
|
77
|
-
renderErrorCause: true
|
|
78
|
-
});
|
|
102
|
+
return import_effect3.Cause.pretty(event.cause);
|
|
79
103
|
} catch {
|
|
80
104
|
try {
|
|
81
105
|
return JSON.stringify(event.cause, null, 2);
|
|
@@ -116,15 +140,15 @@ ${detail}`;
|
|
|
116
140
|
}
|
|
117
141
|
return base.pipe(import_effect3.Effect.annotateLogs(annotations));
|
|
118
142
|
};
|
|
119
|
-
var noopLayer = import_effect3.Layer.
|
|
143
|
+
var noopLayer = import_effect3.Layer.succeed(currentDebugSinks, []);
|
|
120
144
|
var errorOnlySink = {
|
|
121
145
|
record: (event) => event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" && event.severity !== "info" ? diagnosticLog(event) : import_effect3.Effect.void
|
|
122
146
|
};
|
|
123
|
-
var errorOnlyLayer = import_effect3.Layer.
|
|
147
|
+
var errorOnlyLayer = import_effect3.Layer.succeed(currentDebugSinks, [errorOnlySink]);
|
|
124
148
|
var consoleSink = {
|
|
125
149
|
record: (event) => event.type === "lifecycle:error" ? lifecycleErrorLog(event) : event.type === "diagnostic" ? diagnosticLog(event) : import_effect3.Effect.logDebug({ debugEvent: event })
|
|
126
150
|
};
|
|
127
|
-
var consoleLayer = import_effect3.Layer.
|
|
151
|
+
var consoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [consoleSink]);
|
|
128
152
|
var isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
|
|
129
153
|
var renderBrowserConsoleEvent = (event) => {
|
|
130
154
|
if (typeof event.type === "string" && event.type.startsWith("trace:")) {
|
|
@@ -150,7 +174,7 @@ var renderBrowserConsoleEvent = (event) => {
|
|
|
150
174
|
const moduleId = event.moduleId ?? "unknown";
|
|
151
175
|
const causePretty = (() => {
|
|
152
176
|
try {
|
|
153
|
-
return import_effect3.Cause.pretty(event.cause
|
|
177
|
+
return import_effect3.Cause.pretty(event.cause);
|
|
154
178
|
} catch {
|
|
155
179
|
try {
|
|
156
180
|
return JSON.stringify(event.cause, null, 2);
|
|
@@ -216,7 +240,7 @@ var browserConsoleSink = {
|
|
|
216
240
|
return renderBrowserConsoleEvent(event);
|
|
217
241
|
}
|
|
218
242
|
};
|
|
219
|
-
var browserConsoleLayer = import_effect3.Layer.
|
|
243
|
+
var browserConsoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [browserConsoleSink]);
|
|
220
244
|
var browserDiagnosticConsoleSink = {
|
|
221
245
|
record: (event) => {
|
|
222
246
|
if (!isBrowser) {
|
|
@@ -225,14 +249,520 @@ var browserDiagnosticConsoleSink = {
|
|
|
225
249
|
return event.type === "lifecycle:error" || event.type === "diagnostic" && event.severity !== "info" ? renderBrowserConsoleEvent(event) : import_effect3.Effect.void;
|
|
226
250
|
}
|
|
227
251
|
};
|
|
228
|
-
var browserDiagnosticConsoleLayer = import_effect3.Layer.
|
|
229
|
-
var browserPrettyLoggerLayer = import_effect3.
|
|
230
|
-
import_effect3.Logger.
|
|
231
|
-
import_effect3.
|
|
252
|
+
var browserDiagnosticConsoleLayer = import_effect3.Layer.succeed(currentDebugSinks, [browserDiagnosticConsoleSink]);
|
|
253
|
+
var browserPrettyLoggerLayer = import_effect3.Layer.effect(
|
|
254
|
+
import_effect3.Logger.CurrentLoggers,
|
|
255
|
+
import_effect3.Effect.gen(function* () {
|
|
256
|
+
const current = yield* import_effect3.Effect.service(import_effect3.Logger.CurrentLoggers);
|
|
257
|
+
return new Set(
|
|
258
|
+
[...current].filter((logger) => logger !== import_effect3.Logger.defaultLogger).concat(import_effect3.Logger.consolePretty({ mode: "browser", colors: true }))
|
|
259
|
+
);
|
|
260
|
+
})
|
|
232
261
|
);
|
|
233
262
|
|
|
234
263
|
// src/internal/runtime/core/env.ts
|
|
264
|
+
var import_effect6 = require("effect");
|
|
265
|
+
|
|
266
|
+
// src/internal/runtime/core/HostScheduler.ts
|
|
267
|
+
var noopCancel = () => {
|
|
268
|
+
};
|
|
269
|
+
var safeNowMs = () => {
|
|
270
|
+
const perf = globalThis.performance;
|
|
271
|
+
if (perf && typeof perf.now === "function") {
|
|
272
|
+
try {
|
|
273
|
+
const v = perf.now();
|
|
274
|
+
if (typeof v === "number" && Number.isFinite(v)) return v;
|
|
275
|
+
} catch {
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return Date.now();
|
|
279
|
+
};
|
|
280
|
+
var safeQueueMicrotask = (cb) => {
|
|
281
|
+
const qm = globalThis.queueMicrotask;
|
|
282
|
+
if (typeof qm === "function") {
|
|
283
|
+
try {
|
|
284
|
+
qm(cb);
|
|
285
|
+
return;
|
|
286
|
+
} catch {
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
try {
|
|
290
|
+
Promise.resolve().then(cb);
|
|
291
|
+
} catch {
|
|
292
|
+
setTimeout(cb, 0);
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
var safeSetTimeout = (ms, cb) => {
|
|
296
|
+
const id = setTimeout(cb, ms);
|
|
297
|
+
return () => {
|
|
298
|
+
try {
|
|
299
|
+
clearTimeout(id);
|
|
300
|
+
} catch {
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
var makeMessageChannelMacrotask = () => {
|
|
305
|
+
const MC = globalThis.MessageChannel;
|
|
306
|
+
if (typeof MC !== "function") return void 0;
|
|
307
|
+
let channel;
|
|
308
|
+
try {
|
|
309
|
+
channel = new MC();
|
|
310
|
+
} catch {
|
|
311
|
+
return void 0;
|
|
312
|
+
}
|
|
313
|
+
const queue = [];
|
|
314
|
+
let scheduled = false;
|
|
315
|
+
const flush = () => {
|
|
316
|
+
scheduled = false;
|
|
317
|
+
const tasks = queue.splice(0, queue.length);
|
|
318
|
+
for (const t of tasks) {
|
|
319
|
+
if (t.canceled) continue;
|
|
320
|
+
try {
|
|
321
|
+
t.cb();
|
|
322
|
+
} catch {
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
try {
|
|
327
|
+
channel.port1.onmessage = flush;
|
|
328
|
+
} catch {
|
|
329
|
+
return void 0;
|
|
330
|
+
}
|
|
331
|
+
const schedule = (cb) => {
|
|
332
|
+
const task = { canceled: false, cb };
|
|
333
|
+
queue.push(task);
|
|
334
|
+
if (!scheduled) {
|
|
335
|
+
scheduled = true;
|
|
336
|
+
try {
|
|
337
|
+
channel.port2.postMessage(void 0);
|
|
338
|
+
} catch {
|
|
339
|
+
scheduled = false;
|
|
340
|
+
return safeSetTimeout(0, cb);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return () => {
|
|
344
|
+
task.canceled = true;
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
return schedule;
|
|
348
|
+
};
|
|
349
|
+
var makeSetImmediateMacrotask = () => {
|
|
350
|
+
const si = globalThis.setImmediate;
|
|
351
|
+
const ci = globalThis.clearImmediate;
|
|
352
|
+
if (typeof si !== "function") return void 0;
|
|
353
|
+
return (cb) => {
|
|
354
|
+
let id;
|
|
355
|
+
try {
|
|
356
|
+
id = si(cb);
|
|
357
|
+
} catch {
|
|
358
|
+
return safeSetTimeout(0, cb);
|
|
359
|
+
}
|
|
360
|
+
return () => {
|
|
361
|
+
if (typeof ci !== "function") return;
|
|
362
|
+
try {
|
|
363
|
+
ci(id);
|
|
364
|
+
} catch {
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
};
|
|
368
|
+
};
|
|
369
|
+
var makeRaf = () => {
|
|
370
|
+
const raf = globalThis.requestAnimationFrame;
|
|
371
|
+
const cancel = globalThis.cancelAnimationFrame;
|
|
372
|
+
if (typeof raf !== "function") return void 0;
|
|
373
|
+
return (cb) => {
|
|
374
|
+
let id;
|
|
375
|
+
try {
|
|
376
|
+
id = raf(cb);
|
|
377
|
+
} catch {
|
|
378
|
+
return noopCancel;
|
|
379
|
+
}
|
|
380
|
+
return () => {
|
|
381
|
+
if (typeof cancel !== "function") return;
|
|
382
|
+
try {
|
|
383
|
+
cancel(id);
|
|
384
|
+
} catch {
|
|
385
|
+
}
|
|
386
|
+
};
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
var makeDefaultHostScheduler = () => {
|
|
390
|
+
const macrotask = makeSetImmediateMacrotask() ?? makeMessageChannelMacrotask() ?? ((cb) => safeSetTimeout(0, cb));
|
|
391
|
+
const raf = makeRaf();
|
|
392
|
+
return {
|
|
393
|
+
nowMs: safeNowMs,
|
|
394
|
+
scheduleMicrotask: safeQueueMicrotask,
|
|
395
|
+
scheduleMacrotask: macrotask,
|
|
396
|
+
scheduleAnimationFrame: (cb) => raf?.(cb) ?? macrotask(cb),
|
|
397
|
+
scheduleTimeout: safeSetTimeout
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
var globalHostScheduler;
|
|
401
|
+
var getGlobalHostScheduler = () => {
|
|
402
|
+
globalHostScheduler ?? (globalHostScheduler = makeDefaultHostScheduler());
|
|
403
|
+
return globalHostScheduler;
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
// src/internal/runtime/core/RuntimeStore.ts
|
|
407
|
+
var parseTopicKey = (topicKey) => {
|
|
408
|
+
const idx = topicKey.indexOf("::");
|
|
409
|
+
if (idx <= 0) return void 0;
|
|
410
|
+
const moduleId = topicKey.slice(0, idx);
|
|
411
|
+
const rest = topicKey.slice(idx + 2);
|
|
412
|
+
if (rest.length === 0) return void 0;
|
|
413
|
+
const idx2 = rest.indexOf("::");
|
|
414
|
+
if (idx2 < 0) {
|
|
415
|
+
return { kind: "module", moduleInstanceKey: `${moduleId}::${rest}` };
|
|
416
|
+
}
|
|
417
|
+
const instanceId = rest.slice(0, idx2);
|
|
418
|
+
const suffix = rest.slice(idx2 + 2);
|
|
419
|
+
if (suffix.startsWith("rq:")) {
|
|
420
|
+
const selectorId = suffix.slice("rq:".length);
|
|
421
|
+
if (selectorId.length === 0) return void 0;
|
|
422
|
+
return {
|
|
423
|
+
kind: "readQuery",
|
|
424
|
+
moduleInstanceKey: `${moduleId}::${instanceId}`,
|
|
425
|
+
selectorId
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
return { kind: "module", moduleInstanceKey: `${moduleId}::${instanceId}` };
|
|
429
|
+
};
|
|
430
|
+
var EMPTY_LISTENER_SNAPSHOT = [];
|
|
431
|
+
var NO_CHANGED_TOPIC_LISTENERS = [];
|
|
432
|
+
var makeRuntimeStore = () => {
|
|
433
|
+
let tickSeq = 0;
|
|
434
|
+
const moduleStates = /* @__PURE__ */ new Map();
|
|
435
|
+
const topicVersions = /* @__PURE__ */ new Map();
|
|
436
|
+
const topicPriorities = /* @__PURE__ */ new Map();
|
|
437
|
+
const listenersByTopic = /* @__PURE__ */ new Map();
|
|
438
|
+
const subscriberCountByModule = /* @__PURE__ */ new Map();
|
|
439
|
+
const getTopicVersion = (topicKey) => topicVersions.get(topicKey) ?? 0;
|
|
440
|
+
const getTopicPriority = (topicKey) => topicPriorities.get(topicKey) ?? "normal";
|
|
441
|
+
const commitTopicBump = (topicKey, priority) => {
|
|
442
|
+
const prev = topicVersions.get(topicKey) ?? 0;
|
|
443
|
+
topicVersions.set(topicKey, prev + 1);
|
|
444
|
+
topicPriorities.set(topicKey, priority);
|
|
445
|
+
};
|
|
446
|
+
const refreshTopicSnapshot = (state) => {
|
|
447
|
+
state.snapshot = Array.from(state.listeners);
|
|
448
|
+
};
|
|
449
|
+
const subscribeTopic = (topicKey, listener) => {
|
|
450
|
+
const info = parseTopicKey(topicKey);
|
|
451
|
+
const existing = listenersByTopic.get(topicKey);
|
|
452
|
+
const state = existing ?? { listeners: /* @__PURE__ */ new Set(), snapshot: EMPTY_LISTENER_SNAPSHOT };
|
|
453
|
+
const alreadyHas = state.listeners.has(listener);
|
|
454
|
+
if (!alreadyHas) {
|
|
455
|
+
state.listeners.add(listener);
|
|
456
|
+
refreshTopicSnapshot(state);
|
|
457
|
+
}
|
|
458
|
+
if (!existing) {
|
|
459
|
+
listenersByTopic.set(topicKey, state);
|
|
460
|
+
}
|
|
461
|
+
if (!alreadyHas && info) {
|
|
462
|
+
const prev = subscriberCountByModule.get(info.moduleInstanceKey) ?? 0;
|
|
463
|
+
subscriberCountByModule.set(info.moduleInstanceKey, prev + 1);
|
|
464
|
+
}
|
|
465
|
+
return () => {
|
|
466
|
+
const currentState = listenersByTopic.get(topicKey);
|
|
467
|
+
if (!currentState) return;
|
|
468
|
+
const deleted = currentState.listeners.delete(listener);
|
|
469
|
+
if (deleted && info) {
|
|
470
|
+
const prev = subscriberCountByModule.get(info.moduleInstanceKey) ?? 0;
|
|
471
|
+
const next = prev - 1;
|
|
472
|
+
if (next <= 0) {
|
|
473
|
+
subscriberCountByModule.delete(info.moduleInstanceKey);
|
|
474
|
+
} else {
|
|
475
|
+
subscriberCountByModule.set(info.moduleInstanceKey, next);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (currentState.listeners.size === 0) {
|
|
479
|
+
listenersByTopic.delete(topicKey);
|
|
480
|
+
} else if (deleted) {
|
|
481
|
+
refreshTopicSnapshot(currentState);
|
|
482
|
+
}
|
|
483
|
+
};
|
|
484
|
+
};
|
|
485
|
+
const getTopicSubscriberCount = (topicKey) => listenersByTopic.get(topicKey)?.listeners.size ?? 0;
|
|
486
|
+
const getModuleSubscriberCount = (moduleInstanceKey) => subscriberCountByModule.get(moduleInstanceKey) ?? 0;
|
|
487
|
+
const registerModuleInstance = (args) => {
|
|
488
|
+
moduleStates.set(args.moduleInstanceKey, args.initialState);
|
|
489
|
+
if (!topicVersions.has(args.moduleInstanceKey)) {
|
|
490
|
+
topicVersions.set(args.moduleInstanceKey, 0);
|
|
491
|
+
topicPriorities.set(args.moduleInstanceKey, "normal");
|
|
492
|
+
}
|
|
493
|
+
};
|
|
494
|
+
const unregisterModuleInstance = (moduleInstanceKey) => {
|
|
495
|
+
moduleStates.delete(moduleInstanceKey);
|
|
496
|
+
};
|
|
497
|
+
const commitTick = (args) => {
|
|
498
|
+
tickSeq = args.tickSeq;
|
|
499
|
+
for (const [key, commit] of args.accepted.modules) {
|
|
500
|
+
moduleStates.set(key, commit.state);
|
|
501
|
+
}
|
|
502
|
+
if (args.accepted.dirtyTopics.size === 0) {
|
|
503
|
+
return {
|
|
504
|
+
changedTopicListeners: NO_CHANGED_TOPIC_LISTENERS
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
if (args.onListener) {
|
|
508
|
+
let firstTopicListeners;
|
|
509
|
+
let secondTopicListeners;
|
|
510
|
+
let restTopicListeners;
|
|
511
|
+
for (const [topicKey, priority] of args.accepted.dirtyTopics) {
|
|
512
|
+
commitTopicBump(topicKey, priority);
|
|
513
|
+
const listeners = listenersByTopic.get(topicKey)?.snapshot ?? EMPTY_LISTENER_SNAPSHOT;
|
|
514
|
+
if (listeners.length === 0) {
|
|
515
|
+
continue;
|
|
516
|
+
}
|
|
517
|
+
if (!firstTopicListeners) {
|
|
518
|
+
firstTopicListeners = listeners;
|
|
519
|
+
continue;
|
|
520
|
+
}
|
|
521
|
+
if (!secondTopicListeners) {
|
|
522
|
+
secondTopicListeners = listeners;
|
|
523
|
+
continue;
|
|
524
|
+
}
|
|
525
|
+
if (!restTopicListeners) {
|
|
526
|
+
restTopicListeners = [];
|
|
527
|
+
}
|
|
528
|
+
restTopicListeners.push(listeners);
|
|
529
|
+
}
|
|
530
|
+
if (firstTopicListeners) {
|
|
531
|
+
for (const listener of firstTopicListeners) {
|
|
532
|
+
try {
|
|
533
|
+
args.onListener(listener);
|
|
534
|
+
} catch {
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
if (secondTopicListeners) {
|
|
539
|
+
for (const listener of secondTopicListeners) {
|
|
540
|
+
try {
|
|
541
|
+
args.onListener(listener);
|
|
542
|
+
} catch {
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
if (restTopicListeners) {
|
|
547
|
+
for (const listeners of restTopicListeners) {
|
|
548
|
+
for (const listener of listeners) {
|
|
549
|
+
try {
|
|
550
|
+
args.onListener(listener);
|
|
551
|
+
} catch {
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
return {
|
|
557
|
+
changedTopicListeners: NO_CHANGED_TOPIC_LISTENERS
|
|
558
|
+
};
|
|
559
|
+
}
|
|
560
|
+
let singleTopicListeners;
|
|
561
|
+
let flattenedTopicListeners;
|
|
562
|
+
for (const [topicKey, priority] of args.accepted.dirtyTopics) {
|
|
563
|
+
commitTopicBump(topicKey, priority);
|
|
564
|
+
const listeners = listenersByTopic.get(topicKey)?.snapshot ?? EMPTY_LISTENER_SNAPSHOT;
|
|
565
|
+
if (listeners.length === 0) {
|
|
566
|
+
continue;
|
|
567
|
+
}
|
|
568
|
+
if (flattenedTopicListeners) {
|
|
569
|
+
for (const listener of listeners) {
|
|
570
|
+
flattenedTopicListeners.push(listener);
|
|
571
|
+
}
|
|
572
|
+
continue;
|
|
573
|
+
}
|
|
574
|
+
if (!singleTopicListeners) {
|
|
575
|
+
singleTopicListeners = listeners;
|
|
576
|
+
continue;
|
|
577
|
+
}
|
|
578
|
+
flattenedTopicListeners = Array.from(singleTopicListeners);
|
|
579
|
+
for (const listener of listeners) {
|
|
580
|
+
flattenedTopicListeners.push(listener);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
return {
|
|
584
|
+
changedTopicListeners: flattenedTopicListeners ?? singleTopicListeners ?? NO_CHANGED_TOPIC_LISTENERS
|
|
585
|
+
};
|
|
586
|
+
};
|
|
587
|
+
const getModuleState = (moduleInstanceKey) => moduleStates.get(moduleInstanceKey);
|
|
588
|
+
const dispose = () => {
|
|
589
|
+
moduleStates.clear();
|
|
590
|
+
topicVersions.clear();
|
|
591
|
+
topicPriorities.clear();
|
|
592
|
+
listenersByTopic.clear();
|
|
593
|
+
subscriberCountByModule.clear();
|
|
594
|
+
};
|
|
595
|
+
return {
|
|
596
|
+
getTickSeq: () => tickSeq,
|
|
597
|
+
getModuleState,
|
|
598
|
+
getTopicVersion,
|
|
599
|
+
getTopicPriority,
|
|
600
|
+
subscribeTopic,
|
|
601
|
+
getTopicSubscriberCount,
|
|
602
|
+
getModuleSubscriberCount,
|
|
603
|
+
registerModuleInstance,
|
|
604
|
+
unregisterModuleInstance,
|
|
605
|
+
commitTick,
|
|
606
|
+
dispose
|
|
607
|
+
};
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
// src/internal/runtime/core/TickScheduler.ts
|
|
235
611
|
var import_effect4 = require("effect");
|
|
612
|
+
|
|
613
|
+
// src/internal/runtime/core/DeclarativeLinkRuntime.ts
|
|
614
|
+
var import_effect5 = require("effect");
|
|
615
|
+
var makeDeclarativeLinkRuntime = () => {
|
|
616
|
+
const moduleAsSourceById = /* @__PURE__ */ new Map();
|
|
617
|
+
const moduleAsSourceIdsBySource = /* @__PURE__ */ new Map();
|
|
618
|
+
const declarativeById = /* @__PURE__ */ new Map();
|
|
619
|
+
const declarativeReadNodesBySource = /* @__PURE__ */ new Map();
|
|
620
|
+
const registerModuleAsSourceLink = (link) => {
|
|
621
|
+
const stored = {
|
|
622
|
+
...link,
|
|
623
|
+
hasValue: false,
|
|
624
|
+
lastValue: void 0
|
|
625
|
+
};
|
|
626
|
+
moduleAsSourceById.set(link.id, stored);
|
|
627
|
+
const set = moduleAsSourceIdsBySource.get(link.sourceModuleInstanceKey) ?? /* @__PURE__ */ new Set();
|
|
628
|
+
set.add(link.id);
|
|
629
|
+
moduleAsSourceIdsBySource.set(link.sourceModuleInstanceKey, set);
|
|
630
|
+
return () => {
|
|
631
|
+
moduleAsSourceById.delete(link.id);
|
|
632
|
+
const current = moduleAsSourceIdsBySource.get(link.sourceModuleInstanceKey);
|
|
633
|
+
if (!current) return;
|
|
634
|
+
current.delete(link.id);
|
|
635
|
+
if (current.size === 0) {
|
|
636
|
+
moduleAsSourceIdsBySource.delete(link.sourceModuleInstanceKey);
|
|
637
|
+
}
|
|
638
|
+
};
|
|
639
|
+
};
|
|
640
|
+
const registerDeclarativeLink = (link) => {
|
|
641
|
+
const readNodeById = /* @__PURE__ */ new Map();
|
|
642
|
+
for (const n of link.readNodes) {
|
|
643
|
+
readNodeById.set(n.nodeId, n);
|
|
644
|
+
}
|
|
645
|
+
const dispatchNodeById = /* @__PURE__ */ new Map();
|
|
646
|
+
for (const n of link.dispatchNodes) {
|
|
647
|
+
dispatchNodeById.set(n.nodeId, n);
|
|
648
|
+
}
|
|
649
|
+
const incomingByDispatch = /* @__PURE__ */ new Map();
|
|
650
|
+
for (const e of link.ir.edges) {
|
|
651
|
+
const to = e.to;
|
|
652
|
+
const isDispatch = dispatchNodeById.has(to);
|
|
653
|
+
if (!isDispatch) continue;
|
|
654
|
+
incomingByDispatch.set(to, (incomingByDispatch.get(to) ?? 0) + 1);
|
|
655
|
+
const count = incomingByDispatch.get(to) ?? 0;
|
|
656
|
+
if (count > 1) {
|
|
657
|
+
throw new Error(
|
|
658
|
+
`[DeclarativeLinkRuntime] Invalid DeclarativeLinkIR: dispatch node has multiple incoming edges (linkId=${link.linkId}, nodeId=${to}).`
|
|
659
|
+
);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
const dispatchTargetsByReadNode = /* @__PURE__ */ new Map();
|
|
663
|
+
for (const e of link.ir.edges) {
|
|
664
|
+
const from = e.from;
|
|
665
|
+
const to = e.to;
|
|
666
|
+
if (!readNodeById.has(from)) continue;
|
|
667
|
+
if (!dispatchNodeById.has(to)) continue;
|
|
668
|
+
const list = dispatchTargetsByReadNode.get(from) ?? [];
|
|
669
|
+
list.push(to);
|
|
670
|
+
dispatchTargetsByReadNode.set(from, list);
|
|
671
|
+
}
|
|
672
|
+
const stored = {
|
|
673
|
+
...link,
|
|
674
|
+
readNodeById,
|
|
675
|
+
dispatchNodeById,
|
|
676
|
+
dispatchTargetsByReadNode,
|
|
677
|
+
readNodeState: /* @__PURE__ */ new Map()
|
|
678
|
+
};
|
|
679
|
+
declarativeById.set(link.linkId, stored);
|
|
680
|
+
for (const n of link.readNodes) {
|
|
681
|
+
const list = declarativeReadNodesBySource.get(n.moduleInstanceKey) ?? [];
|
|
682
|
+
list.push({ linkId: link.linkId, nodeId: n.nodeId });
|
|
683
|
+
declarativeReadNodesBySource.set(n.moduleInstanceKey, list);
|
|
684
|
+
}
|
|
685
|
+
return () => {
|
|
686
|
+
declarativeById.delete(link.linkId);
|
|
687
|
+
for (const n of link.readNodes) {
|
|
688
|
+
const list = declarativeReadNodesBySource.get(n.moduleInstanceKey);
|
|
689
|
+
if (!list) continue;
|
|
690
|
+
const next = list.filter((x) => !(x.linkId === link.linkId && x.nodeId === n.nodeId));
|
|
691
|
+
if (next.length === 0) {
|
|
692
|
+
declarativeReadNodesBySource.delete(n.moduleInstanceKey);
|
|
693
|
+
} else {
|
|
694
|
+
declarativeReadNodesBySource.set(n.moduleInstanceKey, next);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
};
|
|
698
|
+
};
|
|
699
|
+
const applyForSources = (args) => import_effect5.Effect.gen(function* () {
|
|
700
|
+
let scheduled = false;
|
|
701
|
+
for (const sourceKey of args.changedModuleInstanceKeys) {
|
|
702
|
+
const ids = moduleAsSourceIdsBySource.get(sourceKey);
|
|
703
|
+
if (!ids || ids.size === 0) continue;
|
|
704
|
+
const commit = args.acceptedModules.get(sourceKey);
|
|
705
|
+
if (!commit) continue;
|
|
706
|
+
for (const id of ids) {
|
|
707
|
+
const link = moduleAsSourceById.get(id);
|
|
708
|
+
if (!link) continue;
|
|
709
|
+
let selected;
|
|
710
|
+
try {
|
|
711
|
+
selected = link.readQuery.select(commit.state);
|
|
712
|
+
} catch {
|
|
713
|
+
continue;
|
|
714
|
+
}
|
|
715
|
+
const nextValue = link.computeValue(selected);
|
|
716
|
+
if (link.hasValue && link.equalsValue(link.lastValue, nextValue)) {
|
|
717
|
+
continue;
|
|
718
|
+
}
|
|
719
|
+
link.hasValue = true;
|
|
720
|
+
link.lastValue = nextValue;
|
|
721
|
+
scheduled = true;
|
|
722
|
+
yield* link.applyValue(nextValue);
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
for (const sourceKey of args.changedModuleInstanceKeys) {
|
|
726
|
+
const refs = declarativeReadNodesBySource.get(sourceKey);
|
|
727
|
+
if (!refs || refs.length === 0) continue;
|
|
728
|
+
const commit = args.acceptedModules.get(sourceKey);
|
|
729
|
+
if (!commit) continue;
|
|
730
|
+
for (const ref of refs) {
|
|
731
|
+
const link = declarativeById.get(ref.linkId);
|
|
732
|
+
if (!link) continue;
|
|
733
|
+
const readNode = link.readNodeById.get(ref.nodeId);
|
|
734
|
+
if (!readNode) continue;
|
|
735
|
+
let value;
|
|
736
|
+
try {
|
|
737
|
+
value = readNode.readQuery.select(commit.state);
|
|
738
|
+
} catch {
|
|
739
|
+
continue;
|
|
740
|
+
}
|
|
741
|
+
const state = link.readNodeState.get(ref.nodeId) ?? { hasValue: false, lastValue: void 0 };
|
|
742
|
+
const changed = !state.hasValue || !Object.is(state.lastValue, value);
|
|
743
|
+
if (!changed) continue;
|
|
744
|
+
state.hasValue = true;
|
|
745
|
+
state.lastValue = value;
|
|
746
|
+
link.readNodeState.set(ref.nodeId, state);
|
|
747
|
+
const targets = link.dispatchTargetsByReadNode.get(ref.nodeId) ?? [];
|
|
748
|
+
for (const dispatchNodeId of targets) {
|
|
749
|
+
const node = link.dispatchNodeById.get(dispatchNodeId);
|
|
750
|
+
if (!node) continue;
|
|
751
|
+
scheduled = true;
|
|
752
|
+
yield* node.dispatch(value);
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
return { scheduled };
|
|
757
|
+
});
|
|
758
|
+
return {
|
|
759
|
+
registerModuleAsSourceLink,
|
|
760
|
+
registerDeclarativeLink,
|
|
761
|
+
applyForSources
|
|
762
|
+
};
|
|
763
|
+
};
|
|
764
|
+
|
|
765
|
+
// src/internal/runtime/core/env.ts
|
|
236
766
|
var getNodeEnv = () => {
|
|
237
767
|
try {
|
|
238
768
|
const env = globalThis?.process?.env;
|
|
@@ -242,32 +772,65 @@ var getNodeEnv = () => {
|
|
|
242
772
|
}
|
|
243
773
|
};
|
|
244
774
|
var isDevEnv = () => getNodeEnv() !== "production";
|
|
245
|
-
var StateTransactionConfigTagImpl = class extends
|
|
775
|
+
var StateTransactionConfigTagImpl = class extends import_effect6.ServiceMap.Service()("@logixjs/core/StateTransactionRuntimeConfig") {
|
|
246
776
|
};
|
|
247
|
-
var ReadQueryStrictGateConfigTagImpl = class extends
|
|
777
|
+
var ReadQueryStrictGateConfigTagImpl = class extends import_effect6.ServiceMap.Service()("@logixjs/core/ReadQueryStrictGateRuntimeConfig") {
|
|
248
778
|
};
|
|
249
|
-
var ReplayModeConfigTagImpl = class extends
|
|
779
|
+
var ReplayModeConfigTagImpl = class extends import_effect6.ServiceMap.Service()("@logixjs/core/ReplayModeConfig") {
|
|
250
780
|
};
|
|
251
|
-
var StateTransactionOverridesTagImpl = class extends
|
|
781
|
+
var StateTransactionOverridesTagImpl = class extends import_effect6.ServiceMap.Service()("@logixjs/core/StateTransactionOverrides") {
|
|
782
|
+
};
|
|
783
|
+
var SchedulingPolicySurfaceTagImpl = class extends import_effect6.ServiceMap.Service()("@logixjs/core/SchedulingPolicySurface") {
|
|
784
|
+
};
|
|
785
|
+
var SchedulingPolicySurfaceOverridesTagImpl = class extends import_effect6.ServiceMap.Service()("@logixjs/core/SchedulingPolicySurfaceOverrides") {
|
|
786
|
+
};
|
|
787
|
+
var RuntimeStoreTag = class extends import_effect6.ServiceMap.Service()("@logixjs/core/RuntimeStore") {
|
|
788
|
+
};
|
|
789
|
+
var runtimeStoreLayer = import_effect6.Layer.effect(
|
|
790
|
+
RuntimeStoreTag,
|
|
791
|
+
import_effect6.Effect.acquireRelease(
|
|
792
|
+
import_effect6.Effect.sync(() => makeRuntimeStore()),
|
|
793
|
+
(store) => import_effect6.Effect.sync(() => store.dispose())
|
|
794
|
+
)
|
|
795
|
+
);
|
|
796
|
+
var HostSchedulerTag = class extends import_effect6.ServiceMap.Service()("@logixjs/core/HostScheduler") {
|
|
252
797
|
};
|
|
253
|
-
var
|
|
798
|
+
var hostSchedulerLayer = import_effect6.Layer.succeed(
|
|
799
|
+
HostSchedulerTag,
|
|
800
|
+
getGlobalHostScheduler()
|
|
801
|
+
);
|
|
802
|
+
var DeclarativeLinkRuntimeTag = class extends import_effect6.ServiceMap.Service()("@logixjs/core/DeclarativeLinkRuntime") {
|
|
254
803
|
};
|
|
255
|
-
var
|
|
804
|
+
var declarativeLinkRuntimeLayer = import_effect6.Layer.succeed(
|
|
805
|
+
DeclarativeLinkRuntimeTag,
|
|
806
|
+
makeDeclarativeLinkRuntime()
|
|
807
|
+
);
|
|
808
|
+
var TickSchedulerTag = class extends import_effect6.ServiceMap.Service()("@logixjs/core/TickScheduler") {
|
|
256
809
|
};
|
|
257
810
|
|
|
811
|
+
// src/internal/runtime/core/ModeRunner.ts
|
|
812
|
+
var import_effect8 = require("effect");
|
|
813
|
+
|
|
814
|
+
// src/internal/runtime/core/LatestFiberSlot.ts
|
|
815
|
+
var import_effect7 = require("effect");
|
|
816
|
+
|
|
258
817
|
// src/internal/runtime/core/TaskRunner.ts
|
|
259
|
-
var inSyncTransactionFiber =
|
|
260
|
-
|
|
818
|
+
var inSyncTransactionFiber = import_effect9.ServiceMap.Reference("@logixjs/core/TaskRunner.inSyncTransactionFiber", {
|
|
819
|
+
defaultValue: () => false
|
|
820
|
+
});
|
|
821
|
+
var forceSourceRefresh = import_effect9.ServiceMap.Reference("@logixjs/core/TaskRunner.forceSourceRefresh", {
|
|
822
|
+
defaultValue: () => false
|
|
823
|
+
});
|
|
261
824
|
|
|
262
825
|
// src/internal/runtime/core/ReplayLog.ts
|
|
263
|
-
var
|
|
264
|
-
var ReplayLog = class extends
|
|
826
|
+
var import_effect10 = require("effect");
|
|
827
|
+
var ReplayLog = class extends import_effect10.ServiceMap.Service()("@logixjs/core/ReplayLog") {
|
|
265
828
|
};
|
|
266
|
-
var snapshot =
|
|
829
|
+
var snapshot = import_effect10.Effect.gen(function* () {
|
|
267
830
|
const log = yield* ReplayLog;
|
|
268
831
|
return yield* log.snapshot;
|
|
269
832
|
});
|
|
270
|
-
var resetCursor =
|
|
833
|
+
var resetCursor = import_effect10.Effect.gen(function* () {
|
|
271
834
|
const log = yield* ReplayLog;
|
|
272
835
|
yield* log.resetCursor;
|
|
273
836
|
});
|
|
@@ -292,7 +855,7 @@ var unsetAtPathMutating = (draft, path) => {
|
|
|
292
855
|
}
|
|
293
856
|
const last = segments[segments.length - 1];
|
|
294
857
|
if (Array.isArray(current) && typeof last === "number") {
|
|
295
|
-
current[last]
|
|
858
|
+
delete current[last];
|
|
296
859
|
return;
|
|
297
860
|
}
|
|
298
861
|
if (current && typeof current === "object") {
|
|
@@ -323,7 +886,7 @@ var getBoundInternals = (bound) => {
|
|
|
323
886
|
};
|
|
324
887
|
|
|
325
888
|
// src/internal/trait-lifecycle/index.ts
|
|
326
|
-
var
|
|
889
|
+
var Ref3 = {
|
|
327
890
|
field: (path) => ({ kind: "field", path }),
|
|
328
891
|
list: (path, listIndexPath) => ({
|
|
329
892
|
kind: "list",
|
|
@@ -351,9 +914,9 @@ var Ref2 = {
|
|
|
351
914
|
*/
|
|
352
915
|
fromValuePath: (valuePath) => {
|
|
353
916
|
const raw = typeof valuePath === "string" ? valuePath.trim() : "";
|
|
354
|
-
if (!raw || raw === "$root") return
|
|
917
|
+
if (!raw || raw === "$root") return Ref3.root();
|
|
355
918
|
const segments = raw.split(".").filter(Boolean);
|
|
356
|
-
if (segments.length === 0) return
|
|
919
|
+
if (segments.length === 0) return Ref3.root();
|
|
357
920
|
const isIndex = (seg) => /^[0-9]+$/.test(seg);
|
|
358
921
|
const stripPattern = (seg) => seg.endsWith("[]") ? seg.slice(0, -2) : seg;
|
|
359
922
|
const indexPositions = [];
|
|
@@ -361,16 +924,16 @@ var Ref2 = {
|
|
|
361
924
|
const seg = segments[i];
|
|
362
925
|
if (!isIndex(seg)) continue;
|
|
363
926
|
const index = Number(seg);
|
|
364
|
-
if (!Number.isFinite(index) || index < 0) return
|
|
927
|
+
if (!Number.isFinite(index) || index < 0) return Ref3.field(raw);
|
|
365
928
|
indexPositions.push({ pos: i, index });
|
|
366
929
|
}
|
|
367
930
|
if (indexPositions.length > 0) {
|
|
368
931
|
const last = indexPositions[indexPositions.length - 1];
|
|
369
932
|
const listIndexPath = indexPositions.slice(0, -1).map((p) => p.index);
|
|
370
933
|
const listPath = segments.slice(0, last.pos).filter((seg) => !isIndex(seg)).map(stripPattern).join(".");
|
|
371
|
-
if (!listPath) return
|
|
934
|
+
if (!listPath) return Ref3.field(raw);
|
|
372
935
|
const fieldRest = segments.slice(last.pos + 1).map(stripPattern).join(".");
|
|
373
|
-
return
|
|
936
|
+
return Ref3.item(listPath, last.index, {
|
|
374
937
|
listIndexPath: listIndexPath.length > 0 ? listIndexPath : void 0,
|
|
375
938
|
field: fieldRest ? fieldRest : void 0
|
|
376
939
|
});
|
|
@@ -378,14 +941,14 @@ var Ref2 = {
|
|
|
378
941
|
if (segments.some((s) => s.includes("[]"))) {
|
|
379
942
|
const last = segments[segments.length - 1];
|
|
380
943
|
if (last.endsWith("[]")) {
|
|
381
|
-
return
|
|
944
|
+
return Ref3.list(segments.map(stripPattern).join("."));
|
|
382
945
|
}
|
|
383
946
|
}
|
|
384
|
-
return
|
|
947
|
+
return Ref3.field(raw);
|
|
385
948
|
},
|
|
386
949
|
root: () => ({ kind: "root" })
|
|
387
950
|
};
|
|
388
|
-
var scopedValidate = (bound, request) =>
|
|
951
|
+
var scopedValidate = (bound, request) => import_effect11.Effect.gen(function* () {
|
|
389
952
|
let internals;
|
|
390
953
|
try {
|
|
391
954
|
internals = getBoundInternals(bound);
|
|
@@ -416,19 +979,19 @@ var scopedValidate = (bound, request) => import_effect7.Effect.gen(function* ()
|
|
|
416
979
|
mode: request.mode,
|
|
417
980
|
target: toTarget(request.target)
|
|
418
981
|
};
|
|
419
|
-
const inTxn = yield*
|
|
982
|
+
const inTxn = yield* import_effect11.Effect.service(inSyncTransactionFiber).pipe(import_effect11.Effect.orDie);
|
|
420
983
|
if (inTxn) {
|
|
421
984
|
enqueue(internal);
|
|
422
985
|
return;
|
|
423
986
|
}
|
|
424
987
|
yield* internals.txn.runWithStateTransaction(
|
|
425
988
|
{ kind: "trait", name: "scopedValidate", details: request },
|
|
426
|
-
() =>
|
|
989
|
+
() => import_effect11.Effect.sync(() => {
|
|
427
990
|
enqueue(internal);
|
|
428
991
|
})
|
|
429
992
|
);
|
|
430
|
-
});
|
|
431
|
-
var scopedExecute = (bound, request) =>
|
|
993
|
+
}).pipe(import_effect11.Effect.catchCause(() => import_effect11.Effect.void));
|
|
994
|
+
var scopedExecute = (bound, request) => import_effect11.Effect.gen(function* () {
|
|
432
995
|
if (request.kind === "source:refresh") {
|
|
433
996
|
const toFieldPath = (ref) => {
|
|
434
997
|
if (ref.kind === "root") return void 0;
|
|
@@ -446,8 +1009,8 @@ var scopedExecute = (bound, request) => import_effect7.Effect.gen(function* () {
|
|
|
446
1009
|
if (request.kind !== "query:invalidate") {
|
|
447
1010
|
return;
|
|
448
1011
|
}
|
|
449
|
-
const replayLogOpt = yield*
|
|
450
|
-
if (
|
|
1012
|
+
const replayLogOpt = yield* import_effect11.Effect.serviceOption(ReplayLog);
|
|
1013
|
+
if (import_effect11.Option.isNone(replayLogOpt)) {
|
|
451
1014
|
return;
|
|
452
1015
|
}
|
|
453
1016
|
let moduleId;
|
|
@@ -470,7 +1033,7 @@ var scopedExecute = (bound, request) => import_effect7.Effect.gen(function* () {
|
|
|
470
1033
|
meta: request.request
|
|
471
1034
|
});
|
|
472
1035
|
});
|
|
473
|
-
var cleanup = (bound, request) =>
|
|
1036
|
+
var cleanup = (bound, request) => import_effect11.Effect.gen(function* () {
|
|
474
1037
|
const apply = () => bound.state.mutate((draft) => {
|
|
475
1038
|
const clearAt = (root, path) => {
|
|
476
1039
|
if (!path) return;
|
|
@@ -496,7 +1059,7 @@ var cleanup = (bound, request) => import_effect7.Effect.gen(function* () {
|
|
|
496
1059
|
return;
|
|
497
1060
|
}
|
|
498
1061
|
});
|
|
499
|
-
const inTxn = yield*
|
|
1062
|
+
const inTxn = yield* import_effect11.Effect.service(inSyncTransactionFiber).pipe(import_effect11.Effect.orDie);
|
|
500
1063
|
if (inTxn) {
|
|
501
1064
|
return yield* apply();
|
|
502
1065
|
}
|
|
@@ -511,7 +1074,7 @@ var cleanup = (bound, request) => import_effect7.Effect.gen(function* () {
|
|
|
511
1074
|
return yield* apply();
|
|
512
1075
|
}
|
|
513
1076
|
return yield* runWithTxn({ kind: "trait", name: "cleanup", details: request }, apply);
|
|
514
|
-
});
|
|
1077
|
+
}).pipe(import_effect11.Effect.catchCause(() => import_effect11.Effect.void));
|
|
515
1078
|
var isAuxRootPath = (path) => path === "errors" || path === "ui" || path.startsWith("errors.") || path.startsWith("ui.");
|
|
516
1079
|
var toPatternPath = (path) => {
|
|
517
1080
|
if (!path) return path;
|
|
@@ -535,35 +1098,35 @@ var makeSourceWiring = (bound, module2) => {
|
|
|
535
1098
|
const sourceOnKeyChange = sources.filter(
|
|
536
1099
|
(e) => Array.isArray(e?.meta?.triggers) ? e.meta.triggers.includes("onKeyChange") : false
|
|
537
1100
|
);
|
|
538
|
-
const setup =
|
|
1101
|
+
const setup = import_effect11.Effect.sync(() => {
|
|
539
1102
|
if (sourceOnMount.length === 0) return;
|
|
540
1103
|
bound.lifecycle.onStart(
|
|
541
|
-
|
|
1104
|
+
import_effect11.Effect.forEach(sourceOnMount, (entry) => bound.traits.source.refresh(entry.fieldPath), {
|
|
542
1105
|
concurrency: "unbounded"
|
|
543
|
-
}).pipe(
|
|
1106
|
+
}).pipe(import_effect11.Effect.asVoid)
|
|
544
1107
|
);
|
|
545
1108
|
});
|
|
546
|
-
const refreshOnKeyChange = (changedPath) =>
|
|
1109
|
+
const refreshOnKeyChange = (changedPath) => import_effect11.Effect.gen(function* () {
|
|
547
1110
|
if (!changedPath || isAuxRootPath(changedPath)) return;
|
|
548
1111
|
if (sourceOnKeyChange.length === 0) return;
|
|
549
1112
|
const changedPattern = toPatternPath(changedPath);
|
|
550
|
-
yield*
|
|
1113
|
+
yield* import_effect11.Effect.forEach(
|
|
551
1114
|
sourceOnKeyChange,
|
|
552
1115
|
(entry) => {
|
|
553
1116
|
const deps = entry?.meta?.deps ?? [];
|
|
554
1117
|
const affected = deps.some((dep) => isDepAffectedByChange(dep, changedPattern));
|
|
555
|
-
if (!affected) return
|
|
1118
|
+
if (!affected) return import_effect11.Effect.void;
|
|
556
1119
|
return bound.traits.source.refresh(entry.fieldPath);
|
|
557
1120
|
},
|
|
558
1121
|
{ concurrency: "unbounded" }
|
|
559
1122
|
);
|
|
560
|
-
}).pipe(
|
|
1123
|
+
}).pipe(import_effect11.Effect.asVoid);
|
|
561
1124
|
return { setup, refreshOnKeyChange };
|
|
562
1125
|
};
|
|
563
|
-
var install = (_bound) =>
|
|
1126
|
+
var install = (_bound) => import_effect11.Effect.void;
|
|
564
1127
|
|
|
565
1128
|
// src/TraitLifecycle.ts
|
|
566
|
-
var
|
|
1129
|
+
var Ref4 = Ref3;
|
|
567
1130
|
var scopedValidate2 = (bound, request) => scopedValidate(bound, request);
|
|
568
1131
|
var scopedExecute2 = (bound, request) => scopedExecute(bound, request);
|
|
569
1132
|
var cleanup2 = (bound, request) => cleanup(bound, request);
|