@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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import 'effect';
|
|
2
|
+
import './ReadQuery-DXLzCE0E.cjs';
|
|
3
|
+
import './module-Ds4tarcI.cjs';
|
|
4
|
+
export { A as ActionTagsOfModule, I as InputExpr, K as KernelPorts, l as WithPolicyPatch, b as Workflow, i as WorkflowComposeResult, f as WorkflowDef, h as WorkflowFragment, j as WorkflowPart, d as WorkflowPolicy, g as WorkflowStaticIr, e as WorkflowStep, m as WorkflowStepsInput, c as WorkflowTrigger, y as call, x as callById, C as compose, s as constValue, w as delay, v as dispatch, k as forModule, z as fragment, E as fromJSON, D as make, u as merge, t as object, o as onAction, p as onInit, n as onStart, q as payload, r as payloadPath, B as withPolicy } from './Workflow-DmydkHO8.cjs';
|
|
5
|
+
import 'mutative';
|
|
6
|
+
import './Platform-BV_0MW7g.cjs';
|
|
7
|
+
import './action-BQxjPFEw.cjs';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import 'effect';
|
|
2
|
+
import './ReadQuery-DXLzCE0E.js';
|
|
3
|
+
import './module-Zd1Gn-Nj.js';
|
|
4
|
+
export { A as ActionTagsOfModule, I as InputExpr, K as KernelPorts, l as WithPolicyPatch, b as Workflow, i as WorkflowComposeResult, f as WorkflowDef, h as WorkflowFragment, j as WorkflowPart, d as WorkflowPolicy, g as WorkflowStaticIr, e as WorkflowStep, m as WorkflowStepsInput, c as WorkflowTrigger, y as call, x as callById, C as compose, s as constValue, w as delay, v as dispatch, k as forModule, z as fragment, E as fromJSON, D as make, u as merge, t as object, o as onAction, p as onInit, n as onStart, q as payload, r as payloadPath, B as withPolicy } from './Workflow-C_OWr4dV.js';
|
|
5
|
+
import 'mutative';
|
|
6
|
+
import './Platform-BV_0MW7g.js';
|
|
7
|
+
import './action-BQxjPFEw.js';
|
package/dist/Workflow.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
KernelPorts,
|
|
3
|
+
call,
|
|
4
|
+
callById,
|
|
5
|
+
compose,
|
|
6
|
+
constValue,
|
|
7
|
+
delay,
|
|
8
|
+
dispatch,
|
|
9
|
+
forModule,
|
|
10
|
+
fragment,
|
|
11
|
+
fromJSON,
|
|
12
|
+
make,
|
|
13
|
+
merge,
|
|
14
|
+
object,
|
|
15
|
+
onAction,
|
|
16
|
+
onInit,
|
|
17
|
+
onStart,
|
|
18
|
+
payload,
|
|
19
|
+
payloadPath,
|
|
20
|
+
withPolicy
|
|
21
|
+
} from "./chunk-P6C5EZ3D.js";
|
|
22
|
+
import "./chunk-PD6YECQH.js";
|
|
23
|
+
import "./chunk-3L6QGFMM.js";
|
|
24
|
+
import "./chunk-NUDBM4MM.js";
|
|
25
|
+
import "./chunk-VJLWD47W.js";
|
|
26
|
+
import "./chunk-YZDJMAKL.js";
|
|
27
|
+
import "./chunk-63ZQ5RIN.js";
|
|
28
|
+
import "./chunk-S4S5N4BJ.js";
|
|
29
|
+
import "./chunk-MYKNINNN.js";
|
|
30
|
+
import "./chunk-K6JQW266.js";
|
|
31
|
+
import "./chunk-CYYSQMLO.js";
|
|
32
|
+
import "./chunk-R4LFQGP3.js";
|
|
33
|
+
import "./chunk-V2SBGVDO.js";
|
|
34
|
+
import "./chunk-LPPZDFTD.js";
|
|
35
|
+
import "./chunk-4MZ7BT3R.js";
|
|
36
|
+
import "./chunk-PZ5AY32C.js";
|
|
37
|
+
export {
|
|
38
|
+
KernelPorts,
|
|
39
|
+
call,
|
|
40
|
+
callById,
|
|
41
|
+
compose,
|
|
42
|
+
constValue,
|
|
43
|
+
delay,
|
|
44
|
+
dispatch,
|
|
45
|
+
forModule,
|
|
46
|
+
fragment,
|
|
47
|
+
fromJSON,
|
|
48
|
+
make,
|
|
49
|
+
merge,
|
|
50
|
+
object,
|
|
51
|
+
onAction,
|
|
52
|
+
onInit,
|
|
53
|
+
onStart,
|
|
54
|
+
payload,
|
|
55
|
+
payloadPath,
|
|
56
|
+
withPolicy
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=Workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -15,21 +15,21 @@ type ActionValue<Tag extends string, Payload> = Payload extends void ? {
|
|
|
15
15
|
readonly payload: Payload;
|
|
16
16
|
};
|
|
17
17
|
type ActionCreator<Tag extends string, Payload> = ActionFn<Payload, ActionValue<Tag, Payload>>;
|
|
18
|
-
type ActionToken<Tag extends string, Payload, PayloadSchema extends Schema.Schema<any
|
|
18
|
+
type ActionToken<Tag extends string, Payload, PayloadSchema extends Schema.Schema<any> = Schema.Schema<any>> = ActionCreator<Tag, Payload> & {
|
|
19
19
|
readonly _kind: 'ActionToken';
|
|
20
20
|
readonly tag: Tag;
|
|
21
21
|
readonly schema: PayloadSchema;
|
|
22
22
|
readonly source?: DevSource;
|
|
23
23
|
};
|
|
24
|
-
type AnyActionToken = ActionToken<string, any, Schema.Schema<any
|
|
25
|
-
declare const makeActions: <M extends Record<string, Schema.Schema<any
|
|
24
|
+
type AnyActionToken = ActionToken<string, any, Schema.Schema<any>>;
|
|
25
|
+
declare const makeActions: <M extends Record<string, Schema.Schema<any>>>(schemas: M, options?: {
|
|
26
26
|
readonly source?: DevSource;
|
|
27
27
|
readonly sources?: Partial<Record<Extract<keyof M, string>, DevSource>>;
|
|
28
28
|
}) => { readonly [K in keyof M]: ActionToken<Extract<K, string>, Schema.Schema.Type<M[K]>, M[K]>; };
|
|
29
|
-
type ActionDef = Schema.Schema<any
|
|
29
|
+
type ActionDef = Schema.Schema<any> | AnyActionToken;
|
|
30
30
|
type ActionDefs = Record<string, ActionDef>;
|
|
31
31
|
type NormalizedActionTokens<M extends ActionDefs> = {
|
|
32
|
-
readonly [K in keyof M]: M[K] extends Schema.Schema<any
|
|
32
|
+
readonly [K in keyof M]: M[K] extends Schema.Schema<any> ? ActionToken<Extract<K, string>, Schema.Schema.Type<M[K]>, M[K]> : M[K] extends ActionToken<any, infer P, infer S> ? ActionToken<Extract<K, string>, P, S> : never;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export { type ActionCreator as A, type NormalizedActionTokens as N, type ActionToken as a, type ActionDefs as b, type AnyActionToken as c, makeActions as m };
|
|
@@ -15,21 +15,21 @@ type ActionValue<Tag extends string, Payload> = Payload extends void ? {
|
|
|
15
15
|
readonly payload: Payload;
|
|
16
16
|
};
|
|
17
17
|
type ActionCreator<Tag extends string, Payload> = ActionFn<Payload, ActionValue<Tag, Payload>>;
|
|
18
|
-
type ActionToken<Tag extends string, Payload, PayloadSchema extends Schema.Schema<any
|
|
18
|
+
type ActionToken<Tag extends string, Payload, PayloadSchema extends Schema.Schema<any> = Schema.Schema<any>> = ActionCreator<Tag, Payload> & {
|
|
19
19
|
readonly _kind: 'ActionToken';
|
|
20
20
|
readonly tag: Tag;
|
|
21
21
|
readonly schema: PayloadSchema;
|
|
22
22
|
readonly source?: DevSource;
|
|
23
23
|
};
|
|
24
|
-
type AnyActionToken = ActionToken<string, any, Schema.Schema<any
|
|
25
|
-
declare const makeActions: <M extends Record<string, Schema.Schema<any
|
|
24
|
+
type AnyActionToken = ActionToken<string, any, Schema.Schema<any>>;
|
|
25
|
+
declare const makeActions: <M extends Record<string, Schema.Schema<any>>>(schemas: M, options?: {
|
|
26
26
|
readonly source?: DevSource;
|
|
27
27
|
readonly sources?: Partial<Record<Extract<keyof M, string>, DevSource>>;
|
|
28
28
|
}) => { readonly [K in keyof M]: ActionToken<Extract<K, string>, Schema.Schema.Type<M[K]>, M[K]>; };
|
|
29
|
-
type ActionDef = Schema.Schema<any
|
|
29
|
+
type ActionDef = Schema.Schema<any> | AnyActionToken;
|
|
30
30
|
type ActionDefs = Record<string, ActionDef>;
|
|
31
31
|
type NormalizedActionTokens<M extends ActionDefs> = {
|
|
32
|
-
readonly [K in keyof M]: M[K] extends Schema.Schema<any
|
|
32
|
+
readonly [K in keyof M]: M[K] extends Schema.Schema<any> ? ActionToken<Extract<K, string>, Schema.Schema.Type<M[K]>, M[K]> : M[K] extends ActionToken<any, infer P, infer S> ? ActionToken<Extract<K, string>, P, S> : never;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export { type ActionCreator as A, type NormalizedActionTokens as N, type ActionToken as a, type ActionDefs as b, type AnyActionToken as c, makeActions as m };
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import {
|
|
2
|
+
compile
|
|
3
|
+
} from "./chunk-KMZYQF6Q.js";
|
|
4
|
+
import {
|
|
5
|
+
attachExternalStoreDescriptor
|
|
6
|
+
} from "./chunk-NZMWWDAY.js";
|
|
7
|
+
import {
|
|
8
|
+
getGlobalHostScheduler
|
|
9
|
+
} from "./chunk-MYKNINNN.js";
|
|
10
|
+
import {
|
|
11
|
+
fnv1a32,
|
|
12
|
+
stableStringify
|
|
13
|
+
} from "./chunk-4MZ7BT3R.js";
|
|
14
|
+
import {
|
|
15
|
+
__export
|
|
16
|
+
} from "./chunk-PZ5AY32C.js";
|
|
17
|
+
|
|
18
|
+
// src/ExternalStore.ts
|
|
19
|
+
var ExternalStore_exports = {};
|
|
20
|
+
__export(ExternalStore_exports, {
|
|
21
|
+
fromModule: () => fromModule,
|
|
22
|
+
fromService: () => fromService,
|
|
23
|
+
fromStream: () => fromStream,
|
|
24
|
+
fromSubscriptionRef: () => fromSubscriptionRef
|
|
25
|
+
});
|
|
26
|
+
import { Effect, Fiber, Layer, ManagedRuntime, Stream, SubscriptionRef } from "effect";
|
|
27
|
+
var makeError = (code, message) => Object.assign(new Error(message), { _tag: "ExternalStoreRuntimeError", code });
|
|
28
|
+
var hasOwn = (value, key) => !!value && typeof value === "object" && Object.prototype.hasOwnProperty.call(value, key);
|
|
29
|
+
var makeStoreId = (payload) => `es_${fnv1a32(stableStringify(payload))}`;
|
|
30
|
+
var defineDescriptor = (store, descriptor) => {
|
|
31
|
+
attachExternalStoreDescriptor(store, descriptor);
|
|
32
|
+
return store;
|
|
33
|
+
};
|
|
34
|
+
var makeNotifyScheduler = (listeners) => {
|
|
35
|
+
let scheduled = false;
|
|
36
|
+
return () => {
|
|
37
|
+
if (scheduled) return;
|
|
38
|
+
scheduled = true;
|
|
39
|
+
getGlobalHostScheduler().scheduleMicrotask(() => {
|
|
40
|
+
scheduled = false;
|
|
41
|
+
for (const listener of listeners) {
|
|
42
|
+
listener();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
var resolveTagId = (tag) => {
|
|
48
|
+
const id = tag.id;
|
|
49
|
+
if (typeof id === "string" && id.length > 0) return id;
|
|
50
|
+
const key = tag.key;
|
|
51
|
+
return typeof key === "string" && key.length > 0 ? key : void 0;
|
|
52
|
+
};
|
|
53
|
+
var resolveModuleIdOrThrow = (module) => {
|
|
54
|
+
if (module && typeof module === "object") {
|
|
55
|
+
const moduleId = module.moduleId;
|
|
56
|
+
if (typeof moduleId === "string" && moduleId.length > 0) return moduleId;
|
|
57
|
+
const id = module.id;
|
|
58
|
+
if (typeof id === "string" && id.length > 0) return id;
|
|
59
|
+
const tag = module.tag;
|
|
60
|
+
if (tag && (typeof tag === "object" || typeof tag === "function")) {
|
|
61
|
+
const tagId = tag.id;
|
|
62
|
+
if (typeof tagId === "string" && tagId.length > 0) return tagId;
|
|
63
|
+
}
|
|
64
|
+
const moduleTagId = module.id;
|
|
65
|
+
if (typeof moduleTagId === "string" && moduleTagId.length > 0) return moduleTagId;
|
|
66
|
+
}
|
|
67
|
+
throw makeError(
|
|
68
|
+
"external_store::unresolvable_module_id",
|
|
69
|
+
"[ExternalStore.fromModule] Failed to resolve moduleId.\nFix: pass a ModuleTag/Module/ModuleImpl/ModuleRuntime (has .id/.tag.id/.moduleId), not a read-only ModuleHandle."
|
|
70
|
+
);
|
|
71
|
+
};
|
|
72
|
+
var fromService = (tag, map) => {
|
|
73
|
+
const tagId = resolveTagId(tag);
|
|
74
|
+
if (!tagId) {
|
|
75
|
+
throw makeError(
|
|
76
|
+
"external_store::unresolved",
|
|
77
|
+
"[ExternalStore.fromService] Tag.id is missing; cannot build a stable storeId."
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
const storeId = makeStoreId({ kind: "service", tagId });
|
|
81
|
+
const store = {
|
|
82
|
+
getSnapshot: () => {
|
|
83
|
+
throw makeError(
|
|
84
|
+
"external_store::unresolved",
|
|
85
|
+
`[ExternalStore.fromService] Store is unresolved (tagId=${tagId}). Use it via StateTrait.externalStore install/runtime.`
|
|
86
|
+
);
|
|
87
|
+
},
|
|
88
|
+
subscribe: () => {
|
|
89
|
+
throw makeError(
|
|
90
|
+
"external_store::unresolved",
|
|
91
|
+
`[ExternalStore.fromService] Store is unresolved (tagId=${tagId}). Use it via StateTrait.externalStore install/runtime.`
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return defineDescriptor(store, { kind: "service", storeId, tagId, tag, map });
|
|
96
|
+
};
|
|
97
|
+
var nextAnonStoreSeq = 0;
|
|
98
|
+
var storeIdByRef = /* @__PURE__ */ new WeakMap();
|
|
99
|
+
var getOrAssignAnonStoreId = (key, prefix) => {
|
|
100
|
+
const existing = storeIdByRef.get(key);
|
|
101
|
+
if (existing) return existing;
|
|
102
|
+
nextAnonStoreSeq += 1;
|
|
103
|
+
const storeId = `${prefix}_u${nextAnonStoreSeq}`;
|
|
104
|
+
storeIdByRef.set(key, storeId);
|
|
105
|
+
return storeId;
|
|
106
|
+
};
|
|
107
|
+
var makeDetachedRuntimeController = () => {
|
|
108
|
+
let runtime;
|
|
109
|
+
const ensureRuntime = () => {
|
|
110
|
+
if (!runtime) {
|
|
111
|
+
runtime = ManagedRuntime.make(Layer.empty);
|
|
112
|
+
}
|
|
113
|
+
return runtime;
|
|
114
|
+
};
|
|
115
|
+
const runSync = (effect) => ensureRuntime().runSync(effect);
|
|
116
|
+
const runFork = (effect) => ensureRuntime().runFork(effect);
|
|
117
|
+
const interruptAndDispose = (fiber) => {
|
|
118
|
+
const current = runtime;
|
|
119
|
+
runtime = void 0;
|
|
120
|
+
if (!current) return;
|
|
121
|
+
const stop = fiber ? Fiber.interrupt(fiber).pipe(Effect.asVoid) : Effect.void;
|
|
122
|
+
void current.runPromise(stop).catch(() => void 0).finally(() => current.dispose());
|
|
123
|
+
};
|
|
124
|
+
return {
|
|
125
|
+
runSync,
|
|
126
|
+
runFork,
|
|
127
|
+
interruptAndDispose
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
var fromSubscriptionRef = (ref) => {
|
|
131
|
+
const storeId = getOrAssignAnonStoreId(ref, "es_ref");
|
|
132
|
+
const readonlyRef = ref;
|
|
133
|
+
const getEffect = SubscriptionRef.isSubscriptionRef(ref) ? SubscriptionRef.get(ref) : readonlyRef.get;
|
|
134
|
+
const changes = SubscriptionRef.isSubscriptionRef(ref) ? SubscriptionRef.changes(ref) : readonlyRef.changes;
|
|
135
|
+
let hasSnapshot = false;
|
|
136
|
+
let current;
|
|
137
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
138
|
+
const scheduleNotify = makeNotifyScheduler(listeners);
|
|
139
|
+
let fiber;
|
|
140
|
+
const runtime = makeDetachedRuntimeController();
|
|
141
|
+
const ensureSubscription = () => {
|
|
142
|
+
if (fiber) return;
|
|
143
|
+
fiber = runtime.runFork(
|
|
144
|
+
Stream.runForEach(
|
|
145
|
+
changes,
|
|
146
|
+
(value) => Effect.sync(() => {
|
|
147
|
+
current = value;
|
|
148
|
+
hasSnapshot = true;
|
|
149
|
+
scheduleNotify();
|
|
150
|
+
})
|
|
151
|
+
)
|
|
152
|
+
);
|
|
153
|
+
};
|
|
154
|
+
const refreshSnapshotIfStale = () => {
|
|
155
|
+
if (!hasSnapshot) return;
|
|
156
|
+
try {
|
|
157
|
+
const latest = runtime.runSync(getEffect);
|
|
158
|
+
if (!Object.is(current, latest)) {
|
|
159
|
+
current = latest;
|
|
160
|
+
scheduleNotify();
|
|
161
|
+
}
|
|
162
|
+
} catch {
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const store = {
|
|
166
|
+
getSnapshot: () => {
|
|
167
|
+
if (hasSnapshot) return current;
|
|
168
|
+
current = runtime.runSync(getEffect);
|
|
169
|
+
hasSnapshot = true;
|
|
170
|
+
return current;
|
|
171
|
+
},
|
|
172
|
+
subscribe: (listener) => {
|
|
173
|
+
listeners.add(listener);
|
|
174
|
+
ensureSubscription();
|
|
175
|
+
refreshSnapshotIfStale();
|
|
176
|
+
return () => {
|
|
177
|
+
listeners.delete(listener);
|
|
178
|
+
if (listeners.size > 0) return;
|
|
179
|
+
const running = fiber;
|
|
180
|
+
if (!running) return;
|
|
181
|
+
fiber = void 0;
|
|
182
|
+
runtime.interruptAndDispose(running);
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
return defineDescriptor(store, { kind: "subscriptionRef", storeId, ref });
|
|
187
|
+
};
|
|
188
|
+
var fromStream = (stream, options) => {
|
|
189
|
+
const hasCurrent = hasOwn(options, "current");
|
|
190
|
+
const hasInitial = hasOwn(options, "initial");
|
|
191
|
+
if (!hasCurrent && !hasInitial) {
|
|
192
|
+
throw makeError(
|
|
193
|
+
"external_store::missing_initial",
|
|
194
|
+
"[ExternalStore.fromStream] Missing { initial } or { current } (Stream has no current snapshot)."
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
const initial = hasCurrent ? options.current : options.initial;
|
|
198
|
+
const initialHint = hasCurrent ? "current" : "initial";
|
|
199
|
+
const storeId = getOrAssignAnonStoreId(stream, "es_stream");
|
|
200
|
+
let current = initial;
|
|
201
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
202
|
+
const scheduleNotify = makeNotifyScheduler(listeners);
|
|
203
|
+
let fiber;
|
|
204
|
+
const runtime = makeDetachedRuntimeController();
|
|
205
|
+
const ensureSubscription = () => {
|
|
206
|
+
if (fiber) return;
|
|
207
|
+
fiber = runtime.runFork(
|
|
208
|
+
Stream.runForEach(
|
|
209
|
+
stream,
|
|
210
|
+
(value) => Effect.sync(() => {
|
|
211
|
+
current = value;
|
|
212
|
+
scheduleNotify();
|
|
213
|
+
})
|
|
214
|
+
)
|
|
215
|
+
);
|
|
216
|
+
};
|
|
217
|
+
const store = {
|
|
218
|
+
getSnapshot: () => current,
|
|
219
|
+
subscribe: (listener) => {
|
|
220
|
+
listeners.add(listener);
|
|
221
|
+
ensureSubscription();
|
|
222
|
+
return () => {
|
|
223
|
+
listeners.delete(listener);
|
|
224
|
+
if (listeners.size > 0) return;
|
|
225
|
+
const running = fiber;
|
|
226
|
+
if (!running) return;
|
|
227
|
+
fiber = void 0;
|
|
228
|
+
runtime.interruptAndDispose(running);
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
return defineDescriptor(store, { kind: "stream", storeId, stream, initial, initialHint });
|
|
233
|
+
};
|
|
234
|
+
var fromModule = (module, selector) => {
|
|
235
|
+
const moduleId = resolveModuleIdOrThrow(module);
|
|
236
|
+
const instanceId = module && typeof module === "object" && typeof module.instanceId === "string" && module.instanceId.length > 0 ? module.instanceId : void 0;
|
|
237
|
+
const compiled = compile(selector);
|
|
238
|
+
if (compiled.fallbackReason === "unstableSelectorId" || compiled.staticIr.fallbackReason === "unstableSelectorId") {
|
|
239
|
+
throw makeError(
|
|
240
|
+
"external_store::unstable_selector_id",
|
|
241
|
+
`[ExternalStore.fromModule] selectorId is unstable (fallbackReason=unstableSelectorId). Fix: add a stable debugKey, or pass an explicit ReadQuery (manual/static lane).`
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
const storeId = makeStoreId({ kind: "module", moduleId, selectorId: compiled.selectorId });
|
|
245
|
+
const store = {
|
|
246
|
+
getSnapshot: () => {
|
|
247
|
+
throw makeError(
|
|
248
|
+
"external_store::unresolved",
|
|
249
|
+
`[ExternalStore.fromModule] Store is unresolved (moduleId=${moduleId}, selectorId=${compiled.selectorId}). Use it via StateTrait.externalStore + TickScheduler/RuntimeStore (Module-as-Source).`
|
|
250
|
+
);
|
|
251
|
+
},
|
|
252
|
+
subscribe: () => {
|
|
253
|
+
throw makeError(
|
|
254
|
+
"external_store::unresolved",
|
|
255
|
+
`[ExternalStore.fromModule] Store is unresolved (moduleId=${moduleId}, selectorId=${compiled.selectorId}). Use it via StateTrait.externalStore + TickScheduler/RuntimeStore (Module-as-Source).`
|
|
256
|
+
);
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
return defineDescriptor(store, {
|
|
260
|
+
kind: "module",
|
|
261
|
+
storeId,
|
|
262
|
+
module,
|
|
263
|
+
moduleId,
|
|
264
|
+
...instanceId ? { instanceId } : {},
|
|
265
|
+
readQuery: compiled
|
|
266
|
+
});
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
export {
|
|
270
|
+
fromService,
|
|
271
|
+
fromSubscriptionRef,
|
|
272
|
+
fromStream,
|
|
273
|
+
fromModule,
|
|
274
|
+
ExternalStore_exports
|
|
275
|
+
};
|
|
276
|
+
//# sourceMappingURL=chunk-2XRLXDWR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ExternalStore.ts"],"sourcesContent":["import { Effect, Fiber, Layer, ManagedRuntime, Stream, SubscriptionRef } from 'effect'\nimport type { ServiceMap } from 'effect'\nimport * as ReadQuery from './ReadQuery.js'\nimport { fnv1a32, stableStringify } from './internal/digest.js'\nimport { attachExternalStoreDescriptor, type ExternalStoreDescriptor } from './internal/external-store-descriptor.js'\nimport { getGlobalHostScheduler } from './internal/runtime/core/HostScheduler.js'\nimport type * as LogixModule from './internal/module.js'\n\nexport type ExternalStore<T> = {\n readonly getSnapshot: () => T\n readonly getServerSnapshot?: () => T\n readonly subscribe: (listener: () => void) => () => void\n}\n\nexport interface ExternalStoreRuntimeError extends Error {\n readonly _tag: 'ExternalStoreRuntimeError'\n readonly code:\n | 'external_store::unresolved'\n | 'external_store::missing_initial'\n | 'external_store::unresolvable_module_id'\n | 'external_store::unstable_selector_id'\n}\n\nconst makeError = (code: ExternalStoreRuntimeError['code'], message: string): ExternalStoreRuntimeError =>\n Object.assign(new Error(message), { _tag: 'ExternalStoreRuntimeError' as const, code })\n\nconst hasOwn = (value: unknown, key: string): boolean =>\n !!value && typeof value === 'object' && Object.prototype.hasOwnProperty.call(value, key)\n\nconst makeStoreId = (payload: unknown): string => `es_${fnv1a32(stableStringify(payload))}`\n\nconst defineDescriptor = <T>(store: ExternalStore<T>, descriptor: ExternalStoreDescriptor): ExternalStore<T> => {\n attachExternalStoreDescriptor(store as object, descriptor)\n return store\n}\n\nconst makeNotifyScheduler = (listeners: Set<() => void>): (() => void) => {\n let scheduled = false\n return () => {\n if (scheduled) return\n scheduled = true\n getGlobalHostScheduler().scheduleMicrotask(() => {\n scheduled = false\n for (const listener of listeners) {\n listener()\n }\n })\n }\n}\n\nconst resolveTagId = (tag: ServiceMap.Key<any, any>): string | undefined => {\n const id = (tag as any).id\n if (typeof id === 'string' && id.length > 0) return id\n\n const key = (tag as any).key\n return typeof key === 'string' && key.length > 0 ? key : undefined\n}\n\nconst resolveModuleIdOrThrow = (module: unknown): string => {\n if (module && typeof module === 'object') {\n const moduleId = (module as any).moduleId\n if (typeof moduleId === 'string' && moduleId.length > 0) return moduleId\n\n const id = (module as any).id\n if (typeof id === 'string' && id.length > 0) return id\n\n const tag = (module as any).tag\n if (tag && (typeof tag === 'object' || typeof tag === 'function')) {\n const tagId = (tag as any).id\n if (typeof tagId === 'string' && tagId.length > 0) return tagId\n }\n\n const moduleTagId = (module as any).id\n if (typeof moduleTagId === 'string' && moduleTagId.length > 0) return moduleTagId\n }\n\n throw makeError(\n 'external_store::unresolvable_module_id',\n '[ExternalStore.fromModule] Failed to resolve moduleId.\\n' +\n 'Fix: pass a ModuleTag/Module/ModuleImpl/ModuleRuntime (has .id/.tag.id/.moduleId), not a read-only ModuleHandle.',\n )\n}\n\n/**\n * Create an ExternalStore by resolving a service from the Effect Context.\n *\n * Notes:\n * - This sugar is intended to be used via `StateTrait.externalStore` (resolved during install/runtime).\n * - `map(service)` must return a sync `getSnapshot()` (no IO) and a `subscribe(listener)` that signals change.\n */\nexport const fromService = <Id, Svc, T>(\n tag: ServiceMap.Key<Id, Svc>,\n map: (service: Svc) => ExternalStore<T>,\n): ExternalStore<T> => {\n const tagId = resolveTagId(tag as any)\n if (!tagId) {\n throw makeError(\n 'external_store::unresolved',\n '[ExternalStore.fromService] Tag.id is missing; cannot build a stable storeId.',\n )\n }\n\n const storeId = makeStoreId({ kind: 'service', tagId })\n\n const store: ExternalStore<T> = {\n getSnapshot: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromService] Store is unresolved (tagId=${tagId}). Use it via StateTrait.externalStore install/runtime.`,\n )\n },\n subscribe: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromService] Store is unresolved (tagId=${tagId}). Use it via StateTrait.externalStore install/runtime.`,\n )\n },\n }\n\n return defineDescriptor(store, { kind: 'service', storeId, tagId, tag: tag as any, map: map as any })\n}\n\nlet nextAnonStoreSeq = 0\nconst storeIdByRef = new WeakMap<object, string>()\n\nconst getOrAssignAnonStoreId = (key: object, prefix: string): string => {\n const existing = storeIdByRef.get(key)\n if (existing) return existing\n nextAnonStoreSeq += 1\n const storeId = `${prefix}_u${nextAnonStoreSeq}`\n storeIdByRef.set(key, storeId)\n return storeId\n}\n\ntype DetachedRuntime = ManagedRuntime.ManagedRuntime<never, never>\n\nconst makeDetachedRuntimeController = () => {\n let runtime: DetachedRuntime | undefined\n\n const ensureRuntime = (): DetachedRuntime => {\n if (!runtime) {\n runtime = ManagedRuntime.make(Layer.empty as Layer.Layer<never, never, never>)\n }\n return runtime\n }\n\n const runSync = <A>(effect: Effect.Effect<A, never, never>): A => ensureRuntime().runSync(effect)\n\n const runFork = <A, E>(effect: Effect.Effect<A, E, never>): Fiber.Fiber<A, E> => ensureRuntime().runFork(effect)\n\n const interruptAndDispose = (fiber: Fiber.Fiber<void, any> | undefined): void => {\n const current = runtime\n runtime = undefined\n if (!current) return\n const stop = fiber ? Fiber.interrupt(fiber).pipe(Effect.asVoid) : Effect.void\n void current.runPromise(stop).catch(() => undefined).finally(() => current.dispose())\n }\n\n return {\n runSync,\n runFork,\n interruptAndDispose,\n } as const\n}\n\n/**\n * Create an ExternalStore from a SubscriptionRef.\n *\n * Notes:\n * - `getSnapshot()` is implemented via `ref.get` (must be a synchronous pure read; do not hide IO inside).\n * - change notifications are batched via microtask (multiple updates in the same microtask trigger a single notify).\n */\nexport const fromSubscriptionRef = <T>(ref: LogixModule.ReadonlySubscriptionRef<T> | SubscriptionRef.SubscriptionRef<T>): ExternalStore<T> => {\n const storeId = getOrAssignAnonStoreId(ref as any, 'es_ref')\n const readonlyRef = ref as LogixModule.ReadonlySubscriptionRef<T>\n const getEffect: Effect.Effect<T, never, never> = SubscriptionRef.isSubscriptionRef(ref)\n ? (SubscriptionRef.get(ref) as Effect.Effect<T, never, never>)\n : (readonlyRef.get as Effect.Effect<T, never, never>)\n const changes: Stream.Stream<T, never, never> = SubscriptionRef.isSubscriptionRef(ref)\n ? (SubscriptionRef.changes(ref) as Stream.Stream<T, never, never>)\n : readonlyRef.changes\n\n let hasSnapshot = false\n let current: T | undefined\n const listeners = new Set<() => void>()\n const scheduleNotify = makeNotifyScheduler(listeners)\n\n let fiber: Fiber.Fiber<void, any> | undefined\n const runtime = makeDetachedRuntimeController()\n\n const ensureSubscription = () => {\n if (fiber) return\n fiber = runtime.runFork(\n Stream.runForEach(changes, (value) =>\n Effect.sync(() => {\n current = value\n hasSnapshot = true\n scheduleNotify()\n }),\n ),\n )\n }\n\n const refreshSnapshotIfStale = () => {\n if (!hasSnapshot) return\n try {\n const latest = runtime.runSync(getEffect) as T\n if (!Object.is(current, latest)) {\n current = latest\n scheduleNotify()\n }\n } catch {\n // best-effort\n }\n }\n\n const store: ExternalStore<T> = {\n getSnapshot: () => {\n if (hasSnapshot) return current as T\n current = runtime.runSync(getEffect) as T\n hasSnapshot = true\n return current\n },\n subscribe: (listener) => {\n listeners.add(listener)\n ensureSubscription()\n refreshSnapshotIfStale()\n return () => {\n listeners.delete(listener)\n if (listeners.size > 0) return\n const running = fiber\n if (!running) return\n fiber = undefined\n runtime.interruptAndDispose(running)\n }\n },\n }\n\n return defineDescriptor(store, { kind: 'subscriptionRef', storeId, ref: ref as any })\n}\n\n/**\n * Create an ExternalStore from a Stream.\n *\n * Notes:\n * - Stream has no synchronous \"current\" snapshot; you MUST provide `{ initial }` (or `{ current }`).\n * - `{ initial }` may be stale if the stream already emitted before subscription; prefer `fromService/fromSubscriptionRef` for reliable current.\n */\nexport const fromStream = <A, E>(\n stream: Stream.Stream<A, E, never>,\n options?: { readonly initial?: A; readonly current?: A },\n): ExternalStore<A> => {\n const hasCurrent = hasOwn(options, 'current')\n const hasInitial = hasOwn(options, 'initial')\n\n if (!hasCurrent && !hasInitial) {\n throw makeError(\n 'external_store::missing_initial',\n '[ExternalStore.fromStream] Missing { initial } or { current } (Stream has no current snapshot).',\n )\n }\n\n const initial = hasCurrent ? (options as any).current : (options as any).initial\n const initialHint = hasCurrent ? ('current' as const) : ('initial' as const)\n\n const storeId = getOrAssignAnonStoreId(stream as any, 'es_stream')\n\n let current = initial as A\n const listeners = new Set<() => void>()\n const scheduleNotify = makeNotifyScheduler(listeners)\n\n let fiber: Fiber.Fiber<void, any> | undefined\n const runtime = makeDetachedRuntimeController()\n\n const ensureSubscription = () => {\n if (fiber) return\n fiber = runtime.runFork(\n Stream.runForEach(stream, (value) =>\n Effect.sync(() => {\n current = value\n scheduleNotify()\n }),\n ),\n )\n }\n\n const store: ExternalStore<A> = {\n getSnapshot: () => current,\n subscribe: (listener) => {\n listeners.add(listener)\n ensureSubscription()\n return () => {\n listeners.delete(listener)\n if (listeners.size > 0) return\n const running = fiber\n if (!running) return\n fiber = undefined\n runtime.interruptAndDispose(running)\n }\n },\n }\n\n return defineDescriptor(store, { kind: 'stream', storeId, stream: stream as any, initial, initialHint })\n}\n\n/**\n * Module-as-Source: treat a module selector as an ExternalStore source (IR-recognizable dependency).\n *\n * Notes:\n * - `moduleId` must be resolvable; passing a read-only `ModuleHandle` is forbidden (fail-fast).\n * - selectorId must be stable: `ReadQuery.compile(selector)` must NOT fall back to `fallbackReason=\"unstableSelectorId\"` (fail-fast).\n * - Value semantics: the runtime does not clone; writeback stores the selector return value as-is (keep selectors small and stable).\n */\nexport const fromModule = <S, V>(module: unknown, selector: ReadQuery.ReadQueryInput<S, V>): ExternalStore<V> => {\n const moduleId = resolveModuleIdOrThrow(module)\n const instanceId =\n module && typeof module === 'object' && typeof (module as any).instanceId === 'string' && (module as any).instanceId.length > 0\n ? ((module as any).instanceId as string)\n : undefined\n const compiled = ReadQuery.compile(selector)\n\n if (compiled.fallbackReason === 'unstableSelectorId' || compiled.staticIr.fallbackReason === 'unstableSelectorId') {\n throw makeError(\n 'external_store::unstable_selector_id',\n `[ExternalStore.fromModule] selectorId is unstable (fallbackReason=unstableSelectorId). ` +\n 'Fix: add a stable debugKey, or pass an explicit ReadQuery (manual/static lane).',\n )\n }\n\n const storeId = makeStoreId({ kind: 'module', moduleId, selectorId: compiled.selectorId })\n\n const store: ExternalStore<V> = {\n getSnapshot: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromModule] Store is unresolved (moduleId=${moduleId}, selectorId=${compiled.selectorId}). ` +\n 'Use it via StateTrait.externalStore + TickScheduler/RuntimeStore (Module-as-Source).',\n )\n },\n subscribe: () => {\n throw makeError(\n 'external_store::unresolved',\n `[ExternalStore.fromModule] Store is unresolved (moduleId=${moduleId}, selectorId=${compiled.selectorId}). ` +\n 'Use it via StateTrait.externalStore + TickScheduler/RuntimeStore (Module-as-Source).',\n )\n },\n }\n\n return defineDescriptor(store, {\n kind: 'module',\n storeId,\n module,\n moduleId,\n ...(instanceId ? { instanceId } : {}),\n readQuery: compiled,\n })\n}\n"],"mappings":"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","names":[]}
|