mongoku 2.4.7 → 2.5.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/build/client/_app/immutable/assets/0.Bg-3Xsxo.css +1 -0
- package/build/client/_app/immutable/assets/0.Bg-3Xsxo.css.br +0 -0
- package/build/client/_app/immutable/assets/0.Bg-3Xsxo.css.gz +0 -0
- package/build/client/_app/immutable/chunks/2G5jukcB.js +1 -0
- package/build/client/_app/immutable/chunks/2G5jukcB.js.br +0 -0
- package/build/client/_app/immutable/chunks/2G5jukcB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/4ttua0Re.js +14 -0
- package/build/client/_app/immutable/chunks/4ttua0Re.js.br +0 -0
- package/build/client/_app/immutable/chunks/4ttua0Re.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B-kXX-X_.js +1 -0
- package/build/client/_app/immutable/chunks/B-kXX-X_.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-kXX-X_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B0cd1IZF.js +41 -0
- package/build/client/_app/immutable/chunks/B0cd1IZF.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0cd1IZF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B5NTIIm5.js +1 -0
- package/build/client/_app/immutable/chunks/B5NTIIm5.js.br +0 -0
- package/build/client/_app/immutable/chunks/B5NTIIm5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BJwU4xOT.js +16 -0
- package/build/client/_app/immutable/chunks/BJwU4xOT.js.br +0 -0
- package/build/client/_app/immutable/chunks/BJwU4xOT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BUr91kOw.js +1 -0
- package/build/client/_app/immutable/chunks/BUr91kOw.js.br +0 -0
- package/build/client/_app/immutable/chunks/BUr91kOw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BWu7oLe0.js +4 -0
- package/build/client/_app/immutable/chunks/BWu7oLe0.js.br +0 -0
- package/build/client/_app/immutable/chunks/BWu7oLe0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BYPjaq07.js +1 -0
- package/build/client/_app/immutable/chunks/BYPjaq07.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYPjaq07.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bl8s7Z6r.js +1 -0
- package/build/client/_app/immutable/chunks/Bl8s7Z6r.js.br +1 -0
- package/build/client/_app/immutable/chunks/Bl8s7Z6r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BnpHJF5-.js +2 -0
- package/build/client/_app/immutable/chunks/BnpHJF5-.js.br +0 -0
- package/build/client/_app/immutable/chunks/BnpHJF5-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C93uPVVn.js +1 -0
- package/build/client/_app/immutable/chunks/C93uPVVn.js.br +0 -0
- package/build/client/_app/immutable/chunks/C93uPVVn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CGcE8Rl5.js +1 -0
- package/build/client/_app/immutable/chunks/CGcE8Rl5.js.br +0 -0
- package/build/client/_app/immutable/chunks/CGcE8Rl5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXNtxrhs.js +1 -0
- package/build/client/_app/immutable/chunks/CXNtxrhs.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXNtxrhs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CxcplU4Q.js +1 -0
- package/build/client/_app/immutable/chunks/CxcplU4Q.js.br +0 -0
- package/build/client/_app/immutable/chunks/CxcplU4Q.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDWsiNa9.js +1 -0
- package/build/client/_app/immutable/chunks/DDWsiNa9.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDWsiNa9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDy-Kuac.js +1 -0
- package/build/client/_app/immutable/chunks/DDy-Kuac.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDy-Kuac.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DKs6lF0p.js +1 -0
- package/build/client/_app/immutable/chunks/DKs6lF0p.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKs6lF0p.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DUw-I2kh.js +1 -0
- package/build/client/_app/immutable/chunks/DUw-I2kh.js.br +0 -0
- package/build/client/_app/immutable/chunks/DUw-I2kh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DdLT9cdj.js +1 -0
- package/build/client/_app/immutable/chunks/DdLT9cdj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DdLT9cdj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BPstE8aZ.js → WZQl3PXp.js} +1 -1
- package/build/client/_app/immutable/chunks/WZQl3PXp.js.br +0 -0
- package/build/client/_app/immutable/chunks/WZQl3PXp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CqFYS5AV.js → c-rWvg5T.js} +1 -1
- package/build/client/_app/immutable/chunks/c-rWvg5T.js.br +0 -0
- package/build/client/_app/immutable/chunks/c-rWvg5T.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.8xlHykYa.js +2 -0
- package/build/client/_app/immutable/entry/app.8xlHykYa.js.br +0 -0
- package/build/client/_app/immutable/entry/app.8xlHykYa.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BwFTOpkF.js +1 -0
- package/build/client/_app/immutable/entry/start.BwFTOpkF.js.br +2 -0
- package/build/client/_app/immutable/entry/start.BwFTOpkF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DGRMtotF.js +1 -0
- package/build/client/_app/immutable/nodes/0.DGRMtotF.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DGRMtotF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DQleRSNO.js +1 -0
- package/build/client/_app/immutable/nodes/1.DQleRSNO.js.br +3 -0
- package/build/client/_app/immutable/nodes/1.DQleRSNO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.C0_oTkOV.js +6 -0
- package/build/client/_app/immutable/nodes/10.C0_oTkOV.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.C0_oTkOV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BYiu8_Fh.js +1 -0
- package/build/client/_app/immutable/nodes/11.BYiu8_Fh.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BYiu8_Fh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.DeyT7_nC.js +1 -0
- package/build/client/_app/immutable/nodes/12.DeyT7_nC.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.DeyT7_nC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.OqyrEgsi.js +65 -0
- package/build/client/_app/immutable/nodes/13.OqyrEgsi.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.OqyrEgsi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.Byf6opOr.js → 2.AM8fesja.js} +1 -1
- package/build/client/_app/immutable/nodes/2.AM8fesja.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.AM8fesja.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.B3j0bAgy.js → 3.BShuoOz5.js} +1 -1
- package/build/client/_app/immutable/nodes/3.BShuoOz5.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BShuoOz5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.6dtz57ii.js → 4.BD6QbApY.js} +1 -1
- package/build/client/_app/immutable/nodes/4.BD6QbApY.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BD6QbApY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.COHVaEDo.js → 5.JM_dwz0R.js} +1 -1
- package/build/client/_app/immutable/nodes/5.JM_dwz0R.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.JM_dwz0R.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Dtpom3D1.js +1 -0
- package/build/client/_app/immutable/nodes/7.Dtpom3D1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Dtpom3D1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.7HZSz3dS.js +1 -0
- package/build/client/_app/immutable/nodes/8.7HZSz3dS.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.7HZSz3dS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DryY3cN-.js +2 -0
- package/build/client/_app/immutable/nodes/9.DryY3cN-.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DryY3cN-.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/env.js +51 -2
- package/build/handler.js +46 -4
- package/build/index.js +25 -14
- package/build/server/chunks/0-BAlP_A7I.js +22 -0
- package/build/server/chunks/0-BAlP_A7I.js.map +1 -0
- package/build/server/chunks/1-CPazbA0M.js +9 -0
- package/build/server/chunks/1-CPazbA0M.js.map +1 -0
- package/build/server/chunks/{10-Q8FxEohX.js → 10-0G9tKOEZ.js} +4 -4
- package/build/server/chunks/10-0G9tKOEZ.js.map +1 -0
- package/build/server/chunks/{11-Dih8b_FT.js → 11-CQtj68wB.js} +4 -4
- package/build/server/chunks/11-CQtj68wB.js.map +1 -0
- package/build/server/chunks/{12-BTYK-Nix.js → 12-BxL571qn.js} +9 -4
- package/build/server/chunks/12-BxL571qn.js.map +1 -0
- package/build/server/chunks/{13-DANeaseJ.js → 13-CVnmHTU-.js} +4 -4
- package/build/server/chunks/{13-DANeaseJ.js.map → 13-CVnmHTU-.js.map} +1 -1
- package/build/server/chunks/{2-Bx656tbc.js → 2-DaZMexAs.js} +2 -2
- package/build/server/chunks/2-DaZMexAs.js.map +1 -0
- package/build/server/chunks/{3-B-zRiOJV.js → 3-Dr4vFhF1.js} +2 -2
- package/build/server/chunks/3-Dr4vFhF1.js.map +1 -0
- package/build/server/chunks/{4-BBCE4OIo.js → 4-K2WnEwm7.js} +2 -2
- package/build/server/chunks/4-K2WnEwm7.js.map +1 -0
- package/build/server/chunks/{5-D68X5smv.js → 5-Be-Du8oZ.js} +2 -2
- package/build/server/chunks/5-Be-Du8oZ.js.map +1 -0
- package/build/server/chunks/{6-ifXBeMPA.js → 6-D70sM7i2.js} +2 -2
- package/build/server/chunks/{6-ifXBeMPA.js.map → 6-D70sM7i2.js.map} +1 -1
- package/build/server/chunks/{7-BvrEDP0H.js → 7-UvrylHPO.js} +4 -4
- package/build/server/chunks/7-UvrylHPO.js.map +1 -0
- package/build/server/chunks/{8-DVSIRfD_.js → 8-BWabjnVi.js} +4 -4
- package/build/server/chunks/8-BWabjnVi.js.map +1 -0
- package/build/server/chunks/{9-DYUtK2qF.js → 9-BfXBe593.js} +4 -4
- package/build/server/chunks/9-BfXBe593.js.map +1 -0
- package/build/server/chunks/{JsonValue-EppVzWzE.js → JsonValue-W-SPP1mP.js} +4 -4
- package/build/server/chunks/JsonValue-W-SPP1mP.js.map +1 -0
- package/build/server/chunks/{Modal-eRpc5lqR.js → Modal-fWUUqg69.js} +3 -3
- package/build/server/chunks/Modal-fWUUqg69.js.map +1 -0
- package/build/server/chunks/{Panel-HO9t9Spv.js → Panel-BXokpC3w.js} +13 -6
- package/build/server/chunks/Panel-BXokpC3w.js.map +1 -0
- package/build/server/chunks/{PrettyJson-F3fqxkqU.js → PrettyJson-BRyBOmHe.js} +6 -6
- package/build/server/chunks/PrettyJson-BRyBOmHe.js.map +1 -0
- package/build/server/chunks/{Tooltip-Dd-Bzogp.js → Tooltip-1tZ4BUxU.js} +2 -2
- package/build/server/chunks/Tooltip-1tZ4BUxU.js.map +1 -0
- package/build/server/chunks/{TooltipTable-jHWezlEs.js → TooltipTable-B2QGp4YW.js} +4 -4
- package/build/server/chunks/TooltipTable-B2QGp4YW.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-CKGgUBvr.js → _layout.svelte-CblefOVC.js} +11 -10
- package/build/server/chunks/_layout.svelte-CblefOVC.js.map +1 -0
- package/build/server/chunks/{_page.svelte-ClZj6yzK.js → _page.svelte-BN0rshEY.js} +13 -12
- package/build/server/chunks/_page.svelte-BN0rshEY.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DFzKfImt.js → _page.svelte-BynsNDn8.js} +16 -15
- package/build/server/chunks/{_page.svelte-DFzKfImt.js.map → _page.svelte-BynsNDn8.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DBcsXxML.js → _page.svelte-CIbSDaPK.js} +14 -13
- package/build/server/chunks/_page.svelte-CIbSDaPK.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BlmdSnTh.js → _page.svelte-DLXpqNHi.js} +9 -8
- package/build/server/chunks/_page.svelte-DLXpqNHi.js.map +1 -0
- package/build/server/chunks/{_page.svelte-ZYW4iSHn.js → _page.svelte-LdKBnnIv.js} +17 -16
- package/build/server/chunks/_page.svelte-LdKBnnIv.js.map +1 -0
- package/build/server/chunks/{_page.svelte-D50SWEhd.js → _page.svelte-QapG7T-C.js} +14 -13
- package/build/server/chunks/_page.svelte-QapG7T-C.js.map +1 -0
- package/build/server/chunks/{_page.svelte-D8GSKYqN.js → _page.svelte-vpZZN5HP.js} +67 -20
- package/build/server/chunks/_page.svelte-vpZZN5HP.js.map +1 -0
- package/build/server/chunks/client-sMN80nsW.js +7 -0
- package/build/server/chunks/{client-Cp5ag8tA.js.map → client-sMN80nsW.js.map} +1 -1
- package/build/server/chunks/{client2-Dos6p_Xm.js → client2-Win1ekWT.js} +4 -4
- package/build/server/chunks/client2-Win1ekWT.js.map +1 -0
- package/build/server/chunks/{context-C22hLSHK.js → context-8UI9xWgq.js} +2 -3
- package/build/server/chunks/context-8UI9xWgq.js.map +1 -0
- package/build/server/chunks/error.svelte-BxPCp8kk.js +18 -0
- package/build/server/chunks/{error.svelte-BBEhCLUJ.js.map → error.svelte-BxPCp8kk.js.map} +1 -1
- package/build/server/chunks/{exports-Cv9LZeD1.js → exports-CtTNDGe5.js} +6 -6
- package/build/server/chunks/exports-CtTNDGe5.js.map +1 -0
- package/build/server/chunks/{index2-DBFlGzWV.js → index-DOCFW0vv.js} +535 -27
- package/build/server/chunks/index-DOCFW0vv.js.map +1 -0
- package/build/server/chunks/{index-Djsj11qr.js → index-wpIsICWW.js} +6 -1
- package/build/server/chunks/index-wpIsICWW.js.map +1 -0
- package/build/server/chunks/{index-DFXVwu6p.js → index2-CJE0QJlP.js} +2 -2
- package/build/server/chunks/index2-CJE0QJlP.js.map +1 -0
- package/build/server/chunks/{index3-DANRthiW.js → index3-B-GW6G4t.js} +3 -3
- package/build/server/chunks/{index3-DANRthiW.js.map → index3-B-GW6G4t.js.map} +1 -1
- package/build/server/chunks/{mongo-Ndoh6fs5.js → mongo-CpQtfvt6.js} +30 -1
- package/build/server/chunks/mongo-CpQtfvt6.js.map +1 -0
- package/build/server/chunks/{remote-xxtqbu-fbBqzvFu.js → remote-xxtqbu-CnjCJBlx.js} +6 -5
- package/build/server/chunks/remote-xxtqbu-CnjCJBlx.js.map +1 -0
- package/build/server/chunks/{servers.remote-B1eorl4A.js → servers.remote-DFtFLNmW.js} +97 -91
- package/build/server/chunks/servers.remote-DFtFLNmW.js.map +1 -0
- package/build/server/chunks/{shared-CQd3A1I4.js → shared-LVlqpKFH.js} +35 -95
- package/build/server/chunks/shared-LVlqpKFH.js.map +1 -0
- package/build/server/chunks/{state.svelte-Dm0prnTp.js → state.svelte-Cv3Dtfl4.js} +2 -2
- package/build/server/chunks/state.svelte-Cv3Dtfl4.js.map +1 -0
- package/build/server/chunks/utils-D1ahxout.js.map +1 -1
- package/build/server/chunks/utils2-DrnJY_bz.js +91 -0
- package/build/server/chunks/utils2-DrnJY_bz.js.map +1 -0
- package/build/server/index.js +826 -672
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +16 -16
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/src/api/servers.remote.ts +62 -48
- package/src/lib/components/Panel.svelte +5 -2
- package/src/lib/components/SearchBox.svelte +153 -41
- package/src/lib/server/mongo.ts +41 -0
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +40 -2
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +8 -1
- package/build/client/_app/immutable/assets/0.C_geP4pp.css +0 -1
- package/build/client/_app/immutable/assets/0.C_geP4pp.css.br +0 -0
- package/build/client/_app/immutable/assets/0.C_geP4pp.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B4aoEZ0v.js +0 -24
- package/build/client/_app/immutable/chunks/B4aoEZ0v.js.br +0 -0
- package/build/client/_app/immutable/chunks/B4aoEZ0v.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BLB7WU0x.js +0 -1
- package/build/client/_app/immutable/chunks/BLB7WU0x.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLB7WU0x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BLbeQvsT.js +0 -1
- package/build/client/_app/immutable/chunks/BLbeQvsT.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLbeQvsT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BPstE8aZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/BPstE8aZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bf7BrxKt.js +0 -16
- package/build/client/_app/immutable/chunks/Bf7BrxKt.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bf7BrxKt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bp2iD_PL.js +0 -1
- package/build/client/_app/immutable/chunks/Bp2iD_PL.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bp2iD_PL.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C7SHYyfv.js +0 -1
- package/build/client/_app/immutable/chunks/C7SHYyfv.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7SHYyfv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CItzKczS.js +0 -1
- package/build/client/_app/immutable/chunks/CItzKczS.js.br +0 -0
- package/build/client/_app/immutable/chunks/CItzKczS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CcZlJCRe.js +0 -1
- package/build/client/_app/immutable/chunks/CcZlJCRe.js.br +0 -0
- package/build/client/_app/immutable/chunks/CcZlJCRe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CqFYS5AV.js.br +0 -0
- package/build/client/_app/immutable/chunks/CqFYS5AV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DCMoR4xM.js +0 -4
- package/build/client/_app/immutable/chunks/DCMoR4xM.js.br +0 -0
- package/build/client/_app/immutable/chunks/DCMoR4xM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DOGFG_U4.js +0 -14
- package/build/client/_app/immutable/chunks/DOGFG_U4.js.br +0 -0
- package/build/client/_app/immutable/chunks/DOGFG_U4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dip-8jE5.js +0 -1
- package/build/client/_app/immutable/chunks/Dip-8jE5.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dip-8jE5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dr_XE7iR.js +0 -2
- package/build/client/_app/immutable/chunks/Dr_XE7iR.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dr_XE7iR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuLpG1zT.js +0 -1
- package/build/client/_app/immutable/chunks/DuLpG1zT.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuLpG1zT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DyfVYlRP.js +0 -1
- package/build/client/_app/immutable/chunks/DyfVYlRP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DyfVYlRP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DzvdC2Gd.js +0 -1
- package/build/client/_app/immutable/chunks/DzvdC2Gd.js.br +0 -0
- package/build/client/_app/immutable/chunks/DzvdC2Gd.js.gz +0 -0
- package/build/client/_app/immutable/chunks/OTbFjzBQ.js +0 -1
- package/build/client/_app/immutable/chunks/OTbFjzBQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/OTbFjzBQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TQ9V_LBO.js +0 -1
- package/build/client/_app/immutable/chunks/TQ9V_LBO.js.br +0 -0
- package/build/client/_app/immutable/chunks/TQ9V_LBO.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.jWGtrjtJ.js +0 -2
- package/build/client/_app/immutable/entry/app.jWGtrjtJ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.jWGtrjtJ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BSgvMa0e.js +0 -1
- package/build/client/_app/immutable/entry/start.BSgvMa0e.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BSgvMa0e.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.D5oac--o.js +0 -1
- package/build/client/_app/immutable/nodes/0.D5oac--o.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.D5oac--o.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.6YZj1h_y.js +0 -1
- package/build/client/_app/immutable/nodes/1.6YZj1h_y.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.6YZj1h_y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.BW6wwszo.js +0 -3
- package/build/client/_app/immutable/nodes/10.BW6wwszo.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.BW6wwszo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.fZbuEW5q.js +0 -1
- package/build/client/_app/immutable/nodes/11.fZbuEW5q.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.fZbuEW5q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.Gjj_PCiQ.js +0 -1
- package/build/client/_app/immutable/nodes/12.Gjj_PCiQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.Gjj_PCiQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.CPZtARGc.js +0 -65
- package/build/client/_app/immutable/nodes/13.CPZtARGc.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.CPZtARGc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.Byf6opOr.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Byf6opOr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B3j0bAgy.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B3j0bAgy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.6dtz57ii.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.6dtz57ii.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.COHVaEDo.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.COHVaEDo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.4ml51zZU.js +0 -1
- package/build/client/_app/immutable/nodes/7.4ml51zZU.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.4ml51zZU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.NwY5pOFB.js +0 -1
- package/build/client/_app/immutable/nodes/8.NwY5pOFB.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.NwY5pOFB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.C_rnhcuh.js +0 -2
- package/build/client/_app/immutable/nodes/9.C_rnhcuh.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.C_rnhcuh.js.gz +0 -0
- package/build/server/chunks/0-B2WscjW7.js +0 -22
- package/build/server/chunks/0-B2WscjW7.js.map +0 -1
- package/build/server/chunks/1-B9coRC5J.js +0 -9
- package/build/server/chunks/1-B9coRC5J.js.map +0 -1
- package/build/server/chunks/10-Q8FxEohX.js.map +0 -1
- package/build/server/chunks/11-Dih8b_FT.js.map +0 -1
- package/build/server/chunks/12-BTYK-Nix.js.map +0 -1
- package/build/server/chunks/2-Bx656tbc.js.map +0 -1
- package/build/server/chunks/3-B-zRiOJV.js.map +0 -1
- package/build/server/chunks/4-BBCE4OIo.js.map +0 -1
- package/build/server/chunks/5-D68X5smv.js.map +0 -1
- package/build/server/chunks/7-BvrEDP0H.js.map +0 -1
- package/build/server/chunks/8-DVSIRfD_.js.map +0 -1
- package/build/server/chunks/9-DYUtK2qF.js.map +0 -1
- package/build/server/chunks/JsonValue-EppVzWzE.js.map +0 -1
- package/build/server/chunks/Modal-eRpc5lqR.js.map +0 -1
- package/build/server/chunks/Panel-HO9t9Spv.js.map +0 -1
- package/build/server/chunks/PrettyJson-F3fqxkqU.js.map +0 -1
- package/build/server/chunks/Tooltip-Dd-Bzogp.js.map +0 -1
- package/build/server/chunks/TooltipTable-jHWezlEs.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CKGgUBvr.js.map +0 -1
- package/build/server/chunks/_page.svelte-BlmdSnTh.js.map +0 -1
- package/build/server/chunks/_page.svelte-ClZj6yzK.js.map +0 -1
- package/build/server/chunks/_page.svelte-D50SWEhd.js.map +0 -1
- package/build/server/chunks/_page.svelte-D8GSKYqN.js.map +0 -1
- package/build/server/chunks/_page.svelte-DBcsXxML.js.map +0 -1
- package/build/server/chunks/_page.svelte-ZYW4iSHn.js.map +0 -1
- package/build/server/chunks/client-Cp5ag8tA.js +0 -7
- package/build/server/chunks/client2-Dos6p_Xm.js.map +0 -1
- package/build/server/chunks/context-C22hLSHK.js.map +0 -1
- package/build/server/chunks/error.svelte-BBEhCLUJ.js +0 -18
- package/build/server/chunks/exports-Cv9LZeD1.js.map +0 -1
- package/build/server/chunks/index-DFXVwu6p.js.map +0 -1
- package/build/server/chunks/index-Djsj11qr.js.map +0 -1
- package/build/server/chunks/index2-DBFlGzWV.js.map +0 -1
- package/build/server/chunks/mongo-Ndoh6fs5.js.map +0 -1
- package/build/server/chunks/remote-xxtqbu-fbBqzvFu.js.map +0 -1
- package/build/server/chunks/servers.remote-B1eorl4A.js.map +0 -1
- package/build/server/chunks/shared-CQd3A1I4.js.map +0 -1
- package/build/server/chunks/state.svelte-Dm0prnTp.js.map +0 -1
- package/src/lib/components/TimeRangeStats.svelte +0 -269
package/build/server/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { j as json, t as text, R as Redirect,
|
|
2
|
-
import { w as with_request_store, d as text_encoder, e as get_relative_path, c as base64_encode
|
|
1
|
+
import { S as SvelteKitError, j as json, t as text, R as Redirect, H as HttpError, e as error, A as ActionFailure } from './chunks/index-wpIsICWW.js';
|
|
2
|
+
import { a as text_decoder, w as with_request_store, d as text_encoder, e as get_relative_path, c as base64_encode } from './chunks/utils-D1ahxout.js';
|
|
3
3
|
import { b as base, a as app_dir, e as exec, c as assets, d as relative, o as override, f as reset } from './chunks/routing-e10vGH37.js';
|
|
4
|
-
import { T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, c as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { p as parse, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, c as create_remote_key, a as parse_remote_arg, b as stringify, d as stringify$1 } from './chunks/shared-LVlqpKFH.js';
|
|
5
|
+
import { r as render, L as LEGACY_PROPS, C as CONNECTED, E as ERROR_VALUE, i as COMMENT_NODE, H as HYDRATION_START, j as HYDRATION_ERROR, S as STATE_SYMBOL, U as UNINITIALIZED, D as DERIVED, k as DIRTY, M as MAYBE_DIRTY, l as CLEAN, I as INERT, B as BOUNDARY_EFFECT, m as EFFECT, R as RENDER_EFFECT, n as MANAGED_EFFECT, o as BLOCK_EFFECT, W as WAS_MARKED, p as is_passive_event, q as BRANCH_EFFECT, t as ROOT_EFFECT, u as DESTROYED, A as ASYNC, v as HEAD_EFFECT, w as REACTION_IS_UPDATING, x as EFFECT_RAN, y as EFFECT_PRESERVED, z as EFFECT_TRANSPARENT, F as EAGER_EFFECT, G as STALE_REACTION, J as HYDRATION_END, K as HYDRATION_START_ELSE, N as USER_EFFECT, O as uneval } from './chunks/index-DOCFW0vv.js';
|
|
6
|
+
import { d as decode_pathname, a as decode_params, n as normalize_path, b as disable_search, v as validate_layout_server_exports, c as validate_layout_exports, e as validate_page_server_exports, f as validate_page_exports, r as resolve, m as make_trackable } from './chunks/exports-CtTNDGe5.js';
|
|
7
|
+
import { s as safe_equals, e as equals, r as readable, w as writable } from './chunks/index2-CJE0QJlP.js';
|
|
8
|
+
import { c as define_property, o as object_prototype, f as array_prototype, h as get_descriptor, j as is_extensible, k as array_from, l as get_prototype_of, m as is_array, d as deferred, r as run_all, q as index_of, t as setContext } from './chunks/context-8UI9xWgq.js';
|
|
9
9
|
import { a as async_mode_flag, t as tracing_mode_flag } from './chunks/async-lVJA8xJZ.js';
|
|
10
|
+
import './chunks/utils2-DrnJY_bz.js';
|
|
10
11
|
|
|
11
12
|
const DEV = false;
|
|
12
13
|
|
|
@@ -26,6 +27,312 @@ function merge_tracing(event_like, current) {
|
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
function set_nested_value(object, path_string, value) {
|
|
31
|
+
if (path_string.startsWith("n:")) {
|
|
32
|
+
path_string = path_string.slice(2);
|
|
33
|
+
value = value === "" ? void 0 : parseFloat(value);
|
|
34
|
+
} else if (path_string.startsWith("b:")) {
|
|
35
|
+
path_string = path_string.slice(2);
|
|
36
|
+
value = value === "on";
|
|
37
|
+
}
|
|
38
|
+
deep_set(object, split_path(path_string), value);
|
|
39
|
+
}
|
|
40
|
+
function convert_formdata(data) {
|
|
41
|
+
const result = {};
|
|
42
|
+
for (let key of data.keys()) {
|
|
43
|
+
const is_array = key.endsWith("[]");
|
|
44
|
+
let values = data.getAll(key);
|
|
45
|
+
if (is_array) key = key.slice(0, -2);
|
|
46
|
+
if (values.length > 1 && !is_array) {
|
|
47
|
+
throw new Error(`Form cannot contain duplicated keys — "${key}" has ${values.length} values`);
|
|
48
|
+
}
|
|
49
|
+
values = values.filter(
|
|
50
|
+
(entry) => typeof entry === "string" || entry.name !== "" || entry.size > 0
|
|
51
|
+
);
|
|
52
|
+
if (key.startsWith("n:")) {
|
|
53
|
+
key = key.slice(2);
|
|
54
|
+
values = values.map((v) => v === "" ? void 0 : parseFloat(
|
|
55
|
+
/** @type {string} */
|
|
56
|
+
v
|
|
57
|
+
));
|
|
58
|
+
} else if (key.startsWith("b:")) {
|
|
59
|
+
key = key.slice(2);
|
|
60
|
+
values = values.map((v) => v === "on");
|
|
61
|
+
}
|
|
62
|
+
set_nested_value(result, key, is_array ? values : values[0]);
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
const BINARY_FORM_CONTENT_TYPE = "application/x-sveltekit-formdata";
|
|
67
|
+
const BINARY_FORM_VERSION = 0;
|
|
68
|
+
const HEADER_BYTES = 1 + 4 + 2;
|
|
69
|
+
async function deserialize_binary_form(request) {
|
|
70
|
+
if (request.headers.get("content-type") !== BINARY_FORM_CONTENT_TYPE) {
|
|
71
|
+
const form_data = await request.formData();
|
|
72
|
+
return { data: convert_formdata(form_data), meta: {}, form_data };
|
|
73
|
+
}
|
|
74
|
+
if (!request.body) {
|
|
75
|
+
throw deserialize_error("no body");
|
|
76
|
+
}
|
|
77
|
+
const content_length = parseInt(request.headers.get("content-length") ?? "");
|
|
78
|
+
if (Number.isNaN(content_length)) {
|
|
79
|
+
throw deserialize_error("invalid Content-Length header");
|
|
80
|
+
}
|
|
81
|
+
const reader = request.body.getReader();
|
|
82
|
+
const chunks = [];
|
|
83
|
+
function get_chunk(index) {
|
|
84
|
+
if (index in chunks) return chunks[index];
|
|
85
|
+
let i = chunks.length;
|
|
86
|
+
while (i <= index) {
|
|
87
|
+
chunks[i] = reader.read().then((chunk) => chunk.value);
|
|
88
|
+
i++;
|
|
89
|
+
}
|
|
90
|
+
return chunks[index];
|
|
91
|
+
}
|
|
92
|
+
async function get_buffer(offset, length) {
|
|
93
|
+
let start_chunk;
|
|
94
|
+
let chunk_start = 0;
|
|
95
|
+
let chunk_index;
|
|
96
|
+
for (chunk_index = 0; ; chunk_index++) {
|
|
97
|
+
const chunk = await get_chunk(chunk_index);
|
|
98
|
+
if (!chunk) return null;
|
|
99
|
+
const chunk_end = chunk_start + chunk.byteLength;
|
|
100
|
+
if (offset >= chunk_start && offset < chunk_end) {
|
|
101
|
+
start_chunk = chunk;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
chunk_start = chunk_end;
|
|
105
|
+
}
|
|
106
|
+
if (offset + length <= chunk_start + start_chunk.byteLength) {
|
|
107
|
+
return start_chunk.subarray(offset - chunk_start, offset + length - chunk_start);
|
|
108
|
+
}
|
|
109
|
+
const chunks2 = [start_chunk.subarray(offset - chunk_start)];
|
|
110
|
+
let cursor = start_chunk.byteLength - offset + chunk_start;
|
|
111
|
+
while (cursor < length) {
|
|
112
|
+
chunk_index++;
|
|
113
|
+
let chunk = await get_chunk(chunk_index);
|
|
114
|
+
if (!chunk) return null;
|
|
115
|
+
if (chunk.byteLength > length - cursor) {
|
|
116
|
+
chunk = chunk.subarray(0, length - cursor);
|
|
117
|
+
}
|
|
118
|
+
chunks2.push(chunk);
|
|
119
|
+
cursor += chunk.byteLength;
|
|
120
|
+
}
|
|
121
|
+
const buffer = new Uint8Array(length);
|
|
122
|
+
cursor = 0;
|
|
123
|
+
for (const chunk of chunks2) {
|
|
124
|
+
buffer.set(chunk, cursor);
|
|
125
|
+
cursor += chunk.byteLength;
|
|
126
|
+
}
|
|
127
|
+
return buffer;
|
|
128
|
+
}
|
|
129
|
+
const header = await get_buffer(0, HEADER_BYTES);
|
|
130
|
+
if (!header) throw deserialize_error("too short");
|
|
131
|
+
if (header[0] !== BINARY_FORM_VERSION) {
|
|
132
|
+
throw deserialize_error(`got version ${header[0]}, expected version ${BINARY_FORM_VERSION}`);
|
|
133
|
+
}
|
|
134
|
+
const header_view = new DataView(header.buffer, header.byteOffset, header.byteLength);
|
|
135
|
+
const data_length = header_view.getUint32(1, true);
|
|
136
|
+
if (HEADER_BYTES + data_length > content_length) {
|
|
137
|
+
throw deserialize_error("data overflow");
|
|
138
|
+
}
|
|
139
|
+
const file_offsets_length = header_view.getUint16(5, true);
|
|
140
|
+
if (HEADER_BYTES + data_length + file_offsets_length > content_length) {
|
|
141
|
+
throw deserialize_error("file offset table overflow");
|
|
142
|
+
}
|
|
143
|
+
const data_buffer = await get_buffer(HEADER_BYTES, data_length);
|
|
144
|
+
if (!data_buffer) throw deserialize_error("data too short");
|
|
145
|
+
let file_offsets;
|
|
146
|
+
let files_start_offset;
|
|
147
|
+
if (file_offsets_length > 0) {
|
|
148
|
+
const file_offsets_buffer = await get_buffer(HEADER_BYTES + data_length, file_offsets_length);
|
|
149
|
+
if (!file_offsets_buffer) throw deserialize_error("file offset table too short");
|
|
150
|
+
file_offsets = /** @type {Array<number>} */
|
|
151
|
+
JSON.parse(text_decoder.decode(file_offsets_buffer));
|
|
152
|
+
files_start_offset = HEADER_BYTES + data_length + file_offsets_length;
|
|
153
|
+
}
|
|
154
|
+
const [data, meta] = parse(text_decoder.decode(data_buffer), {
|
|
155
|
+
File: ([name, type, size, last_modified, index]) => {
|
|
156
|
+
if (files_start_offset + file_offsets[index] + size > content_length) {
|
|
157
|
+
throw deserialize_error("file data overflow");
|
|
158
|
+
}
|
|
159
|
+
return new Proxy(
|
|
160
|
+
new LazyFile(
|
|
161
|
+
name,
|
|
162
|
+
type,
|
|
163
|
+
size,
|
|
164
|
+
last_modified,
|
|
165
|
+
get_chunk,
|
|
166
|
+
files_start_offset + file_offsets[index]
|
|
167
|
+
),
|
|
168
|
+
{
|
|
169
|
+
getPrototypeOf() {
|
|
170
|
+
return File.prototype;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
void (async () => {
|
|
177
|
+
let has_more = true;
|
|
178
|
+
while (has_more) {
|
|
179
|
+
const chunk = await get_chunk(chunks.length);
|
|
180
|
+
has_more = !!chunk;
|
|
181
|
+
}
|
|
182
|
+
})();
|
|
183
|
+
return { data, meta, form_data: null };
|
|
184
|
+
}
|
|
185
|
+
function deserialize_error(message) {
|
|
186
|
+
return new SvelteKitError(400, "Bad Request", `Could not deserialize binary form: ${message}`);
|
|
187
|
+
}
|
|
188
|
+
class LazyFile {
|
|
189
|
+
/** @type {(index: number) => Promise<Uint8Array<ArrayBuffer> | undefined>} */
|
|
190
|
+
#get_chunk;
|
|
191
|
+
/** @type {number} */
|
|
192
|
+
#offset;
|
|
193
|
+
/**
|
|
194
|
+
* @param {string} name
|
|
195
|
+
* @param {string} type
|
|
196
|
+
* @param {number} size
|
|
197
|
+
* @param {number} last_modified
|
|
198
|
+
* @param {(index: number) => Promise<Uint8Array<ArrayBuffer> | undefined>} get_chunk
|
|
199
|
+
* @param {number} offset
|
|
200
|
+
*/
|
|
201
|
+
constructor(name, type, size, last_modified, get_chunk, offset) {
|
|
202
|
+
this.name = name;
|
|
203
|
+
this.type = type;
|
|
204
|
+
this.size = size;
|
|
205
|
+
this.lastModified = last_modified;
|
|
206
|
+
this.webkitRelativePath = "";
|
|
207
|
+
this.#get_chunk = get_chunk;
|
|
208
|
+
this.#offset = offset;
|
|
209
|
+
this.arrayBuffer = this.arrayBuffer.bind(this);
|
|
210
|
+
this.bytes = this.bytes.bind(this);
|
|
211
|
+
this.slice = this.slice.bind(this);
|
|
212
|
+
this.stream = this.stream.bind(this);
|
|
213
|
+
this.text = this.text.bind(this);
|
|
214
|
+
}
|
|
215
|
+
/** @type {ArrayBuffer | undefined} */
|
|
216
|
+
#buffer;
|
|
217
|
+
async arrayBuffer() {
|
|
218
|
+
this.#buffer ??= await new Response(this.stream()).arrayBuffer();
|
|
219
|
+
return this.#buffer;
|
|
220
|
+
}
|
|
221
|
+
async bytes() {
|
|
222
|
+
return new Uint8Array(await this.arrayBuffer());
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* @param {number=} start
|
|
226
|
+
* @param {number=} end
|
|
227
|
+
* @param {string=} contentType
|
|
228
|
+
*/
|
|
229
|
+
slice(start = 0, end = this.size, contentType = this.type) {
|
|
230
|
+
if (start < 0) {
|
|
231
|
+
start = Math.max(this.size + start, 0);
|
|
232
|
+
} else {
|
|
233
|
+
start = Math.min(start, this.size);
|
|
234
|
+
}
|
|
235
|
+
if (end < 0) {
|
|
236
|
+
end = Math.max(this.size + end, 0);
|
|
237
|
+
} else {
|
|
238
|
+
end = Math.min(end, this.size);
|
|
239
|
+
}
|
|
240
|
+
const size = Math.max(end - start, 0);
|
|
241
|
+
const file = new LazyFile(
|
|
242
|
+
this.name,
|
|
243
|
+
contentType,
|
|
244
|
+
size,
|
|
245
|
+
this.lastModified,
|
|
246
|
+
this.#get_chunk,
|
|
247
|
+
this.#offset + start
|
|
248
|
+
);
|
|
249
|
+
return file;
|
|
250
|
+
}
|
|
251
|
+
stream() {
|
|
252
|
+
let cursor = 0;
|
|
253
|
+
let chunk_index = 0;
|
|
254
|
+
return new ReadableStream({
|
|
255
|
+
start: async (controller) => {
|
|
256
|
+
let chunk_start = 0;
|
|
257
|
+
let start_chunk = null;
|
|
258
|
+
for (chunk_index = 0; ; chunk_index++) {
|
|
259
|
+
const chunk = await this.#get_chunk(chunk_index);
|
|
260
|
+
if (!chunk) return null;
|
|
261
|
+
const chunk_end = chunk_start + chunk.byteLength;
|
|
262
|
+
if (this.#offset >= chunk_start && this.#offset < chunk_end) {
|
|
263
|
+
start_chunk = chunk;
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
chunk_start = chunk_end;
|
|
267
|
+
}
|
|
268
|
+
if (this.#offset + this.size <= chunk_start + start_chunk.byteLength) {
|
|
269
|
+
controller.enqueue(
|
|
270
|
+
start_chunk.subarray(this.#offset - chunk_start, this.#offset + this.size - chunk_start)
|
|
271
|
+
);
|
|
272
|
+
controller.close();
|
|
273
|
+
} else {
|
|
274
|
+
controller.enqueue(start_chunk.subarray(this.#offset - chunk_start));
|
|
275
|
+
cursor = start_chunk.byteLength - this.#offset + chunk_start;
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
pull: async (controller) => {
|
|
279
|
+
chunk_index++;
|
|
280
|
+
let chunk = await this.#get_chunk(chunk_index);
|
|
281
|
+
if (!chunk) {
|
|
282
|
+
controller.error("incomplete file data");
|
|
283
|
+
controller.close();
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
if (chunk.byteLength > this.size - cursor) {
|
|
287
|
+
chunk = chunk.subarray(0, this.size - cursor);
|
|
288
|
+
}
|
|
289
|
+
controller.enqueue(chunk);
|
|
290
|
+
cursor += chunk.byteLength;
|
|
291
|
+
if (cursor >= this.size) {
|
|
292
|
+
controller.close();
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
async text() {
|
|
298
|
+
return text_decoder.decode(await this.arrayBuffer());
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
const path_regex = /^[a-zA-Z_$]\w*(\.[a-zA-Z_$]\w*|\[\d+\])*$/;
|
|
302
|
+
function split_path(path) {
|
|
303
|
+
if (!path_regex.test(path)) {
|
|
304
|
+
throw new Error(`Invalid path ${path}`);
|
|
305
|
+
}
|
|
306
|
+
return path.split(/\.|\[|\]/).filter(Boolean);
|
|
307
|
+
}
|
|
308
|
+
function check_prototype_pollution(key) {
|
|
309
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
|
310
|
+
throw new Error(
|
|
311
|
+
`Invalid key "${key}"`
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
function deep_set(object, keys, value) {
|
|
316
|
+
let current = object;
|
|
317
|
+
for (let i = 0; i < keys.length - 1; i += 1) {
|
|
318
|
+
const key = keys[i];
|
|
319
|
+
check_prototype_pollution(key);
|
|
320
|
+
const is_array = /^\d+$/.test(keys[i + 1]);
|
|
321
|
+
const exists = Object.hasOwn(current, key);
|
|
322
|
+
const inner = current[key];
|
|
323
|
+
if (exists && is_array !== Array.isArray(inner)) {
|
|
324
|
+
throw new Error(`Invalid array key ${keys[i + 1]}`);
|
|
325
|
+
}
|
|
326
|
+
if (!exists) {
|
|
327
|
+
current[key] = is_array ? [] : {};
|
|
328
|
+
}
|
|
329
|
+
current = current[key];
|
|
330
|
+
}
|
|
331
|
+
const final_key = keys[keys.length - 1];
|
|
332
|
+
check_prototype_pollution(final_key);
|
|
333
|
+
current[final_key] = value;
|
|
334
|
+
}
|
|
335
|
+
|
|
29
336
|
let public_env = {};
|
|
30
337
|
function set_private_env(environment) {
|
|
31
338
|
}
|
|
@@ -37,11 +344,6 @@ function effect_update_depth_exceeded() {
|
|
|
37
344
|
throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);
|
|
38
345
|
}
|
|
39
346
|
}
|
|
40
|
-
function flush_sync_in_effect() {
|
|
41
|
-
{
|
|
42
|
-
throw new Error(`https://svelte.dev/e/flush_sync_in_effect`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
347
|
function hydration_failed() {
|
|
46
348
|
{
|
|
47
349
|
throw new Error(`https://svelte.dev/e/hydration_failed`);
|
|
@@ -90,10 +392,7 @@ function set_hydrate_node(node) {
|
|
|
90
392
|
return hydrate_node = node;
|
|
91
393
|
}
|
|
92
394
|
function hydrate_next() {
|
|
93
|
-
return set_hydrate_node(
|
|
94
|
-
/** @type {TemplateNode} */
|
|
95
|
-
/* @__PURE__ */ get_next_sibling(hydrate_node)
|
|
96
|
-
);
|
|
395
|
+
return set_hydrate_node(/* @__PURE__ */ get_next_sibling(hydrate_node));
|
|
97
396
|
}
|
|
98
397
|
function next(count = 1) {
|
|
99
398
|
if (hydrating) {
|
|
@@ -137,6 +436,7 @@ function set_component_context(context) {
|
|
|
137
436
|
function push(props, runes = false, fn) {
|
|
138
437
|
component_context = {
|
|
139
438
|
p: component_context,
|
|
439
|
+
i: false,
|
|
140
440
|
c: null,
|
|
141
441
|
e: null,
|
|
142
442
|
s: props,
|
|
@@ -156,6 +456,7 @@ function pop(component) {
|
|
|
156
456
|
create_user_effect(fn);
|
|
157
457
|
}
|
|
158
458
|
}
|
|
459
|
+
context.i = true;
|
|
159
460
|
component_context = context.p;
|
|
160
461
|
return (
|
|
161
462
|
/** @type {T} */
|
|
@@ -185,7 +486,6 @@ function flush_tasks() {
|
|
|
185
486
|
run_micro_tasks();
|
|
186
487
|
}
|
|
187
488
|
}
|
|
188
|
-
const adjustments = /* @__PURE__ */ new WeakMap();
|
|
189
489
|
function handle_error(error) {
|
|
190
490
|
var effect = active_effect;
|
|
191
491
|
if (effect === null) {
|
|
@@ -194,9 +494,6 @@ function handle_error(error) {
|
|
|
194
494
|
}
|
|
195
495
|
if ((effect.f & EFFECT_RAN) === 0) {
|
|
196
496
|
if ((effect.f & BOUNDARY_EFFECT) === 0) {
|
|
197
|
-
if (!effect.parent && error instanceof Error) {
|
|
198
|
-
apply_adjustments(error);
|
|
199
|
-
}
|
|
200
497
|
throw error;
|
|
201
498
|
}
|
|
202
499
|
effect.b.error(error);
|
|
@@ -216,31 +513,50 @@ function invoke_error_boundary(error, effect) {
|
|
|
216
513
|
}
|
|
217
514
|
effect = effect.parent;
|
|
218
515
|
}
|
|
219
|
-
if (error instanceof Error) {
|
|
220
|
-
apply_adjustments(error);
|
|
221
|
-
}
|
|
222
516
|
throw error;
|
|
223
517
|
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
518
|
+
const STATUS_MASK = -7169;
|
|
519
|
+
function set_signal_status(signal, status) {
|
|
520
|
+
signal.f = signal.f & STATUS_MASK | status;
|
|
521
|
+
}
|
|
522
|
+
function update_derived_status(derived) {
|
|
523
|
+
if ((derived.f & CONNECTED) !== 0 || derived.deps === null) {
|
|
524
|
+
set_signal_status(derived, CLEAN);
|
|
525
|
+
} else {
|
|
526
|
+
set_signal_status(derived, MAYBE_DIRTY);
|
|
233
527
|
}
|
|
234
528
|
}
|
|
529
|
+
function clear_marked(deps) {
|
|
530
|
+
if (deps === null) return;
|
|
531
|
+
for (const dep of deps) {
|
|
532
|
+
if ((dep.f & DERIVED) === 0 || (dep.f & WAS_MARKED) === 0) {
|
|
533
|
+
continue;
|
|
534
|
+
}
|
|
535
|
+
dep.f ^= WAS_MARKED;
|
|
536
|
+
clear_marked(
|
|
537
|
+
/** @type {Derived} */
|
|
538
|
+
dep.deps
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
function defer_effect(effect, dirty_effects, maybe_dirty_effects) {
|
|
543
|
+
if ((effect.f & DIRTY) !== 0) {
|
|
544
|
+
dirty_effects.add(effect);
|
|
545
|
+
} else if ((effect.f & MAYBE_DIRTY) !== 0) {
|
|
546
|
+
maybe_dirty_effects.add(effect);
|
|
547
|
+
}
|
|
548
|
+
clear_marked(effect.deps);
|
|
549
|
+
set_signal_status(effect, CLEAN);
|
|
550
|
+
}
|
|
235
551
|
const batches = /* @__PURE__ */ new Set();
|
|
236
552
|
let current_batch = null;
|
|
237
553
|
let batch_values = null;
|
|
238
|
-
let effect_pending_updates = /* @__PURE__ */ new Set();
|
|
239
554
|
let queued_root_effects = [];
|
|
240
555
|
let last_scheduled_effect = null;
|
|
241
556
|
let is_flushing = false;
|
|
242
557
|
let is_flushing_sync = false;
|
|
243
558
|
class Batch {
|
|
559
|
+
committed = false;
|
|
244
560
|
/**
|
|
245
561
|
* The current values of any sources that are updated in this batch
|
|
246
562
|
* They keys of this map are identical to `this.#previous`
|
|
@@ -252,56 +568,52 @@ class Batch {
|
|
|
252
568
|
* They keys of this map are identical to `this.#current`
|
|
253
569
|
* @type {Map<Source, any>}
|
|
254
570
|
*/
|
|
255
|
-
|
|
571
|
+
previous = /* @__PURE__ */ new Map();
|
|
256
572
|
/**
|
|
257
573
|
* When the batch is committed (and the DOM is updated), we need to remove old branches
|
|
258
574
|
* and append new ones by calling the functions added inside (if/each/key/etc) blocks
|
|
259
575
|
* @type {Set<() => void>}
|
|
260
576
|
*/
|
|
261
|
-
#
|
|
577
|
+
#commit_callbacks = /* @__PURE__ */ new Set();
|
|
578
|
+
/**
|
|
579
|
+
* If a fork is discarded, we need to destroy any effects that are no longer needed
|
|
580
|
+
* @type {Set<(batch: Batch) => void>}
|
|
581
|
+
*/
|
|
582
|
+
#discard_callbacks = /* @__PURE__ */ new Set();
|
|
262
583
|
/**
|
|
263
584
|
* The number of async effects that are currently in flight
|
|
264
585
|
*/
|
|
265
586
|
#pending = 0;
|
|
587
|
+
/**
|
|
588
|
+
* The number of async effects that are currently in flight, _not_ inside a pending boundary
|
|
589
|
+
*/
|
|
590
|
+
#blocking_pending = 0;
|
|
266
591
|
/**
|
|
267
592
|
* A deferred that resolves when the batch is committed, used with `settled()`
|
|
268
593
|
* TODO replace with Promise.withResolvers once supported widely enough
|
|
269
594
|
* @type {{ promise: Promise<void>, resolve: (value?: any) => void, reject: (reason: unknown) => void } | null}
|
|
270
595
|
*/
|
|
271
596
|
#deferred = null;
|
|
272
|
-
/**
|
|
273
|
-
* Template effects and `$effect.pre` effects, which run when
|
|
274
|
-
* a batch is committed
|
|
275
|
-
* @type {Effect[]}
|
|
276
|
-
*/
|
|
277
|
-
#render_effects = [];
|
|
278
|
-
/**
|
|
279
|
-
* The same as `#render_effects`, but for `$effect` (which runs after)
|
|
280
|
-
* @type {Effect[]}
|
|
281
|
-
*/
|
|
282
|
-
#effects = [];
|
|
283
|
-
/**
|
|
284
|
-
* Block effects, which may need to re-run on subsequent flushes
|
|
285
|
-
* in order to update internal sources (e.g. each block items)
|
|
286
|
-
* @type {Effect[]}
|
|
287
|
-
*/
|
|
288
|
-
#block_effects = [];
|
|
289
597
|
/**
|
|
290
598
|
* Deferred effects (which run after async work has completed) that are DIRTY
|
|
291
|
-
* @type {Effect
|
|
599
|
+
* @type {Set<Effect>}
|
|
292
600
|
*/
|
|
293
|
-
#dirty_effects =
|
|
601
|
+
#dirty_effects = /* @__PURE__ */ new Set();
|
|
294
602
|
/**
|
|
295
603
|
* Deferred effects that are MAYBE_DIRTY
|
|
296
|
-
* @type {Effect
|
|
604
|
+
* @type {Set<Effect>}
|
|
297
605
|
*/
|
|
298
|
-
#maybe_dirty_effects =
|
|
606
|
+
#maybe_dirty_effects = /* @__PURE__ */ new Set();
|
|
299
607
|
/**
|
|
300
608
|
* A set of branches that still exist, but will be destroyed when this batch
|
|
301
609
|
* is committed — we skip over these during `process`
|
|
302
610
|
* @type {Set<Effect>}
|
|
303
611
|
*/
|
|
304
612
|
skipped_effects = /* @__PURE__ */ new Set();
|
|
613
|
+
is_fork = false;
|
|
614
|
+
is_deferred() {
|
|
615
|
+
return this.is_fork || this.#blocking_pending > 0;
|
|
616
|
+
}
|
|
305
617
|
/**
|
|
306
618
|
*
|
|
307
619
|
* @param {Effect[]} root_effects
|
|
@@ -309,26 +621,22 @@ class Batch {
|
|
|
309
621
|
process(root_effects) {
|
|
310
622
|
queued_root_effects = [];
|
|
311
623
|
this.apply();
|
|
624
|
+
var effects = [];
|
|
625
|
+
var render_effects = [];
|
|
312
626
|
for (const root2 of root_effects) {
|
|
313
|
-
this.#traverse_effect_tree(root2);
|
|
627
|
+
this.#traverse_effect_tree(root2, effects, render_effects);
|
|
314
628
|
}
|
|
315
|
-
if (this
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
this.#
|
|
321
|
-
|
|
322
|
-
this.#block_effects = [];
|
|
629
|
+
if (!this.is_fork) {
|
|
630
|
+
this.#resolve();
|
|
631
|
+
}
|
|
632
|
+
if (this.is_deferred()) {
|
|
633
|
+
this.#defer_effects(render_effects);
|
|
634
|
+
this.#defer_effects(effects);
|
|
635
|
+
} else {
|
|
323
636
|
current_batch = null;
|
|
324
|
-
batch_values = previous_batch_sources;
|
|
325
637
|
flush_queued_effects(render_effects);
|
|
326
638
|
flush_queued_effects(effects);
|
|
327
639
|
this.#deferred?.resolve();
|
|
328
|
-
} else {
|
|
329
|
-
this.#defer_effects(this.#render_effects);
|
|
330
|
-
this.#defer_effects(this.#effects);
|
|
331
|
-
this.#defer_effects(this.#block_effects);
|
|
332
640
|
}
|
|
333
641
|
batch_values = null;
|
|
334
642
|
}
|
|
@@ -336,24 +644,32 @@ class Batch {
|
|
|
336
644
|
* Traverse the effect tree, executing effects or stashing
|
|
337
645
|
* them for later execution as appropriate
|
|
338
646
|
* @param {Effect} root
|
|
647
|
+
* @param {Effect[]} effects
|
|
648
|
+
* @param {Effect[]} render_effects
|
|
339
649
|
*/
|
|
340
|
-
#traverse_effect_tree(root2) {
|
|
650
|
+
#traverse_effect_tree(root2, effects, render_effects) {
|
|
341
651
|
root2.f ^= CLEAN;
|
|
342
652
|
var effect = root2.first;
|
|
653
|
+
var pending_boundary = null;
|
|
343
654
|
while (effect !== null) {
|
|
344
655
|
var flags2 = effect.f;
|
|
345
656
|
var is_branch = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;
|
|
346
657
|
var is_skippable_branch = is_branch && (flags2 & CLEAN) !== 0;
|
|
347
658
|
var skip = is_skippable_branch || (flags2 & INERT) !== 0 || this.skipped_effects.has(effect);
|
|
659
|
+
if (async_mode_flag && pending_boundary === null && (flags2 & BOUNDARY_EFFECT) !== 0 && effect.b?.is_pending) {
|
|
660
|
+
pending_boundary = effect;
|
|
661
|
+
}
|
|
348
662
|
if (!skip && effect.fn !== null) {
|
|
349
663
|
if (is_branch) {
|
|
350
664
|
effect.f ^= CLEAN;
|
|
665
|
+
} else if (pending_boundary !== null && (flags2 & (EFFECT | RENDER_EFFECT | MANAGED_EFFECT)) !== 0) {
|
|
666
|
+
pending_boundary.b.defer_effect(effect);
|
|
351
667
|
} else if ((flags2 & EFFECT) !== 0) {
|
|
352
|
-
|
|
353
|
-
} else if (async_mode_flag && (flags2 & RENDER_EFFECT) !== 0) {
|
|
354
|
-
|
|
668
|
+
effects.push(effect);
|
|
669
|
+
} else if (async_mode_flag && (flags2 & (RENDER_EFFECT | MANAGED_EFFECT)) !== 0) {
|
|
670
|
+
render_effects.push(effect);
|
|
355
671
|
} else if (is_dirty(effect)) {
|
|
356
|
-
if ((
|
|
672
|
+
if ((flags2 & BLOCK_EFFECT) !== 0) this.#dirty_effects.add(effect);
|
|
357
673
|
update_effect(effect);
|
|
358
674
|
}
|
|
359
675
|
var child = effect.first;
|
|
@@ -365,6 +681,9 @@ class Batch {
|
|
|
365
681
|
var parent = effect.parent;
|
|
366
682
|
effect = effect.next;
|
|
367
683
|
while (effect === null && parent !== null) {
|
|
684
|
+
if (parent === pending_boundary) {
|
|
685
|
+
pending_boundary = null;
|
|
686
|
+
}
|
|
368
687
|
effect = parent.next;
|
|
369
688
|
parent = parent.parent;
|
|
370
689
|
}
|
|
@@ -374,12 +693,9 @@ class Batch {
|
|
|
374
693
|
* @param {Effect[]} effects
|
|
375
694
|
*/
|
|
376
695
|
#defer_effects(effects) {
|
|
377
|
-
for (
|
|
378
|
-
|
|
379
|
-
target.push(e);
|
|
380
|
-
set_signal_status(e, CLEAN);
|
|
696
|
+
for (var i = 0; i < effects.length; i += 1) {
|
|
697
|
+
defer_effect(effects[i], this.#dirty_effects, this.#maybe_dirty_effects);
|
|
381
698
|
}
|
|
382
|
-
effects.length = 0;
|
|
383
699
|
}
|
|
384
700
|
/**
|
|
385
701
|
* Associate a change to a given source with the current
|
|
@@ -388,49 +704,53 @@ class Batch {
|
|
|
388
704
|
* @param {any} value
|
|
389
705
|
*/
|
|
390
706
|
capture(source2, value) {
|
|
391
|
-
if (!this
|
|
392
|
-
this
|
|
707
|
+
if (value !== UNINITIALIZED && !this.previous.has(source2)) {
|
|
708
|
+
this.previous.set(source2, value);
|
|
709
|
+
}
|
|
710
|
+
if ((source2.f & ERROR_VALUE) === 0) {
|
|
711
|
+
this.current.set(source2, source2.v);
|
|
712
|
+
batch_values?.set(source2, source2.v);
|
|
393
713
|
}
|
|
394
|
-
this.current.set(source2, source2.v);
|
|
395
|
-
batch_values?.set(source2, source2.v);
|
|
396
714
|
}
|
|
397
715
|
activate() {
|
|
398
716
|
current_batch = this;
|
|
717
|
+
this.apply();
|
|
399
718
|
}
|
|
400
719
|
deactivate() {
|
|
720
|
+
if (current_batch !== this) return;
|
|
401
721
|
current_batch = null;
|
|
402
722
|
batch_values = null;
|
|
403
723
|
}
|
|
404
724
|
flush() {
|
|
725
|
+
this.activate();
|
|
405
726
|
if (queued_root_effects.length > 0) {
|
|
406
|
-
this.activate();
|
|
407
727
|
flush_effects();
|
|
408
728
|
if (current_batch !== null && current_batch !== this) {
|
|
409
729
|
return;
|
|
410
730
|
}
|
|
411
731
|
} else if (this.#pending === 0) {
|
|
412
|
-
this
|
|
732
|
+
this.process([]);
|
|
413
733
|
}
|
|
414
734
|
this.deactivate();
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
735
|
+
}
|
|
736
|
+
discard() {
|
|
737
|
+
for (const fn of this.#discard_callbacks) fn(this);
|
|
738
|
+
this.#discard_callbacks.clear();
|
|
739
|
+
}
|
|
740
|
+
#resolve() {
|
|
741
|
+
if (this.#blocking_pending === 0) {
|
|
742
|
+
for (const fn of this.#commit_callbacks) fn();
|
|
743
|
+
this.#commit_callbacks.clear();
|
|
744
|
+
}
|
|
745
|
+
if (this.#pending === 0) {
|
|
746
|
+
this.#commit();
|
|
421
747
|
}
|
|
422
748
|
}
|
|
423
|
-
/**
|
|
424
|
-
* Append and remove branches to/from the DOM
|
|
425
|
-
*/
|
|
426
749
|
#commit() {
|
|
427
|
-
for (const fn of this.#callbacks) {
|
|
428
|
-
fn();
|
|
429
|
-
}
|
|
430
|
-
this.#callbacks.clear();
|
|
431
750
|
if (batches.size > 1) {
|
|
432
|
-
this
|
|
433
|
-
|
|
751
|
+
this.previous.clear();
|
|
752
|
+
var previous_batch_values = batch_values;
|
|
753
|
+
var is_earlier = true;
|
|
434
754
|
for (const batch of batches) {
|
|
435
755
|
if (batch === this) {
|
|
436
756
|
is_earlier = false;
|
|
@@ -452,30 +772,50 @@ class Batch {
|
|
|
452
772
|
}
|
|
453
773
|
const others = [...batch.current.keys()].filter((s) => !this.current.has(s));
|
|
454
774
|
if (others.length > 0) {
|
|
775
|
+
var prev_queued_root_effects = queued_root_effects;
|
|
776
|
+
queued_root_effects = [];
|
|
777
|
+
const marked = /* @__PURE__ */ new Set();
|
|
778
|
+
const checked = /* @__PURE__ */ new Map();
|
|
455
779
|
for (const source2 of sources) {
|
|
456
|
-
mark_effects(source2, others);
|
|
780
|
+
mark_effects(source2, others, marked, checked);
|
|
457
781
|
}
|
|
458
782
|
if (queued_root_effects.length > 0) {
|
|
459
783
|
current_batch = batch;
|
|
460
784
|
batch.apply();
|
|
461
785
|
for (const root2 of queued_root_effects) {
|
|
462
|
-
batch.#traverse_effect_tree(root2);
|
|
786
|
+
batch.#traverse_effect_tree(root2, [], []);
|
|
463
787
|
}
|
|
464
|
-
queued_root_effects = [];
|
|
465
788
|
batch.deactivate();
|
|
466
789
|
}
|
|
790
|
+
queued_root_effects = prev_queued_root_effects;
|
|
467
791
|
}
|
|
468
792
|
}
|
|
469
793
|
current_batch = null;
|
|
794
|
+
batch_values = previous_batch_values;
|
|
470
795
|
}
|
|
796
|
+
this.committed = true;
|
|
471
797
|
batches.delete(this);
|
|
472
798
|
}
|
|
473
|
-
|
|
799
|
+
/**
|
|
800
|
+
*
|
|
801
|
+
* @param {boolean} blocking
|
|
802
|
+
*/
|
|
803
|
+
increment(blocking) {
|
|
474
804
|
this.#pending += 1;
|
|
805
|
+
if (blocking) this.#blocking_pending += 1;
|
|
475
806
|
}
|
|
476
|
-
|
|
807
|
+
/**
|
|
808
|
+
*
|
|
809
|
+
* @param {boolean} blocking
|
|
810
|
+
*/
|
|
811
|
+
decrement(blocking) {
|
|
477
812
|
this.#pending -= 1;
|
|
813
|
+
if (blocking) this.#blocking_pending -= 1;
|
|
814
|
+
this.revive();
|
|
815
|
+
}
|
|
816
|
+
revive() {
|
|
478
817
|
for (const e of this.#dirty_effects) {
|
|
818
|
+
this.#maybe_dirty_effects.delete(e);
|
|
479
819
|
set_signal_status(e, DIRTY);
|
|
480
820
|
schedule_effect(e);
|
|
481
821
|
}
|
|
@@ -486,8 +826,12 @@ class Batch {
|
|
|
486
826
|
this.flush();
|
|
487
827
|
}
|
|
488
828
|
/** @param {() => void} fn */
|
|
489
|
-
|
|
490
|
-
this.#
|
|
829
|
+
oncommit(fn) {
|
|
830
|
+
this.#commit_callbacks.add(fn);
|
|
831
|
+
}
|
|
832
|
+
/** @param {(batch: Batch) => void} fn */
|
|
833
|
+
ondiscard(fn) {
|
|
834
|
+
this.#discard_callbacks.add(fn);
|
|
491
835
|
}
|
|
492
836
|
settled() {
|
|
493
837
|
return (this.#deferred ??= deferred()).promise;
|
|
@@ -512,11 +856,11 @@ class Batch {
|
|
|
512
856
|
queue_micro_task(task);
|
|
513
857
|
}
|
|
514
858
|
apply() {
|
|
515
|
-
if (!async_mode_flag || batches.size === 1) return;
|
|
859
|
+
if (!async_mode_flag || !this.is_fork && batches.size === 1) return;
|
|
516
860
|
batch_values = new Map(this.current);
|
|
517
861
|
for (const batch of batches) {
|
|
518
862
|
if (batch === this) continue;
|
|
519
|
-
for (const [source2, previous] of batch
|
|
863
|
+
for (const [source2, previous] of batch.previous) {
|
|
520
864
|
if (!batch_values.has(source2)) {
|
|
521
865
|
batch_values.set(source2, previous);
|
|
522
866
|
}
|
|
@@ -525,9 +869,6 @@ class Batch {
|
|
|
525
869
|
}
|
|
526
870
|
}
|
|
527
871
|
function flushSync(fn) {
|
|
528
|
-
if (async_mode_flag && active_effect !== null) {
|
|
529
|
-
flush_sync_in_effect();
|
|
530
|
-
}
|
|
531
872
|
var was_flushing_sync = is_flushing_sync;
|
|
532
873
|
is_flushing_sync = true;
|
|
533
874
|
try {
|
|
@@ -566,6 +907,7 @@ function flush_effects() {
|
|
|
566
907
|
}
|
|
567
908
|
batch.process(queued_root_effects);
|
|
568
909
|
old_values.clear();
|
|
910
|
+
if (DEV) ;
|
|
569
911
|
}
|
|
570
912
|
} finally {
|
|
571
913
|
is_flushing = false;
|
|
@@ -588,27 +930,43 @@ function flush_queued_effects(effects) {
|
|
|
588
930
|
while (i < length) {
|
|
589
931
|
var effect = effects[i++];
|
|
590
932
|
if ((effect.f & (DESTROYED | INERT)) === 0 && is_dirty(effect)) {
|
|
591
|
-
eager_block_effects =
|
|
933
|
+
eager_block_effects = /* @__PURE__ */ new Set();
|
|
592
934
|
update_effect(effect);
|
|
593
|
-
if (effect.deps === null && effect.first === null && effect.
|
|
935
|
+
if (effect.deps === null && effect.first === null && effect.nodes === null) {
|
|
594
936
|
if (effect.teardown === null && effect.ac === null) {
|
|
595
937
|
unlink_effect(effect);
|
|
596
938
|
} else {
|
|
597
939
|
effect.fn = null;
|
|
598
940
|
}
|
|
599
941
|
}
|
|
600
|
-
if (eager_block_effects?.
|
|
942
|
+
if (eager_block_effects?.size > 0) {
|
|
601
943
|
old_values.clear();
|
|
602
944
|
for (const e of eager_block_effects) {
|
|
603
|
-
|
|
945
|
+
if ((e.f & (DESTROYED | INERT)) !== 0) continue;
|
|
946
|
+
const ordered_effects = [e];
|
|
947
|
+
let ancestor = e.parent;
|
|
948
|
+
while (ancestor !== null) {
|
|
949
|
+
if (eager_block_effects.has(ancestor)) {
|
|
950
|
+
eager_block_effects.delete(ancestor);
|
|
951
|
+
ordered_effects.push(ancestor);
|
|
952
|
+
}
|
|
953
|
+
ancestor = ancestor.parent;
|
|
954
|
+
}
|
|
955
|
+
for (let j = ordered_effects.length - 1; j >= 0; j--) {
|
|
956
|
+
const e2 = ordered_effects[j];
|
|
957
|
+
if ((e2.f & (DESTROYED | INERT)) !== 0) continue;
|
|
958
|
+
update_effect(e2);
|
|
959
|
+
}
|
|
604
960
|
}
|
|
605
|
-
eager_block_effects
|
|
961
|
+
eager_block_effects.clear();
|
|
606
962
|
}
|
|
607
963
|
}
|
|
608
964
|
}
|
|
609
965
|
eager_block_effects = null;
|
|
610
966
|
}
|
|
611
|
-
function mark_effects(value, sources) {
|
|
967
|
+
function mark_effects(value, sources, marked, checked) {
|
|
968
|
+
if (marked.has(value)) return;
|
|
969
|
+
marked.add(value);
|
|
612
970
|
if (value.reactions !== null) {
|
|
613
971
|
for (const reaction of value.reactions) {
|
|
614
972
|
const flags2 = reaction.f;
|
|
@@ -616,9 +974,11 @@ function mark_effects(value, sources) {
|
|
|
616
974
|
mark_effects(
|
|
617
975
|
/** @type {Derived} */
|
|
618
976
|
reaction,
|
|
619
|
-
sources
|
|
977
|
+
sources,
|
|
978
|
+
marked,
|
|
979
|
+
checked
|
|
620
980
|
);
|
|
621
|
-
} else if ((flags2 & (ASYNC | BLOCK_EFFECT)) !== 0 && depends_on(reaction, sources)) {
|
|
981
|
+
} else if ((flags2 & (ASYNC | BLOCK_EFFECT)) !== 0 && (flags2 & DIRTY) === 0 && depends_on(reaction, sources, checked)) {
|
|
622
982
|
set_signal_status(reaction, DIRTY);
|
|
623
983
|
schedule_effect(
|
|
624
984
|
/** @type {Effect} */
|
|
@@ -628,7 +988,9 @@ function mark_effects(value, sources) {
|
|
|
628
988
|
}
|
|
629
989
|
}
|
|
630
990
|
}
|
|
631
|
-
function depends_on(reaction, sources) {
|
|
991
|
+
function depends_on(reaction, sources, checked) {
|
|
992
|
+
const depends = checked.get(reaction);
|
|
993
|
+
if (depends !== void 0) return depends;
|
|
632
994
|
if (reaction.deps !== null) {
|
|
633
995
|
for (const dep of reaction.deps) {
|
|
634
996
|
if (sources.includes(dep)) {
|
|
@@ -637,12 +999,19 @@ function depends_on(reaction, sources) {
|
|
|
637
999
|
if ((dep.f & DERIVED) !== 0 && depends_on(
|
|
638
1000
|
/** @type {Derived} */
|
|
639
1001
|
dep,
|
|
640
|
-
sources
|
|
1002
|
+
sources,
|
|
1003
|
+
checked
|
|
641
1004
|
)) {
|
|
1005
|
+
checked.set(
|
|
1006
|
+
/** @type {Derived} */
|
|
1007
|
+
dep,
|
|
1008
|
+
true
|
|
1009
|
+
);
|
|
642
1010
|
return true;
|
|
643
1011
|
}
|
|
644
1012
|
}
|
|
645
1013
|
}
|
|
1014
|
+
checked.set(reaction, false);
|
|
646
1015
|
return false;
|
|
647
1016
|
}
|
|
648
1017
|
function schedule_effect(signal) {
|
|
@@ -650,7 +1019,7 @@ function schedule_effect(signal) {
|
|
|
650
1019
|
while (effect.parent !== null) {
|
|
651
1020
|
effect = effect.parent;
|
|
652
1021
|
var flags2 = effect.f;
|
|
653
|
-
if (is_flushing && effect === active_effect && (flags2 & BLOCK_EFFECT) !== 0) {
|
|
1022
|
+
if (is_flushing && effect === active_effect && (flags2 & BLOCK_EFFECT) !== 0 && (flags2 & HEAD_EFFECT) === 0) {
|
|
654
1023
|
return;
|
|
655
1024
|
}
|
|
656
1025
|
if ((flags2 & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {
|
|
@@ -693,7 +1062,7 @@ function boundary(node, props, children) {
|
|
|
693
1062
|
class Boundary {
|
|
694
1063
|
/** @type {Boundary | null} */
|
|
695
1064
|
parent;
|
|
696
|
-
|
|
1065
|
+
is_pending = false;
|
|
697
1066
|
/** @type {TemplateNode} */
|
|
698
1067
|
#anchor;
|
|
699
1068
|
/** @type {TemplateNode | null} */
|
|
@@ -712,9 +1081,15 @@ class Boundary {
|
|
|
712
1081
|
#failed_effect = null;
|
|
713
1082
|
/** @type {DocumentFragment | null} */
|
|
714
1083
|
#offscreen_fragment = null;
|
|
1084
|
+
/** @type {TemplateNode | null} */
|
|
1085
|
+
#pending_anchor = null;
|
|
715
1086
|
#local_pending_count = 0;
|
|
716
1087
|
#pending_count = 0;
|
|
717
1088
|
#is_creating_fallback = false;
|
|
1089
|
+
/** @type {Set<Effect>} */
|
|
1090
|
+
#dirty_effects = /* @__PURE__ */ new Set();
|
|
1091
|
+
/** @type {Set<Effect>} */
|
|
1092
|
+
#maybe_dirty_effects = /* @__PURE__ */ new Set();
|
|
718
1093
|
/**
|
|
719
1094
|
* A source containing the number of pending async deriveds/expressions.
|
|
720
1095
|
* Only created if `$effect.pending()` is used inside the boundary,
|
|
@@ -723,11 +1098,6 @@ class Boundary {
|
|
|
723
1098
|
* @type {Source<number> | null}
|
|
724
1099
|
*/
|
|
725
1100
|
#effect_pending = null;
|
|
726
|
-
#effect_pending_update = () => {
|
|
727
|
-
if (this.#effect_pending) {
|
|
728
|
-
internal_set(this.#effect_pending, this.#local_pending_count);
|
|
729
|
-
}
|
|
730
|
-
};
|
|
731
1101
|
#effect_pending_subscriber = createSubscriber(() => {
|
|
732
1102
|
this.#effect_pending = source(this.#local_pending_count);
|
|
733
1103
|
return () => {
|
|
@@ -745,7 +1115,7 @@ class Boundary {
|
|
|
745
1115
|
this.#children = children;
|
|
746
1116
|
this.parent = /** @type {Effect} */
|
|
747
1117
|
active_effect.b;
|
|
748
|
-
this
|
|
1118
|
+
this.is_pending = !!this.#props.pending;
|
|
749
1119
|
this.#effect = block(() => {
|
|
750
1120
|
active_effect.b = this;
|
|
751
1121
|
if (hydrating) {
|
|
@@ -760,19 +1130,26 @@ class Boundary {
|
|
|
760
1130
|
this.#hydrate_pending_content();
|
|
761
1131
|
} else {
|
|
762
1132
|
this.#hydrate_resolved_content();
|
|
1133
|
+
if (this.#pending_count === 0) {
|
|
1134
|
+
this.is_pending = false;
|
|
1135
|
+
}
|
|
763
1136
|
}
|
|
764
1137
|
} else {
|
|
1138
|
+
var anchor = this.#get_anchor();
|
|
765
1139
|
try {
|
|
766
|
-
this.#main_effect = branch(() => children(
|
|
1140
|
+
this.#main_effect = branch(() => children(anchor));
|
|
767
1141
|
} catch (error) {
|
|
768
1142
|
this.error(error);
|
|
769
1143
|
}
|
|
770
1144
|
if (this.#pending_count > 0) {
|
|
771
1145
|
this.#show_pending_snippet();
|
|
772
1146
|
} else {
|
|
773
|
-
this
|
|
1147
|
+
this.is_pending = false;
|
|
774
1148
|
}
|
|
775
1149
|
}
|
|
1150
|
+
return () => {
|
|
1151
|
+
this.#pending_anchor?.remove();
|
|
1152
|
+
};
|
|
776
1153
|
}, flags);
|
|
777
1154
|
if (hydrating) {
|
|
778
1155
|
this.#anchor = hydrate_node;
|
|
@@ -784,7 +1161,6 @@ class Boundary {
|
|
|
784
1161
|
} catch (error) {
|
|
785
1162
|
this.error(error);
|
|
786
1163
|
}
|
|
787
|
-
this.#pending = false;
|
|
788
1164
|
}
|
|
789
1165
|
#hydrate_pending_content() {
|
|
790
1166
|
const pending = this.#props.pending;
|
|
@@ -793,9 +1169,10 @@ class Boundary {
|
|
|
793
1169
|
}
|
|
794
1170
|
this.#pending_effect = branch(() => pending(this.#anchor));
|
|
795
1171
|
Batch.enqueue(() => {
|
|
1172
|
+
var anchor = this.#get_anchor();
|
|
796
1173
|
this.#main_effect = this.#run(() => {
|
|
797
1174
|
Batch.ensure();
|
|
798
|
-
return branch(() => this.#children(
|
|
1175
|
+
return branch(() => this.#children(anchor));
|
|
799
1176
|
});
|
|
800
1177
|
if (this.#pending_count > 0) {
|
|
801
1178
|
this.#show_pending_snippet();
|
|
@@ -807,16 +1184,32 @@ class Boundary {
|
|
|
807
1184
|
this.#pending_effect = null;
|
|
808
1185
|
}
|
|
809
1186
|
);
|
|
810
|
-
this
|
|
1187
|
+
this.is_pending = false;
|
|
811
1188
|
}
|
|
812
1189
|
});
|
|
813
1190
|
}
|
|
1191
|
+
#get_anchor() {
|
|
1192
|
+
var anchor = this.#anchor;
|
|
1193
|
+
if (this.is_pending) {
|
|
1194
|
+
this.#pending_anchor = create_text();
|
|
1195
|
+
this.#anchor.before(this.#pending_anchor);
|
|
1196
|
+
anchor = this.#pending_anchor;
|
|
1197
|
+
}
|
|
1198
|
+
return anchor;
|
|
1199
|
+
}
|
|
814
1200
|
/**
|
|
815
|
-
*
|
|
1201
|
+
* Defer an effect inside a pending boundary until the boundary resolves
|
|
1202
|
+
* @param {Effect} effect
|
|
1203
|
+
*/
|
|
1204
|
+
defer_effect(effect) {
|
|
1205
|
+
defer_effect(effect, this.#dirty_effects, this.#maybe_dirty_effects);
|
|
1206
|
+
}
|
|
1207
|
+
/**
|
|
1208
|
+
* Returns `false` if the effect exists inside a boundary whose pending snippet is shown
|
|
816
1209
|
* @returns {boolean}
|
|
817
1210
|
*/
|
|
818
|
-
|
|
819
|
-
return this
|
|
1211
|
+
is_rendered() {
|
|
1212
|
+
return !this.is_pending && (!this.parent || this.parent.is_rendered());
|
|
820
1213
|
}
|
|
821
1214
|
has_pending_snippet() {
|
|
822
1215
|
return !!this.#props.pending;
|
|
@@ -849,6 +1242,10 @@ class Boundary {
|
|
|
849
1242
|
);
|
|
850
1243
|
if (this.#main_effect !== null) {
|
|
851
1244
|
this.#offscreen_fragment = document.createDocumentFragment();
|
|
1245
|
+
this.#offscreen_fragment.append(
|
|
1246
|
+
/** @type {TemplateNode} */
|
|
1247
|
+
this.#pending_anchor
|
|
1248
|
+
);
|
|
852
1249
|
move_effect(this.#main_effect, this.#offscreen_fragment);
|
|
853
1250
|
}
|
|
854
1251
|
if (this.#pending_effect === null) {
|
|
@@ -869,7 +1266,17 @@ class Boundary {
|
|
|
869
1266
|
}
|
|
870
1267
|
this.#pending_count += d;
|
|
871
1268
|
if (this.#pending_count === 0) {
|
|
872
|
-
this
|
|
1269
|
+
this.is_pending = false;
|
|
1270
|
+
for (const e of this.#dirty_effects) {
|
|
1271
|
+
set_signal_status(e, DIRTY);
|
|
1272
|
+
schedule_effect(e);
|
|
1273
|
+
}
|
|
1274
|
+
for (const e of this.#maybe_dirty_effects) {
|
|
1275
|
+
set_signal_status(e, MAYBE_DIRTY);
|
|
1276
|
+
schedule_effect(e);
|
|
1277
|
+
}
|
|
1278
|
+
this.#dirty_effects.clear();
|
|
1279
|
+
this.#maybe_dirty_effects.clear();
|
|
873
1280
|
if (this.#pending_effect) {
|
|
874
1281
|
pause_effect(this.#pending_effect, () => {
|
|
875
1282
|
this.#pending_effect = null;
|
|
@@ -879,9 +1286,6 @@ class Boundary {
|
|
|
879
1286
|
this.#anchor.before(this.#offscreen_fragment);
|
|
880
1287
|
this.#offscreen_fragment = null;
|
|
881
1288
|
}
|
|
882
|
-
queue_micro_task(() => {
|
|
883
|
-
Batch.ensure().flush();
|
|
884
|
-
});
|
|
885
1289
|
}
|
|
886
1290
|
}
|
|
887
1291
|
/**
|
|
@@ -893,7 +1297,9 @@ class Boundary {
|
|
|
893
1297
|
update_pending_count(d) {
|
|
894
1298
|
this.#update_pending_count(d);
|
|
895
1299
|
this.#local_pending_count += d;
|
|
896
|
-
|
|
1300
|
+
if (this.#effect_pending) {
|
|
1301
|
+
internal_set(this.#effect_pending, this.#local_pending_count);
|
|
1302
|
+
}
|
|
897
1303
|
}
|
|
898
1304
|
get_effect_pending() {
|
|
899
1305
|
this.#effect_pending_subscriber();
|
|
@@ -947,7 +1353,7 @@ class Boundary {
|
|
|
947
1353
|
this.#failed_effect = null;
|
|
948
1354
|
});
|
|
949
1355
|
}
|
|
950
|
-
this
|
|
1356
|
+
this.is_pending = this.has_pending_snippet();
|
|
951
1357
|
this.#main_effect = this.#run(() => {
|
|
952
1358
|
this.#is_creating_fallback = false;
|
|
953
1359
|
return branch(() => this.#children(this.#anchor));
|
|
@@ -955,7 +1361,7 @@ class Boundary {
|
|
|
955
1361
|
if (this.#pending_count > 0) {
|
|
956
1362
|
this.#show_pending_snippet();
|
|
957
1363
|
} else {
|
|
958
|
-
this
|
|
1364
|
+
this.is_pending = false;
|
|
959
1365
|
}
|
|
960
1366
|
};
|
|
961
1367
|
var previous_reaction = active_reaction;
|
|
@@ -972,6 +1378,7 @@ class Boundary {
|
|
|
972
1378
|
if (failed) {
|
|
973
1379
|
queue_micro_task(() => {
|
|
974
1380
|
this.#failed_effect = this.#run(() => {
|
|
1381
|
+
Batch.ensure();
|
|
975
1382
|
this.#is_creating_fallback = true;
|
|
976
1383
|
try {
|
|
977
1384
|
return branch(() => {
|
|
@@ -1012,10 +1419,10 @@ function get_derived_parent_effect(derived) {
|
|
|
1012
1419
|
var parent = derived.parent;
|
|
1013
1420
|
while (parent !== null) {
|
|
1014
1421
|
if ((parent.f & DERIVED) === 0) {
|
|
1015
|
-
return (
|
|
1422
|
+
return (parent.f & DESTROYED) === 0 ? (
|
|
1016
1423
|
/** @type {Effect} */
|
|
1017
1424
|
parent
|
|
1018
|
-
);
|
|
1425
|
+
) : null;
|
|
1019
1426
|
}
|
|
1020
1427
|
parent = parent.parent;
|
|
1021
1428
|
}
|
|
@@ -1027,6 +1434,7 @@ function execute_derived(derived) {
|
|
|
1027
1434
|
set_active_effect(get_derived_parent_effect(derived));
|
|
1028
1435
|
{
|
|
1029
1436
|
try {
|
|
1437
|
+
derived.f &= ~WAS_MARKED;
|
|
1030
1438
|
destroy_derived_effects(derived);
|
|
1031
1439
|
value = update_reaction(derived);
|
|
1032
1440
|
} finally {
|
|
@@ -1038,20 +1446,29 @@ function execute_derived(derived) {
|
|
|
1038
1446
|
function update_derived(derived) {
|
|
1039
1447
|
var value = execute_derived(derived);
|
|
1040
1448
|
if (!derived.equals(value)) {
|
|
1041
|
-
derived.v = value;
|
|
1042
1449
|
derived.wv = increment_write_version();
|
|
1450
|
+
if (!current_batch?.is_fork || derived.deps === null) {
|
|
1451
|
+
derived.v = value;
|
|
1452
|
+
if (derived.deps === null) {
|
|
1453
|
+
set_signal_status(derived, CLEAN);
|
|
1454
|
+
return;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1043
1457
|
}
|
|
1044
1458
|
if (is_destroying_effect) {
|
|
1045
1459
|
return;
|
|
1046
1460
|
}
|
|
1047
1461
|
if (batch_values !== null) {
|
|
1048
|
-
|
|
1462
|
+
if (effect_tracking() || current_batch?.is_fork) {
|
|
1463
|
+
batch_values.set(derived, value);
|
|
1464
|
+
}
|
|
1049
1465
|
} else {
|
|
1050
|
-
|
|
1051
|
-
set_signal_status(derived, status);
|
|
1466
|
+
update_derived_status(derived);
|
|
1052
1467
|
}
|
|
1053
1468
|
}
|
|
1469
|
+
let eager_effects = /* @__PURE__ */ new Set();
|
|
1054
1470
|
const old_values = /* @__PURE__ */ new Map();
|
|
1471
|
+
let eager_effects_deferred = false;
|
|
1055
1472
|
function source(v, stack) {
|
|
1056
1473
|
var signal = {
|
|
1057
1474
|
f: 0,
|
|
@@ -1081,7 +1498,7 @@ function mutable_source(initial_value, immutable = false, trackable = true) {
|
|
|
1081
1498
|
function set(source2, value, should_proxy = false) {
|
|
1082
1499
|
if (active_reaction !== null && // since we are untracking the function inside `$inspect.with` we need to add this check
|
|
1083
1500
|
// to ensure we error if state is set inside an inspect effect
|
|
1084
|
-
(!untracking || (active_reaction.f &
|
|
1501
|
+
(!untracking || (active_reaction.f & EAGER_EFFECT) !== 0) && is_runes() && (active_reaction.f & (DERIVED | BLOCK_EFFECT | ASYNC | EAGER_EFFECT)) !== 0 && !current_sources?.includes(source2)) {
|
|
1085
1502
|
state_unsafe_mutation();
|
|
1086
1503
|
}
|
|
1087
1504
|
let new_value = should_proxy ? proxy(value) : value;
|
|
@@ -1099,13 +1516,14 @@ function internal_set(source2, value) {
|
|
|
1099
1516
|
var batch = Batch.ensure();
|
|
1100
1517
|
batch.capture(source2, old_value);
|
|
1101
1518
|
if ((source2.f & DERIVED) !== 0) {
|
|
1519
|
+
const derived = (
|
|
1520
|
+
/** @type {Derived} */
|
|
1521
|
+
source2
|
|
1522
|
+
);
|
|
1102
1523
|
if ((source2.f & DIRTY) !== 0) {
|
|
1103
|
-
execute_derived(
|
|
1104
|
-
/** @type {Derived} */
|
|
1105
|
-
source2
|
|
1106
|
-
);
|
|
1524
|
+
execute_derived(derived);
|
|
1107
1525
|
}
|
|
1108
|
-
|
|
1526
|
+
update_derived_status(derived);
|
|
1109
1527
|
}
|
|
1110
1528
|
source2.wv = increment_write_version();
|
|
1111
1529
|
mark_reactions(source2, DIRTY);
|
|
@@ -1116,9 +1534,31 @@ function internal_set(source2, value) {
|
|
|
1116
1534
|
untracked_writes.push(source2);
|
|
1117
1535
|
}
|
|
1118
1536
|
}
|
|
1537
|
+
if (!batch.is_fork && eager_effects.size > 0 && !eager_effects_deferred) {
|
|
1538
|
+
flush_eager_effects();
|
|
1539
|
+
}
|
|
1119
1540
|
}
|
|
1120
1541
|
return value;
|
|
1121
1542
|
}
|
|
1543
|
+
function flush_eager_effects() {
|
|
1544
|
+
eager_effects_deferred = false;
|
|
1545
|
+
var prev_is_updating_effect = is_updating_effect;
|
|
1546
|
+
set_is_updating_effect(true);
|
|
1547
|
+
const inspects = Array.from(eager_effects);
|
|
1548
|
+
try {
|
|
1549
|
+
for (const effect of inspects) {
|
|
1550
|
+
if ((effect.f & CLEAN) !== 0) {
|
|
1551
|
+
set_signal_status(effect, MAYBE_DIRTY);
|
|
1552
|
+
}
|
|
1553
|
+
if (is_dirty(effect)) {
|
|
1554
|
+
update_effect(effect);
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
} finally {
|
|
1558
|
+
set_is_updating_effect(prev_is_updating_effect);
|
|
1559
|
+
}
|
|
1560
|
+
eager_effects.clear();
|
|
1561
|
+
}
|
|
1122
1562
|
function increment(source2) {
|
|
1123
1563
|
set(source2, source2.v + 1);
|
|
1124
1564
|
}
|
|
@@ -1134,19 +1574,23 @@ function mark_reactions(signal, status) {
|
|
|
1134
1574
|
set_signal_status(reaction, status);
|
|
1135
1575
|
}
|
|
1136
1576
|
if ((flags2 & DERIVED) !== 0) {
|
|
1137
|
-
|
|
1577
|
+
var derived = (
|
|
1138
1578
|
/** @type {Derived} */
|
|
1139
|
-
reaction
|
|
1140
|
-
MAYBE_DIRTY
|
|
1579
|
+
reaction
|
|
1141
1580
|
);
|
|
1142
|
-
|
|
1143
|
-
if ((flags2 &
|
|
1144
|
-
if (
|
|
1145
|
-
|
|
1146
|
-
/** @type {Effect} */
|
|
1147
|
-
reaction
|
|
1148
|
-
);
|
|
1581
|
+
batch_values?.delete(derived);
|
|
1582
|
+
if ((flags2 & WAS_MARKED) === 0) {
|
|
1583
|
+
if (flags2 & CONNECTED) {
|
|
1584
|
+
reaction.f |= WAS_MARKED;
|
|
1149
1585
|
}
|
|
1586
|
+
mark_reactions(derived, MAYBE_DIRTY);
|
|
1587
|
+
}
|
|
1588
|
+
} else if (not_dirty) {
|
|
1589
|
+
if ((flags2 & BLOCK_EFFECT) !== 0 && eager_block_effects !== null) {
|
|
1590
|
+
eager_block_effects.add(
|
|
1591
|
+
/** @type {Effect} */
|
|
1592
|
+
reaction
|
|
1593
|
+
);
|
|
1150
1594
|
}
|
|
1151
1595
|
schedule_effect(
|
|
1152
1596
|
/** @type {Effect} */
|
|
@@ -1374,11 +1818,17 @@ function create_text(value = "") {
|
|
|
1374
1818
|
}
|
|
1375
1819
|
// @__NO_SIDE_EFFECTS__
|
|
1376
1820
|
function get_first_child(node) {
|
|
1377
|
-
return
|
|
1821
|
+
return (
|
|
1822
|
+
/** @type {TemplateNode | null} */
|
|
1823
|
+
first_child_getter.call(node)
|
|
1824
|
+
);
|
|
1378
1825
|
}
|
|
1379
1826
|
// @__NO_SIDE_EFFECTS__
|
|
1380
1827
|
function get_next_sibling(node) {
|
|
1381
|
-
return
|
|
1828
|
+
return (
|
|
1829
|
+
/** @type {TemplateNode | null} */
|
|
1830
|
+
next_sibling_getter.call(node)
|
|
1831
|
+
);
|
|
1382
1832
|
}
|
|
1383
1833
|
function clear_text_content(node) {
|
|
1384
1834
|
node.textContent = "";
|
|
@@ -1405,7 +1855,7 @@ function push_effect(effect, parent_effect) {
|
|
|
1405
1855
|
parent_effect.last = effect;
|
|
1406
1856
|
}
|
|
1407
1857
|
}
|
|
1408
|
-
function create_effect(type, fn, sync
|
|
1858
|
+
function create_effect(type, fn, sync) {
|
|
1409
1859
|
var parent = active_effect;
|
|
1410
1860
|
if (parent !== null && (parent.f & INERT) !== 0) {
|
|
1411
1861
|
type |= INERT;
|
|
@@ -1413,9 +1863,8 @@ function create_effect(type, fn, sync, push2 = true) {
|
|
|
1413
1863
|
var effect = {
|
|
1414
1864
|
ctx: component_context,
|
|
1415
1865
|
deps: null,
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
f: type | DIRTY,
|
|
1866
|
+
nodes: null,
|
|
1867
|
+
f: type | DIRTY | CONNECTED,
|
|
1419
1868
|
first: null,
|
|
1420
1869
|
fn,
|
|
1421
1870
|
last: null,
|
|
@@ -1424,7 +1873,6 @@ function create_effect(type, fn, sync, push2 = true) {
|
|
|
1424
1873
|
b: parent && parent.b,
|
|
1425
1874
|
prev: null,
|
|
1426
1875
|
teardown: null,
|
|
1427
|
-
transitions: null,
|
|
1428
1876
|
wv: 0,
|
|
1429
1877
|
ac: null
|
|
1430
1878
|
};
|
|
@@ -1439,24 +1887,25 @@ function create_effect(type, fn, sync, push2 = true) {
|
|
|
1439
1887
|
} else if (fn !== null) {
|
|
1440
1888
|
schedule_effect(effect);
|
|
1441
1889
|
}
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1890
|
+
var e = effect;
|
|
1891
|
+
if (sync && e.deps === null && e.teardown === null && e.nodes === null && e.first === e.last && // either `null`, or a singular child
|
|
1892
|
+
(e.f & EFFECT_PRESERVED) === 0) {
|
|
1893
|
+
e = e.first;
|
|
1894
|
+
if ((type & BLOCK_EFFECT) !== 0 && (type & EFFECT_TRANSPARENT) !== 0 && e !== null) {
|
|
1895
|
+
e.f |= EFFECT_TRANSPARENT;
|
|
1447
1896
|
}
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1897
|
+
}
|
|
1898
|
+
if (e !== null) {
|
|
1899
|
+
e.parent = parent;
|
|
1900
|
+
if (parent !== null) {
|
|
1901
|
+
push_effect(e, parent);
|
|
1902
|
+
}
|
|
1903
|
+
if (active_reaction !== null && (active_reaction.f & DERIVED) !== 0 && (type & ROOT_EFFECT) === 0) {
|
|
1904
|
+
var derived = (
|
|
1905
|
+
/** @type {Derived} */
|
|
1906
|
+
active_reaction
|
|
1907
|
+
);
|
|
1908
|
+
(derived.effects ??= []).push(e);
|
|
1460
1909
|
}
|
|
1461
1910
|
}
|
|
1462
1911
|
return effect;
|
|
@@ -1491,8 +1940,8 @@ function block(fn, flags2 = 0) {
|
|
|
1491
1940
|
var effect = create_effect(BLOCK_EFFECT | flags2, fn, true);
|
|
1492
1941
|
return effect;
|
|
1493
1942
|
}
|
|
1494
|
-
function branch(fn
|
|
1495
|
-
return create_effect(BRANCH_EFFECT | EFFECT_PRESERVED, fn, true
|
|
1943
|
+
function branch(fn) {
|
|
1944
|
+
return create_effect(BRANCH_EFFECT | EFFECT_PRESERVED, fn, true);
|
|
1496
1945
|
}
|
|
1497
1946
|
function execute_effect_teardown(effect) {
|
|
1498
1947
|
var teardown = effect.teardown;
|
|
@@ -1540,18 +1989,18 @@ function destroy_block_effect_children(signal) {
|
|
|
1540
1989
|
}
|
|
1541
1990
|
function destroy_effect(effect, remove_dom = true) {
|
|
1542
1991
|
var removed = false;
|
|
1543
|
-
if ((remove_dom || (effect.f & HEAD_EFFECT) !== 0) && effect.
|
|
1992
|
+
if ((remove_dom || (effect.f & HEAD_EFFECT) !== 0) && effect.nodes !== null && effect.nodes.end !== null) {
|
|
1544
1993
|
remove_effect_dom(
|
|
1545
|
-
effect.
|
|
1994
|
+
effect.nodes.start,
|
|
1546
1995
|
/** @type {TemplateNode} */
|
|
1547
|
-
effect.
|
|
1996
|
+
effect.nodes.end
|
|
1548
1997
|
);
|
|
1549
1998
|
removed = true;
|
|
1550
1999
|
}
|
|
1551
2000
|
destroy_effect_children(effect, remove_dom && !removed);
|
|
1552
2001
|
remove_reactions(effect, 0);
|
|
1553
2002
|
set_signal_status(effect, DESTROYED);
|
|
1554
|
-
var transitions = effect.
|
|
2003
|
+
var transitions = effect.nodes && effect.nodes.t;
|
|
1555
2004
|
if (transitions !== null) {
|
|
1556
2005
|
for (const transition of transitions) {
|
|
1557
2006
|
transition.stop();
|
|
@@ -1562,14 +2011,11 @@ function destroy_effect(effect, remove_dom = true) {
|
|
|
1562
2011
|
if (parent !== null && parent.first !== null) {
|
|
1563
2012
|
unlink_effect(effect);
|
|
1564
2013
|
}
|
|
1565
|
-
effect.next = effect.prev = effect.teardown = effect.ctx = effect.deps = effect.fn = effect.
|
|
2014
|
+
effect.next = effect.prev = effect.teardown = effect.ctx = effect.deps = effect.fn = effect.nodes = effect.ac = null;
|
|
1566
2015
|
}
|
|
1567
2016
|
function remove_effect_dom(node, end) {
|
|
1568
2017
|
while (node !== null) {
|
|
1569
|
-
var next2 = node === end ? null : (
|
|
1570
|
-
/** @type {TemplateNode} */
|
|
1571
|
-
/* @__PURE__ */ get_next_sibling(node)
|
|
1572
|
-
);
|
|
2018
|
+
var next2 = node === end ? null : /* @__PURE__ */ get_next_sibling(node);
|
|
1573
2019
|
node.remove();
|
|
1574
2020
|
node = next2;
|
|
1575
2021
|
}
|
|
@@ -1588,12 +2034,10 @@ function unlink_effect(effect) {
|
|
|
1588
2034
|
function pause_effect(effect, callback, destroy = true) {
|
|
1589
2035
|
var transitions = [];
|
|
1590
2036
|
pause_children(effect, transitions, true);
|
|
1591
|
-
|
|
2037
|
+
var fn = () => {
|
|
1592
2038
|
if (destroy) destroy_effect(effect);
|
|
1593
2039
|
if (callback) callback();
|
|
1594
|
-
}
|
|
1595
|
-
}
|
|
1596
|
-
function run_out_transitions(transitions, fn) {
|
|
2040
|
+
};
|
|
1597
2041
|
var remaining = transitions.length;
|
|
1598
2042
|
if (remaining > 0) {
|
|
1599
2043
|
var check = () => --remaining || fn();
|
|
@@ -1607,8 +2051,9 @@ function run_out_transitions(transitions, fn) {
|
|
|
1607
2051
|
function pause_children(effect, transitions, local) {
|
|
1608
2052
|
if ((effect.f & INERT) !== 0) return;
|
|
1609
2053
|
effect.f ^= INERT;
|
|
1610
|
-
|
|
1611
|
-
|
|
2054
|
+
var t = effect.nodes && effect.nodes.t;
|
|
2055
|
+
if (t !== null) {
|
|
2056
|
+
for (const transition of t) {
|
|
1612
2057
|
if (transition.is_global || local) {
|
|
1613
2058
|
transitions.push(transition);
|
|
1614
2059
|
}
|
|
@@ -1617,19 +2062,20 @@ function pause_children(effect, transitions, local) {
|
|
|
1617
2062
|
var child = effect.first;
|
|
1618
2063
|
while (child !== null) {
|
|
1619
2064
|
var sibling = child.next;
|
|
1620
|
-
var transparent = (child.f & EFFECT_TRANSPARENT) !== 0 ||
|
|
2065
|
+
var transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || // If this is a branch effect without a block effect parent,
|
|
2066
|
+
// it means the parent block effect was pruned. In that case,
|
|
2067
|
+
// transparency information was transferred to the branch effect.
|
|
2068
|
+
(child.f & BRANCH_EFFECT) !== 0 && (effect.f & BLOCK_EFFECT) !== 0;
|
|
1621
2069
|
pause_children(child, transitions, transparent ? local : false);
|
|
1622
2070
|
child = sibling;
|
|
1623
2071
|
}
|
|
1624
2072
|
}
|
|
1625
2073
|
function move_effect(effect, fragment) {
|
|
1626
|
-
|
|
1627
|
-
var
|
|
2074
|
+
if (!effect.nodes) return;
|
|
2075
|
+
var node = effect.nodes.start;
|
|
2076
|
+
var end = effect.nodes.end;
|
|
1628
2077
|
while (node !== null) {
|
|
1629
|
-
var next2 = node === end ? null : (
|
|
1630
|
-
/** @type {TemplateNode} */
|
|
1631
|
-
/* @__PURE__ */ get_next_sibling(node)
|
|
1632
|
-
);
|
|
2078
|
+
var next2 = node === end ? null : /* @__PURE__ */ get_next_sibling(node);
|
|
1633
2079
|
fragment.append(node);
|
|
1634
2080
|
node = next2;
|
|
1635
2081
|
}
|
|
@@ -1673,7 +2119,6 @@ let update_version = read_version;
|
|
|
1673
2119
|
function set_update_version(value) {
|
|
1674
2120
|
update_version = value;
|
|
1675
2121
|
}
|
|
1676
|
-
let skip_reaction = false;
|
|
1677
2122
|
function increment_write_version() {
|
|
1678
2123
|
return ++write_version;
|
|
1679
2124
|
}
|
|
@@ -1682,51 +2127,33 @@ function is_dirty(reaction) {
|
|
|
1682
2127
|
if ((flags2 & DIRTY) !== 0) {
|
|
1683
2128
|
return true;
|
|
1684
2129
|
}
|
|
2130
|
+
if (flags2 & DERIVED) {
|
|
2131
|
+
reaction.f &= ~WAS_MARKED;
|
|
2132
|
+
}
|
|
1685
2133
|
if ((flags2 & MAYBE_DIRTY) !== 0) {
|
|
1686
|
-
var dependencies =
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
var
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
2134
|
+
var dependencies = (
|
|
2135
|
+
/** @type {Value[]} */
|
|
2136
|
+
reaction.deps
|
|
2137
|
+
);
|
|
2138
|
+
var length = dependencies.length;
|
|
2139
|
+
for (var i = 0; i < length; i++) {
|
|
2140
|
+
var dependency = dependencies[i];
|
|
2141
|
+
if (is_dirty(
|
|
2142
|
+
/** @type {Derived} */
|
|
2143
|
+
dependency
|
|
2144
|
+
)) {
|
|
2145
|
+
update_derived(
|
|
1696
2146
|
/** @type {Derived} */
|
|
1697
|
-
|
|
2147
|
+
dependency
|
|
1698
2148
|
);
|
|
1699
|
-
var parent = derived.parent;
|
|
1700
|
-
for (i = 0; i < length; i++) {
|
|
1701
|
-
dependency = dependencies[i];
|
|
1702
|
-
if (is_disconnected || !dependency?.reactions?.includes(derived)) {
|
|
1703
|
-
(dependency.reactions ??= []).push(derived);
|
|
1704
|
-
}
|
|
1705
|
-
}
|
|
1706
|
-
if (is_disconnected) {
|
|
1707
|
-
derived.f ^= DISCONNECTED;
|
|
1708
|
-
}
|
|
1709
|
-
if (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) {
|
|
1710
|
-
derived.f ^= UNOWNED;
|
|
1711
|
-
}
|
|
1712
2149
|
}
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
if (is_dirty(
|
|
1716
|
-
/** @type {Derived} */
|
|
1717
|
-
dependency
|
|
1718
|
-
)) {
|
|
1719
|
-
update_derived(
|
|
1720
|
-
/** @type {Derived} */
|
|
1721
|
-
dependency
|
|
1722
|
-
);
|
|
1723
|
-
}
|
|
1724
|
-
if (dependency.wv > reaction.wv) {
|
|
1725
|
-
return true;
|
|
1726
|
-
}
|
|
2150
|
+
if (dependency.wv > reaction.wv) {
|
|
2151
|
+
return true;
|
|
1727
2152
|
}
|
|
1728
2153
|
}
|
|
1729
|
-
if (
|
|
2154
|
+
if ((flags2 & CONNECTED) !== 0 && // During time traveling we don't want to reset the status so that
|
|
2155
|
+
// traversal of the graph in the other batches still happens
|
|
2156
|
+
batch_values === null) {
|
|
1730
2157
|
set_signal_status(reaction, CLEAN);
|
|
1731
2158
|
}
|
|
1732
2159
|
}
|
|
@@ -1765,7 +2192,6 @@ function update_reaction(reaction) {
|
|
|
1765
2192
|
var previous_skipped_deps = skipped_deps;
|
|
1766
2193
|
var previous_untracked_writes = untracked_writes;
|
|
1767
2194
|
var previous_reaction = active_reaction;
|
|
1768
|
-
var previous_skip_reaction = skip_reaction;
|
|
1769
2195
|
var previous_sources = current_sources;
|
|
1770
2196
|
var previous_component_context = component_context;
|
|
1771
2197
|
var previous_untracking = untracking;
|
|
@@ -1775,7 +2201,6 @@ function update_reaction(reaction) {
|
|
|
1775
2201
|
null;
|
|
1776
2202
|
skipped_deps = 0;
|
|
1777
2203
|
untracked_writes = null;
|
|
1778
|
-
skip_reaction = (flags2 & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null);
|
|
1779
2204
|
active_reaction = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;
|
|
1780
2205
|
current_sources = null;
|
|
1781
2206
|
set_component_context(reaction.ctx);
|
|
@@ -1806,9 +2231,7 @@ function update_reaction(reaction) {
|
|
|
1806
2231
|
} else {
|
|
1807
2232
|
reaction.deps = deps = new_deps;
|
|
1808
2233
|
}
|
|
1809
|
-
if (
|
|
1810
|
-
(flags2 & DERIVED) !== 0 && /** @type {import('#client').Derived} */
|
|
1811
|
-
reaction.reactions !== null) {
|
|
2234
|
+
if (effect_tracking() && (reaction.f & CONNECTED) !== 0) {
|
|
1812
2235
|
for (i = skipped_deps; i < deps.length; i++) {
|
|
1813
2236
|
(deps[i].reactions ??= []).push(reaction);
|
|
1814
2237
|
}
|
|
@@ -1850,7 +2273,6 @@ function update_reaction(reaction) {
|
|
|
1850
2273
|
skipped_deps = previous_skipped_deps;
|
|
1851
2274
|
untracked_writes = previous_untracked_writes;
|
|
1852
2275
|
active_reaction = previous_reaction;
|
|
1853
|
-
skip_reaction = previous_skip_reaction;
|
|
1854
2276
|
current_sources = previous_sources;
|
|
1855
2277
|
set_component_context(previous_component_context);
|
|
1856
2278
|
untracking = previous_untracking;
|
|
@@ -1875,19 +2297,17 @@ function remove_reaction(signal, dependency) {
|
|
|
1875
2297
|
// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
|
|
1876
2298
|
// allows us to skip the expensive work of disconnecting and immediately reconnecting it
|
|
1877
2299
|
(new_deps === null || !new_deps.includes(dependency))) {
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
dependency.f ^= DISCONNECTED;
|
|
1881
|
-
}
|
|
1882
|
-
destroy_derived_effects(
|
|
1883
|
-
/** @type {Derived} **/
|
|
2300
|
+
var derived = (
|
|
2301
|
+
/** @type {Derived} */
|
|
1884
2302
|
dependency
|
|
1885
2303
|
);
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
);
|
|
2304
|
+
if ((derived.f & CONNECTED) !== 0) {
|
|
2305
|
+
derived.f ^= CONNECTED;
|
|
2306
|
+
derived.f &= ~WAS_MARKED;
|
|
2307
|
+
}
|
|
2308
|
+
update_derived_status(derived);
|
|
2309
|
+
destroy_derived_effects(derived);
|
|
2310
|
+
remove_reactions(derived, 0);
|
|
1891
2311
|
}
|
|
1892
2312
|
}
|
|
1893
2313
|
function remove_reactions(signal, start_index) {
|
|
@@ -1908,7 +2328,7 @@ function update_effect(effect) {
|
|
|
1908
2328
|
active_effect = effect;
|
|
1909
2329
|
is_updating_effect = true;
|
|
1910
2330
|
try {
|
|
1911
|
-
if ((flags2 & BLOCK_EFFECT) !== 0) {
|
|
2331
|
+
if ((flags2 & (BLOCK_EFFECT | MANAGED_EFFECT)) !== 0) {
|
|
1912
2332
|
destroy_block_effect_children(effect);
|
|
1913
2333
|
} else {
|
|
1914
2334
|
destroy_effect_children(effect);
|
|
@@ -1938,7 +2358,7 @@ function get(signal) {
|
|
|
1938
2358
|
skipped_deps++;
|
|
1939
2359
|
} else if (new_deps === null) {
|
|
1940
2360
|
new_deps = [signal];
|
|
1941
|
-
} else if (!
|
|
2361
|
+
} else if (!new_deps.includes(signal)) {
|
|
1942
2362
|
new_deps.push(signal);
|
|
1943
2363
|
}
|
|
1944
2364
|
}
|
|
@@ -1952,25 +2372,16 @@ function get(signal) {
|
|
|
1952
2372
|
}
|
|
1953
2373
|
}
|
|
1954
2374
|
}
|
|
1955
|
-
}
|
|
1956
|
-
|
|
1957
|
-
|
|
2375
|
+
}
|
|
2376
|
+
if (is_destroying_effect && old_values.has(signal)) {
|
|
2377
|
+
return old_values.get(signal);
|
|
2378
|
+
}
|
|
2379
|
+
if (is_derived) {
|
|
1958
2380
|
var derived = (
|
|
1959
2381
|
/** @type {Derived} */
|
|
1960
2382
|
signal
|
|
1961
2383
|
);
|
|
1962
|
-
|
|
1963
|
-
if (parent !== null && (parent.f & UNOWNED) === 0) {
|
|
1964
|
-
derived.f ^= UNOWNED;
|
|
1965
|
-
}
|
|
1966
|
-
}
|
|
1967
|
-
if (is_destroying_effect) {
|
|
1968
|
-
if (old_values.has(signal)) {
|
|
1969
|
-
return old_values.get(signal);
|
|
1970
|
-
}
|
|
1971
|
-
if (is_derived) {
|
|
1972
|
-
derived = /** @type {Derived} */
|
|
1973
|
-
signal;
|
|
2384
|
+
if (is_destroying_effect) {
|
|
1974
2385
|
var value = derived.v;
|
|
1975
2386
|
if ((derived.f & CLEAN) === 0 && derived.reactions !== null || depends_on_old_values(derived)) {
|
|
1976
2387
|
value = execute_derived(derived);
|
|
@@ -1978,15 +2389,17 @@ function get(signal) {
|
|
|
1978
2389
|
old_values.set(derived, value);
|
|
1979
2390
|
return value;
|
|
1980
2391
|
}
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
signal;
|
|
1984
|
-
if (batch_values?.has(derived)) {
|
|
1985
|
-
return batch_values.get(derived);
|
|
1986
|
-
}
|
|
2392
|
+
var should_connect = (derived.f & CONNECTED) === 0 && !untracking && active_reaction !== null && (is_updating_effect || (active_reaction.f & CONNECTED) !== 0);
|
|
2393
|
+
var is_new = derived.deps === null;
|
|
1987
2394
|
if (is_dirty(derived)) {
|
|
2395
|
+
if (should_connect) {
|
|
2396
|
+
derived.f |= CONNECTED;
|
|
2397
|
+
}
|
|
1988
2398
|
update_derived(derived);
|
|
1989
2399
|
}
|
|
2400
|
+
if (should_connect && !is_new) {
|
|
2401
|
+
reconnect(derived);
|
|
2402
|
+
}
|
|
1990
2403
|
}
|
|
1991
2404
|
if (batch_values?.has(signal)) {
|
|
1992
2405
|
return batch_values.get(signal);
|
|
@@ -1996,6 +2409,19 @@ function get(signal) {
|
|
|
1996
2409
|
}
|
|
1997
2410
|
return signal.v;
|
|
1998
2411
|
}
|
|
2412
|
+
function reconnect(derived) {
|
|
2413
|
+
if (derived.deps === null) return;
|
|
2414
|
+
derived.f |= CONNECTED;
|
|
2415
|
+
for (const dep of derived.deps) {
|
|
2416
|
+
(dep.reactions ??= []).push(derived);
|
|
2417
|
+
if ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) {
|
|
2418
|
+
reconnect(
|
|
2419
|
+
/** @type {Derived} */
|
|
2420
|
+
dep
|
|
2421
|
+
);
|
|
2422
|
+
}
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
1999
2425
|
function depends_on_old_values(derived) {
|
|
2000
2426
|
if (derived.v === UNINITIALIZED) return true;
|
|
2001
2427
|
if (derived.deps === null) return false;
|
|
@@ -2021,10 +2447,6 @@ function untrack(fn) {
|
|
|
2021
2447
|
untracking = previous_untracking;
|
|
2022
2448
|
}
|
|
2023
2449
|
}
|
|
2024
|
-
const STATUS_MASK = -7169;
|
|
2025
|
-
function set_signal_status(signal, status) {
|
|
2026
|
-
signal.f = signal.f & STATUS_MASK | status;
|
|
2027
|
-
}
|
|
2028
2450
|
const all_registered_events = /* @__PURE__ */ new Set();
|
|
2029
2451
|
const root_event_handles = /* @__PURE__ */ new Set();
|
|
2030
2452
|
let last_propagated_event = null;
|
|
@@ -2083,12 +2505,7 @@ function handle_event_propagation(event) {
|
|
|
2083
2505
|
current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
|
|
2084
2506
|
// -> the target could not have been disabled because it emits the event in the first place
|
|
2085
2507
|
event.target === current_target)) {
|
|
2086
|
-
|
|
2087
|
-
var [fn, ...data] = delegated;
|
|
2088
|
-
fn.apply(current_target, [event, ...data]);
|
|
2089
|
-
} else {
|
|
2090
|
-
delegated.call(current_target, event);
|
|
2091
|
-
}
|
|
2508
|
+
delegated.call(current_target, event);
|
|
2092
2509
|
}
|
|
2093
2510
|
} catch (error) {
|
|
2094
2511
|
if (throw_error) {
|
|
@@ -2122,9 +2539,8 @@ function assign_nodes(start, end) {
|
|
|
2122
2539
|
/** @type {Effect} */
|
|
2123
2540
|
active_effect
|
|
2124
2541
|
);
|
|
2125
|
-
if (effect.
|
|
2126
|
-
effect.
|
|
2127
|
-
effect.nodes_end = end;
|
|
2542
|
+
if (effect.nodes === null) {
|
|
2543
|
+
effect.nodes = { start, end, a: null, t: null };
|
|
2128
2544
|
}
|
|
2129
2545
|
}
|
|
2130
2546
|
function mount(component, options2) {
|
|
@@ -2137,14 +2553,10 @@ function hydrate(component, options2) {
|
|
|
2137
2553
|
const was_hydrating = hydrating;
|
|
2138
2554
|
const previous_hydrate_node = hydrate_node;
|
|
2139
2555
|
try {
|
|
2140
|
-
var anchor = (
|
|
2141
|
-
/** @type {TemplateNode} */
|
|
2142
|
-
/* @__PURE__ */ get_first_child(target)
|
|
2143
|
-
);
|
|
2556
|
+
var anchor = /* @__PURE__ */ get_first_child(target);
|
|
2144
2557
|
while (anchor && (anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */
|
|
2145
2558
|
anchor.data !== HYDRATION_START)) {
|
|
2146
|
-
anchor =
|
|
2147
|
-
/* @__PURE__ */ get_next_sibling(anchor);
|
|
2559
|
+
anchor = /* @__PURE__ */ get_next_sibling(anchor);
|
|
2148
2560
|
}
|
|
2149
2561
|
if (!anchor) {
|
|
2150
2562
|
throw HYDRATION_ERROR;
|
|
@@ -2232,7 +2644,7 @@ function _mount(Component, { target, anchor, props = {}, events, context, intro
|
|
|
2232
2644
|
}
|
|
2233
2645
|
component = Component(anchor_node2, props) || {};
|
|
2234
2646
|
if (hydrating) {
|
|
2235
|
-
active_effect.
|
|
2647
|
+
active_effect.nodes.end = hydrate_node;
|
|
2236
2648
|
if (hydrate_node === null || hydrate_node.nodeType !== COMMENT_NODE || /** @type {Comment} */
|
|
2237
2649
|
hydrate_node.data !== HYDRATION_END) {
|
|
2238
2650
|
hydration_mismatch();
|
|
@@ -2384,8 +2796,8 @@ function set_read_implementation(fn) {
|
|
|
2384
2796
|
}
|
|
2385
2797
|
function asClassComponent(component) {
|
|
2386
2798
|
const component_constructor = asClassComponent$1(component);
|
|
2387
|
-
const _render = (props, { context } = {}) => {
|
|
2388
|
-
const result = render(component, { props, context });
|
|
2799
|
+
const _render = (props, { context, csp } = {}) => {
|
|
2800
|
+
const result = render(component, { props, context, csp });
|
|
2389
2801
|
const munged = Object.defineProperties(
|
|
2390
2802
|
/** @type {LegacyRenderResult & PromiseLike<LegacyRenderResult>} */
|
|
2391
2803
|
{},
|
|
@@ -2421,7 +2833,8 @@ function asClassComponent(component) {
|
|
|
2421
2833
|
return onfulfilled({
|
|
2422
2834
|
css: munged.css,
|
|
2423
2835
|
head: result2.head,
|
|
2424
|
-
html: result2.body
|
|
2836
|
+
html: result2.body,
|
|
2837
|
+
hashes: result2.hashes
|
|
2425
2838
|
});
|
|
2426
2839
|
}, onrejected);
|
|
2427
2840
|
}
|
|
@@ -2659,7 +3072,7 @@ const options = {
|
|
|
2659
3072
|
<div class="error">
|
|
2660
3073
|
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
|
|
2661
3074
|
},
|
|
2662
|
-
version_hash: "
|
|
3075
|
+
version_hash: "1f890c5"
|
|
2663
3076
|
};
|
|
2664
3077
|
async function get_hooks() {
|
|
2665
3078
|
let handle;
|
|
@@ -2739,7 +3152,8 @@ function is_form_content_type(request) {
|
|
|
2739
3152
|
request,
|
|
2740
3153
|
"application/x-www-form-urlencoded",
|
|
2741
3154
|
"multipart/form-data",
|
|
2742
|
-
"text/plain"
|
|
3155
|
+
"text/plain",
|
|
3156
|
+
BINARY_FORM_CONTENT_TYPE
|
|
2743
3157
|
);
|
|
2744
3158
|
}
|
|
2745
3159
|
function coalesce_to_error(err) {
|
|
@@ -3007,296 +3421,6 @@ function add_resolution_suffix(pathname) {
|
|
|
3007
3421
|
function strip_resolution_suffix(pathname) {
|
|
3008
3422
|
return pathname.slice(0, -ROUTE_SUFFIX.length);
|
|
3009
3423
|
}
|
|
3010
|
-
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$";
|
|
3011
|
-
const unsafe_chars = /[<\b\f\n\r\t\0\u2028\u2029]/g;
|
|
3012
|
-
const reserved = /^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;
|
|
3013
|
-
function uneval(value, replacer) {
|
|
3014
|
-
const counts = /* @__PURE__ */ new Map();
|
|
3015
|
-
const keys = [];
|
|
3016
|
-
const custom = /* @__PURE__ */ new Map();
|
|
3017
|
-
function walk(thing) {
|
|
3018
|
-
if (typeof thing === "function") {
|
|
3019
|
-
throw new DevalueError(`Cannot stringify a function`, keys);
|
|
3020
|
-
}
|
|
3021
|
-
if (!is_primitive(thing)) {
|
|
3022
|
-
if (counts.has(thing)) {
|
|
3023
|
-
counts.set(thing, counts.get(thing) + 1);
|
|
3024
|
-
return;
|
|
3025
|
-
}
|
|
3026
|
-
counts.set(thing, 1);
|
|
3027
|
-
if (replacer) {
|
|
3028
|
-
const str2 = replacer(thing);
|
|
3029
|
-
if (typeof str2 === "string") {
|
|
3030
|
-
custom.set(thing, str2);
|
|
3031
|
-
return;
|
|
3032
|
-
}
|
|
3033
|
-
}
|
|
3034
|
-
const type = get_type(thing);
|
|
3035
|
-
switch (type) {
|
|
3036
|
-
case "Number":
|
|
3037
|
-
case "BigInt":
|
|
3038
|
-
case "String":
|
|
3039
|
-
case "Boolean":
|
|
3040
|
-
case "Date":
|
|
3041
|
-
case "RegExp":
|
|
3042
|
-
case "URL":
|
|
3043
|
-
case "URLSearchParams":
|
|
3044
|
-
return;
|
|
3045
|
-
case "Array":
|
|
3046
|
-
thing.forEach((value2, i) => {
|
|
3047
|
-
keys.push(`[${i}]`);
|
|
3048
|
-
walk(value2);
|
|
3049
|
-
keys.pop();
|
|
3050
|
-
});
|
|
3051
|
-
break;
|
|
3052
|
-
case "Set":
|
|
3053
|
-
Array.from(thing).forEach(walk);
|
|
3054
|
-
break;
|
|
3055
|
-
case "Map":
|
|
3056
|
-
for (const [key2, value2] of thing) {
|
|
3057
|
-
keys.push(
|
|
3058
|
-
`.get(${is_primitive(key2) ? stringify_primitive(key2) : "..."})`
|
|
3059
|
-
);
|
|
3060
|
-
walk(value2);
|
|
3061
|
-
keys.pop();
|
|
3062
|
-
}
|
|
3063
|
-
break;
|
|
3064
|
-
case "Int8Array":
|
|
3065
|
-
case "Uint8Array":
|
|
3066
|
-
case "Uint8ClampedArray":
|
|
3067
|
-
case "Int16Array":
|
|
3068
|
-
case "Uint16Array":
|
|
3069
|
-
case "Int32Array":
|
|
3070
|
-
case "Uint32Array":
|
|
3071
|
-
case "Float32Array":
|
|
3072
|
-
case "Float64Array":
|
|
3073
|
-
case "BigInt64Array":
|
|
3074
|
-
case "BigUint64Array":
|
|
3075
|
-
walk(thing.buffer);
|
|
3076
|
-
return;
|
|
3077
|
-
case "ArrayBuffer":
|
|
3078
|
-
return;
|
|
3079
|
-
case "Temporal.Duration":
|
|
3080
|
-
case "Temporal.Instant":
|
|
3081
|
-
case "Temporal.PlainDate":
|
|
3082
|
-
case "Temporal.PlainTime":
|
|
3083
|
-
case "Temporal.PlainDateTime":
|
|
3084
|
-
case "Temporal.PlainMonthDay":
|
|
3085
|
-
case "Temporal.PlainYearMonth":
|
|
3086
|
-
case "Temporal.ZonedDateTime":
|
|
3087
|
-
return;
|
|
3088
|
-
default:
|
|
3089
|
-
if (!is_plain_object(thing)) {
|
|
3090
|
-
throw new DevalueError(
|
|
3091
|
-
`Cannot stringify arbitrary non-POJOs`,
|
|
3092
|
-
keys
|
|
3093
|
-
);
|
|
3094
|
-
}
|
|
3095
|
-
if (enumerable_symbols(thing).length > 0) {
|
|
3096
|
-
throw new DevalueError(
|
|
3097
|
-
`Cannot stringify POJOs with symbolic keys`,
|
|
3098
|
-
keys
|
|
3099
|
-
);
|
|
3100
|
-
}
|
|
3101
|
-
for (const key2 in thing) {
|
|
3102
|
-
keys.push(stringify_key(key2));
|
|
3103
|
-
walk(thing[key2]);
|
|
3104
|
-
keys.pop();
|
|
3105
|
-
}
|
|
3106
|
-
}
|
|
3107
|
-
}
|
|
3108
|
-
}
|
|
3109
|
-
walk(value);
|
|
3110
|
-
const names = /* @__PURE__ */ new Map();
|
|
3111
|
-
Array.from(counts).filter((entry) => entry[1] > 1).sort((a, b) => b[1] - a[1]).forEach((entry, i) => {
|
|
3112
|
-
names.set(entry[0], get_name(i));
|
|
3113
|
-
});
|
|
3114
|
-
function stringify2(thing) {
|
|
3115
|
-
if (names.has(thing)) {
|
|
3116
|
-
return names.get(thing);
|
|
3117
|
-
}
|
|
3118
|
-
if (is_primitive(thing)) {
|
|
3119
|
-
return stringify_primitive(thing);
|
|
3120
|
-
}
|
|
3121
|
-
if (custom.has(thing)) {
|
|
3122
|
-
return custom.get(thing);
|
|
3123
|
-
}
|
|
3124
|
-
const type = get_type(thing);
|
|
3125
|
-
switch (type) {
|
|
3126
|
-
case "Number":
|
|
3127
|
-
case "String":
|
|
3128
|
-
case "Boolean":
|
|
3129
|
-
return `Object(${stringify2(thing.valueOf())})`;
|
|
3130
|
-
case "RegExp":
|
|
3131
|
-
return `new RegExp(${stringify_string(thing.source)}, "${thing.flags}")`;
|
|
3132
|
-
case "Date":
|
|
3133
|
-
return `new Date(${thing.getTime()})`;
|
|
3134
|
-
case "URL":
|
|
3135
|
-
return `new URL(${stringify_string(thing.toString())})`;
|
|
3136
|
-
case "URLSearchParams":
|
|
3137
|
-
return `new URLSearchParams(${stringify_string(thing.toString())})`;
|
|
3138
|
-
case "Array":
|
|
3139
|
-
const members = (
|
|
3140
|
-
/** @type {any[]} */
|
|
3141
|
-
thing.map(
|
|
3142
|
-
(v, i) => i in thing ? stringify2(v) : ""
|
|
3143
|
-
)
|
|
3144
|
-
);
|
|
3145
|
-
const tail = thing.length === 0 || thing.length - 1 in thing ? "" : ",";
|
|
3146
|
-
return `[${members.join(",")}${tail}]`;
|
|
3147
|
-
case "Set":
|
|
3148
|
-
case "Map":
|
|
3149
|
-
return `new ${type}([${Array.from(thing).map(stringify2).join(",")}])`;
|
|
3150
|
-
case "Int8Array":
|
|
3151
|
-
case "Uint8Array":
|
|
3152
|
-
case "Uint8ClampedArray":
|
|
3153
|
-
case "Int16Array":
|
|
3154
|
-
case "Uint16Array":
|
|
3155
|
-
case "Int32Array":
|
|
3156
|
-
case "Uint32Array":
|
|
3157
|
-
case "Float32Array":
|
|
3158
|
-
case "Float64Array":
|
|
3159
|
-
case "BigInt64Array":
|
|
3160
|
-
case "BigUint64Array": {
|
|
3161
|
-
let str2 = `new ${type}`;
|
|
3162
|
-
if (counts.get(thing.buffer) === 1) {
|
|
3163
|
-
const array2 = new thing.constructor(thing.buffer);
|
|
3164
|
-
str2 += `([${array2}])`;
|
|
3165
|
-
} else {
|
|
3166
|
-
str2 += `([${stringify2(thing.buffer)}])`;
|
|
3167
|
-
}
|
|
3168
|
-
const a = thing.byteOffset;
|
|
3169
|
-
const b = a + thing.byteLength;
|
|
3170
|
-
if (a > 0 || b !== thing.buffer.byteLength) {
|
|
3171
|
-
const m = +/(\d+)/.exec(type)[1] / 8;
|
|
3172
|
-
str2 += `.subarray(${a / m},${b / m})`;
|
|
3173
|
-
}
|
|
3174
|
-
return str2;
|
|
3175
|
-
}
|
|
3176
|
-
case "ArrayBuffer": {
|
|
3177
|
-
const ui8 = new Uint8Array(thing);
|
|
3178
|
-
return `new Uint8Array([${ui8.toString()}]).buffer`;
|
|
3179
|
-
}
|
|
3180
|
-
case "Temporal.Duration":
|
|
3181
|
-
case "Temporal.Instant":
|
|
3182
|
-
case "Temporal.PlainDate":
|
|
3183
|
-
case "Temporal.PlainTime":
|
|
3184
|
-
case "Temporal.PlainDateTime":
|
|
3185
|
-
case "Temporal.PlainMonthDay":
|
|
3186
|
-
case "Temporal.PlainYearMonth":
|
|
3187
|
-
case "Temporal.ZonedDateTime":
|
|
3188
|
-
return `${type}.from(${stringify_string(thing.toString())})`;
|
|
3189
|
-
default:
|
|
3190
|
-
const obj = `{${Object.keys(thing).map((key2) => `${safe_key(key2)}:${stringify2(thing[key2])}`).join(",")}}`;
|
|
3191
|
-
const proto = Object.getPrototypeOf(thing);
|
|
3192
|
-
if (proto === null) {
|
|
3193
|
-
return Object.keys(thing).length > 0 ? `Object.assign(Object.create(null),${obj})` : `Object.create(null)`;
|
|
3194
|
-
}
|
|
3195
|
-
return obj;
|
|
3196
|
-
}
|
|
3197
|
-
}
|
|
3198
|
-
const str = stringify2(value);
|
|
3199
|
-
if (names.size) {
|
|
3200
|
-
const params = [];
|
|
3201
|
-
const statements = [];
|
|
3202
|
-
const values = [];
|
|
3203
|
-
names.forEach((name, thing) => {
|
|
3204
|
-
params.push(name);
|
|
3205
|
-
if (custom.has(thing)) {
|
|
3206
|
-
values.push(
|
|
3207
|
-
/** @type {string} */
|
|
3208
|
-
custom.get(thing)
|
|
3209
|
-
);
|
|
3210
|
-
return;
|
|
3211
|
-
}
|
|
3212
|
-
if (is_primitive(thing)) {
|
|
3213
|
-
values.push(stringify_primitive(thing));
|
|
3214
|
-
return;
|
|
3215
|
-
}
|
|
3216
|
-
const type = get_type(thing);
|
|
3217
|
-
switch (type) {
|
|
3218
|
-
case "Number":
|
|
3219
|
-
case "String":
|
|
3220
|
-
case "Boolean":
|
|
3221
|
-
values.push(`Object(${stringify2(thing.valueOf())})`);
|
|
3222
|
-
break;
|
|
3223
|
-
case "RegExp":
|
|
3224
|
-
values.push(thing.toString());
|
|
3225
|
-
break;
|
|
3226
|
-
case "Date":
|
|
3227
|
-
values.push(`new Date(${thing.getTime()})`);
|
|
3228
|
-
break;
|
|
3229
|
-
case "Array":
|
|
3230
|
-
values.push(`Array(${thing.length})`);
|
|
3231
|
-
thing.forEach((v, i) => {
|
|
3232
|
-
statements.push(`${name}[${i}]=${stringify2(v)}`);
|
|
3233
|
-
});
|
|
3234
|
-
break;
|
|
3235
|
-
case "Set":
|
|
3236
|
-
values.push(`new Set`);
|
|
3237
|
-
statements.push(
|
|
3238
|
-
`${name}.${Array.from(thing).map((v) => `add(${stringify2(v)})`).join(".")}`
|
|
3239
|
-
);
|
|
3240
|
-
break;
|
|
3241
|
-
case "Map":
|
|
3242
|
-
values.push(`new Map`);
|
|
3243
|
-
statements.push(
|
|
3244
|
-
`${name}.${Array.from(thing).map(([k, v]) => `set(${stringify2(k)}, ${stringify2(v)})`).join(".")}`
|
|
3245
|
-
);
|
|
3246
|
-
break;
|
|
3247
|
-
case "ArrayBuffer":
|
|
3248
|
-
values.push(
|
|
3249
|
-
`new Uint8Array([${new Uint8Array(thing).join(",")}]).buffer`
|
|
3250
|
-
);
|
|
3251
|
-
break;
|
|
3252
|
-
default:
|
|
3253
|
-
values.push(
|
|
3254
|
-
Object.getPrototypeOf(thing) === null ? "Object.create(null)" : "{}"
|
|
3255
|
-
);
|
|
3256
|
-
Object.keys(thing).forEach((key2) => {
|
|
3257
|
-
statements.push(
|
|
3258
|
-
`${name}${safe_prop(key2)}=${stringify2(thing[key2])}`
|
|
3259
|
-
);
|
|
3260
|
-
});
|
|
3261
|
-
}
|
|
3262
|
-
});
|
|
3263
|
-
statements.push(`return ${str}`);
|
|
3264
|
-
return `(function(${params.join(",")}){${statements.join(
|
|
3265
|
-
";"
|
|
3266
|
-
)}}(${values.join(",")}))`;
|
|
3267
|
-
} else {
|
|
3268
|
-
return str;
|
|
3269
|
-
}
|
|
3270
|
-
}
|
|
3271
|
-
function get_name(num) {
|
|
3272
|
-
let name = "";
|
|
3273
|
-
do {
|
|
3274
|
-
name = chars[num % chars.length] + name;
|
|
3275
|
-
num = ~~(num / chars.length) - 1;
|
|
3276
|
-
} while (num >= 0);
|
|
3277
|
-
return reserved.test(name) ? `${name}0` : name;
|
|
3278
|
-
}
|
|
3279
|
-
function escape_unsafe_char(c) {
|
|
3280
|
-
return escaped[c] || c;
|
|
3281
|
-
}
|
|
3282
|
-
function escape_unsafe_chars(str) {
|
|
3283
|
-
return str.replace(unsafe_chars, escape_unsafe_char);
|
|
3284
|
-
}
|
|
3285
|
-
function safe_key(key2) {
|
|
3286
|
-
return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key2) ? key2 : escape_unsafe_chars(JSON.stringify(key2));
|
|
3287
|
-
}
|
|
3288
|
-
function safe_prop(key2) {
|
|
3289
|
-
return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key2) ? `.${key2}` : `[${escape_unsafe_chars(JSON.stringify(key2))}]`;
|
|
3290
|
-
}
|
|
3291
|
-
function stringify_primitive(thing) {
|
|
3292
|
-
if (typeof thing === "string") return stringify_string(thing);
|
|
3293
|
-
if (thing === void 0) return "void 0";
|
|
3294
|
-
if (thing === 0 && 1 / thing < 0) return "-0";
|
|
3295
|
-
const str = String(thing);
|
|
3296
|
-
if (typeof thing === "number") return str.replace(/^(-)?0\./, "$1.");
|
|
3297
|
-
if (typeof thing === "bigint") return thing + "n";
|
|
3298
|
-
return str;
|
|
3299
|
-
}
|
|
3300
3424
|
const noop_span = {
|
|
3301
3425
|
spanContext() {
|
|
3302
3426
|
return noop_span_context;
|
|
@@ -3971,7 +4095,7 @@ function create_universal_fetch(event, state, fetched, csr, resolve_opts) {
|
|
|
3971
4095
|
}
|
|
3972
4096
|
let teed_body;
|
|
3973
4097
|
const proxy = new Proxy(response, {
|
|
3974
|
-
get(response2, key2,
|
|
4098
|
+
get(response2, key2, receiver) {
|
|
3975
4099
|
async function push_fetched(body2, is_b64) {
|
|
3976
4100
|
const status_number = Number(response2.status);
|
|
3977
4101
|
if (isNaN(status_number)) {
|
|
@@ -4051,7 +4175,22 @@ function create_universal_fetch(event, state, fetched, csr, resolve_opts) {
|
|
|
4051
4175
|
return body2 ? JSON.parse(body2) : void 0;
|
|
4052
4176
|
};
|
|
4053
4177
|
}
|
|
4054
|
-
|
|
4178
|
+
const value = Reflect.get(response2, key2, response2);
|
|
4179
|
+
if (value instanceof Function) {
|
|
4180
|
+
return Object.defineProperties(
|
|
4181
|
+
/**
|
|
4182
|
+
* @this {any}
|
|
4183
|
+
*/
|
|
4184
|
+
function() {
|
|
4185
|
+
return Reflect.apply(value, this === receiver ? response2 : this, arguments);
|
|
4186
|
+
},
|
|
4187
|
+
{
|
|
4188
|
+
name: { value: value.name },
|
|
4189
|
+
length: { value: value.length }
|
|
4190
|
+
}
|
|
4191
|
+
);
|
|
4192
|
+
}
|
|
4193
|
+
return value;
|
|
4055
4194
|
}
|
|
4056
4195
|
});
|
|
4057
4196
|
if (csr) {
|
|
@@ -4864,7 +5003,7 @@ ${indent}}`);
|
|
|
4864
5003
|
for (const [info, cache] of remote_cache) {
|
|
4865
5004
|
if (!info.id) continue;
|
|
4866
5005
|
for (const key2 in cache) {
|
|
4867
|
-
remote[
|
|
5006
|
+
remote[create_remote_key(info.id, key2)] = await cache[key2];
|
|
4868
5007
|
}
|
|
4869
5008
|
}
|
|
4870
5009
|
const replacer = (thing) => {
|
|
@@ -4975,7 +5114,7 @@ ${indent}}`);
|
|
|
4975
5114
|
async start(controller) {
|
|
4976
5115
|
controller.enqueue(text_encoder.encode(transformed + "\n"));
|
|
4977
5116
|
for await (const chunk of chunks) {
|
|
4978
|
-
controller.enqueue(text_encoder.encode(chunk));
|
|
5117
|
+
if (chunk.length) controller.enqueue(text_encoder.encode(chunk));
|
|
4979
5118
|
}
|
|
4980
5119
|
controller.close();
|
|
4981
5120
|
},
|
|
@@ -5244,24 +5383,18 @@ async function handle_remote_call_internal(event, state, options2, manifest, id)
|
|
|
5244
5383
|
)}`
|
|
5245
5384
|
);
|
|
5246
5385
|
}
|
|
5247
|
-
const form_data = await event.request
|
|
5248
|
-
|
|
5249
|
-
|
|
5250
|
-
/** @type {string} */
|
|
5251
|
-
form_data.get("sveltekit:remote_refreshes") ?? "[]"
|
|
5252
|
-
);
|
|
5253
|
-
form_data.delete("sveltekit:remote_refreshes");
|
|
5254
|
-
if (additional_args) {
|
|
5255
|
-
form_data.set("sveltekit:id", decodeURIComponent(additional_args));
|
|
5386
|
+
const { data: data2, meta, form_data } = await deserialize_binary_form(event.request);
|
|
5387
|
+
if (additional_args && !("id" in data2)) {
|
|
5388
|
+
data2.id = JSON.parse(decodeURIComponent(additional_args));
|
|
5256
5389
|
}
|
|
5257
5390
|
const fn2 = info.fn;
|
|
5258
|
-
const
|
|
5391
|
+
const result = await with_request_store({ event, state }, () => fn2(data2, meta, form_data));
|
|
5259
5392
|
return json(
|
|
5260
5393
|
/** @type {RemoteFunctionResponse} */
|
|
5261
5394
|
{
|
|
5262
5395
|
type: "result",
|
|
5263
|
-
result: stringify(
|
|
5264
|
-
refreshes:
|
|
5396
|
+
result: stringify(result, transport),
|
|
5397
|
+
refreshes: result.issues ? void 0 : await serialize_refreshes(meta.remote_refreshes)
|
|
5265
5398
|
}
|
|
5266
5399
|
);
|
|
5267
5400
|
}
|
|
@@ -5301,7 +5434,7 @@ async function handle_remote_call_internal(event, state, options2, manifest, id)
|
|
|
5301
5434
|
{
|
|
5302
5435
|
type: "redirect",
|
|
5303
5436
|
location: error2.location,
|
|
5304
|
-
refreshes: await serialize_refreshes(form_client_refreshes
|
|
5437
|
+
refreshes: await serialize_refreshes(form_client_refreshes)
|
|
5305
5438
|
}
|
|
5306
5439
|
);
|
|
5307
5440
|
}
|
|
@@ -5325,16 +5458,18 @@ async function handle_remote_call_internal(event, state, options2, manifest, id)
|
|
|
5325
5458
|
}
|
|
5326
5459
|
async function serialize_refreshes(client_refreshes) {
|
|
5327
5460
|
const refreshes = state.refreshes ?? {};
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5461
|
+
if (client_refreshes) {
|
|
5462
|
+
for (const key2 of client_refreshes) {
|
|
5463
|
+
if (refreshes[key2] !== void 0) continue;
|
|
5464
|
+
const [hash3, name2, payload] = key2.split("/");
|
|
5465
|
+
const loader = manifest._.remotes[hash3];
|
|
5466
|
+
const fn2 = (await loader?.())?.default?.[name2];
|
|
5467
|
+
if (!fn2) error(400, "Bad Request");
|
|
5468
|
+
refreshes[key2] = with_request_store(
|
|
5469
|
+
{ event, state },
|
|
5470
|
+
() => fn2(parse_remote_arg(payload, transport))
|
|
5471
|
+
);
|
|
5472
|
+
}
|
|
5338
5473
|
}
|
|
5339
5474
|
if (Object.keys(refreshes).length === 0) {
|
|
5340
5475
|
return void 0;
|
|
@@ -5389,16 +5524,16 @@ async function handle_remote_form_post_internal(event, state, manifest, id) {
|
|
|
5389
5524
|
form = with_request_store({ event, state }, () => form.for(JSON.parse(action_id)));
|
|
5390
5525
|
}
|
|
5391
5526
|
try {
|
|
5392
|
-
const form_data = await event.request.formData();
|
|
5393
5527
|
const fn = (
|
|
5394
5528
|
/** @type {RemoteInfo & { type: 'form' }} */
|
|
5395
5529
|
/** @type {any} */
|
|
5396
5530
|
form.__.fn
|
|
5397
5531
|
);
|
|
5398
|
-
|
|
5399
|
-
|
|
5532
|
+
const { data, meta, form_data } = await deserialize_binary_form(event.request);
|
|
5533
|
+
if (action_id && !("id" in data)) {
|
|
5534
|
+
data.id = JSON.parse(decodeURIComponent(action_id));
|
|
5400
5535
|
}
|
|
5401
|
-
await with_request_store({ event, state }, () => fn(form_data));
|
|
5536
|
+
await with_request_store({ event, state }, () => fn(data, meta, form_data));
|
|
5402
5537
|
return {
|
|
5403
5538
|
type: "success",
|
|
5404
5539
|
status: 200
|
|
@@ -5819,12 +5954,6 @@ function redirect_json_response(redirect) {
|
|
|
5819
5954
|
);
|
|
5820
5955
|
}
|
|
5821
5956
|
var cookie = {};
|
|
5822
|
-
/*!
|
|
5823
|
-
* cookie
|
|
5824
|
-
* Copyright(c) 2012-2014 Roman Shtylman
|
|
5825
|
-
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
5826
|
-
* MIT Licensed
|
|
5827
|
-
*/
|
|
5828
5957
|
var hasRequiredCookie;
|
|
5829
5958
|
function requireCookie() {
|
|
5830
5959
|
if (hasRequiredCookie) return cookie;
|
|
@@ -6141,6 +6270,12 @@ function requireSetCookie() {
|
|
|
6141
6270
|
map: false,
|
|
6142
6271
|
silent: false
|
|
6143
6272
|
};
|
|
6273
|
+
function isForbiddenKey(key2) {
|
|
6274
|
+
return typeof key2 !== "string" || key2 in {};
|
|
6275
|
+
}
|
|
6276
|
+
function createNullObj() {
|
|
6277
|
+
return /* @__PURE__ */ Object.create(null);
|
|
6278
|
+
}
|
|
6144
6279
|
function isNonEmptyString(str) {
|
|
6145
6280
|
return typeof str === "string" && !!str.trim();
|
|
6146
6281
|
}
|
|
@@ -6151,26 +6286,32 @@ function requireSetCookie() {
|
|
|
6151
6286
|
var name = parsed.name;
|
|
6152
6287
|
var value = parsed.value;
|
|
6153
6288
|
options2 = options2 ? Object.assign({}, defaultParseOptions, options2) : defaultParseOptions;
|
|
6289
|
+
if (isForbiddenKey(name)) {
|
|
6290
|
+
return null;
|
|
6291
|
+
}
|
|
6154
6292
|
try {
|
|
6155
6293
|
value = options2.decodeValues ? decodeURIComponent(value) : value;
|
|
6156
6294
|
} catch (e) {
|
|
6157
6295
|
console.error(
|
|
6158
|
-
"set-cookie-parser
|
|
6296
|
+
"set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",
|
|
6159
6297
|
e
|
|
6160
6298
|
);
|
|
6161
6299
|
}
|
|
6162
|
-
var cookie2 =
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
};
|
|
6300
|
+
var cookie2 = createNullObj();
|
|
6301
|
+
cookie2.name = name;
|
|
6302
|
+
cookie2.value = value;
|
|
6166
6303
|
parts.forEach(function(part) {
|
|
6167
6304
|
var sides = part.split("=");
|
|
6168
6305
|
var key2 = sides.shift().trimLeft().toLowerCase();
|
|
6306
|
+
if (isForbiddenKey(key2)) {
|
|
6307
|
+
return;
|
|
6308
|
+
}
|
|
6169
6309
|
var value2 = sides.join("=");
|
|
6170
6310
|
if (key2 === "expires") {
|
|
6171
6311
|
cookie2.expires = new Date(value2);
|
|
6172
6312
|
} else if (key2 === "max-age") {
|
|
6173
|
-
|
|
6313
|
+
var n = parseInt(value2, 10);
|
|
6314
|
+
if (!Number.isNaN(n)) cookie2.maxAge = n;
|
|
6174
6315
|
} else if (key2 === "secure") {
|
|
6175
6316
|
cookie2.secure = true;
|
|
6176
6317
|
} else if (key2 === "httponly") {
|
|
@@ -6179,7 +6320,7 @@ function requireSetCookie() {
|
|
|
6179
6320
|
cookie2.sameSite = value2;
|
|
6180
6321
|
} else if (key2 === "partitioned") {
|
|
6181
6322
|
cookie2.partitioned = true;
|
|
6182
|
-
} else {
|
|
6323
|
+
} else if (key2) {
|
|
6183
6324
|
cookie2[key2] = value2;
|
|
6184
6325
|
}
|
|
6185
6326
|
});
|
|
@@ -6203,7 +6344,7 @@ function requireSetCookie() {
|
|
|
6203
6344
|
if (!options2.map) {
|
|
6204
6345
|
return [];
|
|
6205
6346
|
} else {
|
|
6206
|
-
return
|
|
6347
|
+
return createNullObj();
|
|
6207
6348
|
}
|
|
6208
6349
|
}
|
|
6209
6350
|
if (input.headers) {
|
|
@@ -6229,12 +6370,14 @@ function requireSetCookie() {
|
|
|
6229
6370
|
if (!options2.map) {
|
|
6230
6371
|
return input.filter(isNonEmptyString).map(function(str) {
|
|
6231
6372
|
return parseString(str, options2);
|
|
6232
|
-
});
|
|
6373
|
+
}).filter(Boolean);
|
|
6233
6374
|
} else {
|
|
6234
|
-
var cookies =
|
|
6375
|
+
var cookies = createNullObj();
|
|
6235
6376
|
return input.filter(isNonEmptyString).reduce(function(cookies2, str) {
|
|
6236
6377
|
var cookie2 = parseString(str, options2);
|
|
6237
|
-
|
|
6378
|
+
if (cookie2 && !isForbiddenKey(cookie2.name)) {
|
|
6379
|
+
cookies2[cookie2.name] = cookie2;
|
|
6380
|
+
}
|
|
6238
6381
|
return cookies2;
|
|
6239
6382
|
}, cookies);
|
|
6240
6383
|
}
|
|
@@ -6537,7 +6680,11 @@ async function internal_respond(request, options2, manifest, state) {
|
|
|
6537
6680
|
"Use `event.cookies.set(name, value, options)` instead of `event.setHeaders` to set cookies"
|
|
6538
6681
|
);
|
|
6539
6682
|
} else if (lower in headers2) {
|
|
6540
|
-
|
|
6683
|
+
if (lower === "server-timing") {
|
|
6684
|
+
headers2[lower] += ", " + value;
|
|
6685
|
+
} else {
|
|
6686
|
+
throw new Error(`"${key2}" header is already set`);
|
|
6687
|
+
}
|
|
6541
6688
|
} else {
|
|
6542
6689
|
headers2[lower] = value;
|
|
6543
6690
|
if (state.prerendering && lower === "cache-control") {
|
|
@@ -6585,20 +6732,27 @@ async function internal_respond(request, options2, manifest, state) {
|
|
|
6585
6732
|
} catch {
|
|
6586
6733
|
return text("Malformed URI", { status: 400 });
|
|
6587
6734
|
}
|
|
6588
|
-
if (
|
|
6735
|
+
if (
|
|
6736
|
+
// the resolved path has been decoded so it should be compared to the decoded url pathname
|
|
6737
|
+
resolved_path !== decode_pathname(url.pathname) && !state.prerendering?.fallback && has_prerendered_path(manifest, resolved_path)
|
|
6738
|
+
) {
|
|
6589
6739
|
const url2 = new URL(request.url);
|
|
6590
6740
|
url2.pathname = is_data_request ? add_data_suffix(resolved_path) : is_route_resolution_request ? add_resolution_suffix(resolved_path) : resolved_path;
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
headers22.
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6741
|
+
try {
|
|
6742
|
+
const response = await fetch(url2, request);
|
|
6743
|
+
const headers22 = new Headers(response.headers);
|
|
6744
|
+
if (headers22.has("content-encoding")) {
|
|
6745
|
+
headers22.delete("content-encoding");
|
|
6746
|
+
headers22.delete("content-length");
|
|
6747
|
+
}
|
|
6748
|
+
return new Response(response.body, {
|
|
6749
|
+
headers: headers22,
|
|
6750
|
+
status: response.status,
|
|
6751
|
+
statusText: response.statusText
|
|
6752
|
+
});
|
|
6753
|
+
} catch (error2) {
|
|
6754
|
+
return await handle_fatal_error(event, event_state, options2, error2);
|
|
6755
|
+
}
|
|
6602
6756
|
}
|
|
6603
6757
|
let route = null;
|
|
6604
6758
|
if (base && !state.prerendering?.fallback) {
|