@claude-sessions/web 0.4.6 → 0.4.7-beta.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/chunks/CBiqUHp4.js +1 -0
- package/build/client/_app/immutable/chunks/CBiqUHp4.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBiqUHp4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CYKpEMl5.js +1 -0
- package/build/client/_app/immutable/chunks/CYKpEMl5.js.br +0 -0
- package/build/client/_app/immutable/chunks/CYKpEMl5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DicbBas7.js +1 -0
- package/build/client/_app/immutable/chunks/DicbBas7.js.br +0 -0
- package/build/client/_app/immutable/chunks/DicbBas7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{aZi3OCpL.js → GmjPUgZ0.js} +30 -26
- package/build/client/_app/immutable/chunks/GmjPUgZ0.js.br +0 -0
- package/build/client/_app/immutable/chunks/GmjPUgZ0.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CYY1PZCN.js → app.CMV94ayS.js} +2 -2
- package/build/client/_app/immutable/entry/app.CMV94ayS.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CMV94ayS.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CgzpSnrE.js +1 -0
- package/build/client/_app/immutable/entry/start.CgzpSnrE.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CgzpSnrE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.B2uv-WBM.js → 0.DVHVg7U5.js} +1 -1
- package/build/client/_app/immutable/nodes/0.DVHVg7U5.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DVHVg7U5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BoxEAqK6.js → 1.D0PdYLPm.js} +1 -1
- package/build/client/_app/immutable/nodes/1.D0PdYLPm.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.D0PdYLPm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.Cs83Zp7C.js +4 -0
- package/build/client/_app/immutable/nodes/2.Cs83Zp7C.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Cs83Zp7C.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.Dj8iwfME.js → 3.BMgB8JW6.js} +1 -1
- package/build/client/_app/immutable/nodes/3.BMgB8JW6.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BMgB8JW6.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/server/chunks/{0-DChhR3gd.js → 0-CEq226Yu.js} +3 -3
- package/build/server/chunks/0-CEq226Yu.js.map +1 -0
- package/build/server/chunks/{1-BBSPd3nB.js → 1-CZKii7cF.js} +3 -3
- package/build/server/chunks/1-CZKii7cF.js.map +1 -0
- package/build/server/chunks/{2-C20RW_lJ.js → 2-1NHU8T7t.js} +3 -3
- package/build/server/chunks/2-1NHU8T7t.js.map +1 -0
- package/build/server/chunks/{3-D3wL2YSE.js → 3-DHru04k0.js} +3 -3
- package/build/server/chunks/3-DHru04k0.js.map +1 -0
- package/build/server/chunks/{InputModal-1qJGryUa.js → InputModal-B2QW71Rc.js} +2 -2
- package/build/server/chunks/InputModal-B2QW71Rc.js.map +1 -0
- package/build/server/chunks/{Toast-C9b_dWm4.js → Toast-BzqOqKOg.js} +3 -3
- package/build/server/chunks/Toast-BzqOqKOg.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-CdDMC1RI.js → _layout.svelte-CkLZkYhs.js} +7 -7
- package/build/server/chunks/_layout.svelte-CkLZkYhs.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Dx2ikKP_.js → _page.svelte-DSpIiljH.js} +13 -7
- package/build/server/chunks/_page.svelte-DSpIiljH.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CVL9fjg-.js → _page.svelte-DuQWccy1.js} +7 -7
- package/build/server/chunks/_page.svelte-DuQWccy1.js.map +1 -0
- package/build/server/chunks/{_server.ts-DOSGEHuw.js → _server.ts-B-2v0wgR.js} +2 -2
- package/build/server/chunks/{_server.ts-DOSGEHuw.js.map → _server.ts-B-2v0wgR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWxgSwZN.js → _server.ts-Ba6jXSm2.js} +2 -2
- package/build/server/chunks/{_server.ts-BWxgSwZN.js.map → _server.ts-Ba6jXSm2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rTWeIoSC.js → _server.ts-BhA9i-7j.js} +3 -3
- package/build/server/chunks/{_server.ts-rTWeIoSC.js.map → _server.ts-BhA9i-7j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrKc6LEy.js → _server.ts-BjynU3C4.js} +2 -2
- package/build/server/chunks/{_server.ts-CrKc6LEy.js.map → _server.ts-BjynU3C4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-F01KLghS.js → _server.ts-C-iKh37d.js} +2 -2
- package/build/server/chunks/{_server.ts-F01KLghS.js.map → _server.ts-C-iKh37d.js.map} +1 -1
- package/build/server/chunks/{_server.ts-COPvamIQ.js → _server.ts-CoLbb7aT.js} +2 -2
- package/build/server/chunks/{_server.ts-COPvamIQ.js.map → _server.ts-CoLbb7aT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3M-jxF5.js → _server.ts-CozgvvoX.js} +2 -2
- package/build/server/chunks/{_server.ts-B3M-jxF5.js.map → _server.ts-CozgvvoX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BGA9W8aM.js → _server.ts-Cy5z0Rsk.js} +2 -2
- package/build/server/chunks/{_server.ts-BGA9W8aM.js.map → _server.ts-Cy5z0Rsk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QLTE_2dV.js → _server.ts-DCSJsfkA.js} +2 -2
- package/build/server/chunks/{_server.ts-QLTE_2dV.js.map → _server.ts-DCSJsfkA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmWsoikX.js → _server.ts-DRrwjyQ0.js} +2 -2
- package/build/server/chunks/{_server.ts-DmWsoikX.js.map → _server.ts-DRrwjyQ0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C9GYaVf1.js → _server.ts-DcfIBmy4.js} +3 -3
- package/build/server/chunks/_server.ts-DcfIBmy4.js.map +1 -0
- package/build/server/chunks/{_server.ts-BCOHCAjW.js → _server.ts-Dq4A0ML7.js} +2 -2
- package/build/server/chunks/{_server.ts-BCOHCAjW.js.map → _server.ts-Dq4A0ML7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DP0i5Bdl.js → _server.ts-dEWE9PbU.js} +2 -2
- package/build/server/chunks/{_server.ts-DP0i5Bdl.js.map → _server.ts-dEWE9PbU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-WZF_VFnZ.js → _server.ts-g1VNk1F2.js} +2 -2
- package/build/server/chunks/{_server.ts-WZF_VFnZ.js.map → _server.ts-g1VNk1F2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C0mKXnG1.js → _server.ts-klbpGqf9.js} +2 -2
- package/build/server/chunks/{_server.ts-C0mKXnG1.js.map → _server.ts-klbpGqf9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmN9rdOH.js → _server.ts-xRJQMsoy.js} +3 -3
- package/build/server/chunks/{_server.ts-DmN9rdOH.js.map → _server.ts-xRJQMsoy.js.map} +1 -1
- package/build/server/chunks/{client-BtcIwznP.js → client-CJUAsTTN.js} +3 -3
- package/build/server/chunks/client-CJUAsTTN.js.map +1 -0
- package/build/server/chunks/{error.svelte-B02-pvoO.js → error.svelte-CYLEgCzL.js} +5 -5
- package/build/server/chunks/error.svelte-CYLEgCzL.js.map +1 -0
- package/build/server/chunks/exports-7ECo9oy7.js +102 -0
- package/build/server/chunks/exports-7ECo9oy7.js.map +1 -0
- package/build/server/chunks/{index2-B2Ld-FFX.js → index-CUeePJRv.js} +1145 -68
- package/build/server/chunks/index-CUeePJRv.js.map +1 -0
- package/build/server/chunks/{index3-DNyQGNm8.js → index2-BbHYMsUG.js} +265 -63
- package/build/server/chunks/index2-BbHYMsUG.js.map +1 -0
- package/build/server/chunks/{index4-CfOR2iO6.js → index3-BKokHvI9.js} +3 -3
- package/build/server/chunks/index3-BKokHvI9.js.map +1 -0
- package/build/server/chunks/server-Bf8x1V_n.js +16 -0
- package/build/server/chunks/server-Bf8x1V_n.js.map +1 -0
- package/build/server/chunks/{session-Dxp1vf6f.js → session-BEXBEvJ9.js} +2 -2
- package/build/server/chunks/{session-Dxp1vf6f.js.map → session-BEXBEvJ9.js.map} +1 -1
- package/build/server/index.js +4 -17
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +21 -21
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -2
- package/build/client/_app/immutable/chunks/CiIZzKcO.js +0 -1
- package/build/client/_app/immutable/chunks/CiIZzKcO.js.br +0 -0
- package/build/client/_app/immutable/chunks/CiIZzKcO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDmWtjsj.js +0 -1
- package/build/client/_app/immutable/chunks/DDmWtjsj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDmWtjsj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/aZi3OCpL.js.br +0 -0
- package/build/client/_app/immutable/chunks/aZi3OCpL.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CYY1PZCN.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CYY1PZCN.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.D84fuMw9.js +0 -1
- package/build/client/_app/immutable/entry/start.D84fuMw9.js.br +0 -2
- package/build/client/_app/immutable/entry/start.D84fuMw9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.B2uv-WBM.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.B2uv-WBM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BoxEAqK6.js.br +0 -3
- package/build/client/_app/immutable/nodes/1.BoxEAqK6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.mKAMmHlh.js +0 -4
- package/build/client/_app/immutable/nodes/2.mKAMmHlh.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.mKAMmHlh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.Dj8iwfME.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.Dj8iwfME.js.gz +0 -0
- package/build/server/chunks/0-DChhR3gd.js.map +0 -1
- package/build/server/chunks/1-BBSPd3nB.js.map +0 -1
- package/build/server/chunks/2-C20RW_lJ.js.map +0 -1
- package/build/server/chunks/3-D3wL2YSE.js.map +0 -1
- package/build/server/chunks/InputModal-1qJGryUa.js.map +0 -1
- package/build/server/chunks/Toast-C9b_dWm4.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CdDMC1RI.js.map +0 -1
- package/build/server/chunks/_page.svelte-CVL9fjg-.js.map +0 -1
- package/build/server/chunks/_page.svelte-Dx2ikKP_.js.map +0 -1
- package/build/server/chunks/_server.ts-C9GYaVf1.js.map +0 -1
- package/build/server/chunks/client-BtcIwznP.js.map +0 -1
- package/build/server/chunks/error.svelte-B02-pvoO.js.map +0 -1
- package/build/server/chunks/index2-B2Ld-FFX.js.map +0 -1
- package/build/server/chunks/index3-DNyQGNm8.js.map +0 -1
- package/build/server/chunks/index4-CfOR2iO6.js.map +0 -1
- package/build/server/chunks/root-B5iYE7yO.js +0 -1182
- package/build/server/chunks/root-B5iYE7yO.js.map +0 -1
|
@@ -110,6 +110,46 @@ function valid_array_indices(array) {
|
|
|
110
110
|
return keys;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
// eslint-disable-next-line n/prefer-global/process
|
|
114
|
+
const IN_WEBCONTAINER = !!globalThis.process?.versions?.webcontainer;
|
|
115
|
+
|
|
116
|
+
/** @import { RequestEvent } from '@sveltejs/kit' */
|
|
117
|
+
/** @import { RequestStore } from 'types' */
|
|
118
|
+
/** @import { AsyncLocalStorage } from 'node:async_hooks' */
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
/** @type {RequestStore | null} */
|
|
122
|
+
let sync_store = null;
|
|
123
|
+
|
|
124
|
+
/** @type {AsyncLocalStorage<RequestStore | null> | null} */
|
|
125
|
+
let als$1;
|
|
126
|
+
|
|
127
|
+
import('node:async_hooks')
|
|
128
|
+
.then((hooks) => (als$1 = new hooks.AsyncLocalStorage()))
|
|
129
|
+
.catch(() => {
|
|
130
|
+
// can't use AsyncLocalStorage, but can still call getRequestEvent synchronously.
|
|
131
|
+
// this isn't behind `supports` because it's basically just StackBlitz (i.e.
|
|
132
|
+
// in-browser usage) that doesn't support it AFAICT
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @template T
|
|
137
|
+
* @param {RequestStore | null} store
|
|
138
|
+
* @param {() => T} fn
|
|
139
|
+
*/
|
|
140
|
+
function with_request_store(store, fn) {
|
|
141
|
+
try {
|
|
142
|
+
sync_store = store;
|
|
143
|
+
return als$1 ? als$1.run(store, fn) : fn();
|
|
144
|
+
} finally {
|
|
145
|
+
// Since AsyncLocalStorage is not working in webcontainers, we don't reset `sync_store`
|
|
146
|
+
// and handle only one request at a time in `src/runtime/server/index.js`.
|
|
147
|
+
if (!IN_WEBCONTAINER) {
|
|
148
|
+
sync_store = null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
113
153
|
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$";
|
|
114
154
|
const unsafe_chars = /[<\b\f\n\r\t\0\u2028\u2029]/g;
|
|
115
155
|
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)$/;
|
|
@@ -546,6 +586,67 @@ const ELEMENT_IS_NAMESPACED = 1;
|
|
|
546
586
|
const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;
|
|
547
587
|
const ELEMENT_IS_INPUT = 1 << 2;
|
|
548
588
|
const UNINITIALIZED = /* @__PURE__ */ Symbol();
|
|
589
|
+
function hydration_mismatch(location) {
|
|
590
|
+
{
|
|
591
|
+
console.warn(`https://svelte.dev/e/hydration_mismatch`);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
function svelte_boundary_reset_noop() {
|
|
595
|
+
{
|
|
596
|
+
console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
let hydrating = false;
|
|
600
|
+
function set_hydrating(value) {
|
|
601
|
+
hydrating = value;
|
|
602
|
+
}
|
|
603
|
+
let hydrate_node;
|
|
604
|
+
function set_hydrate_node(node) {
|
|
605
|
+
if (node === null) {
|
|
606
|
+
hydration_mismatch();
|
|
607
|
+
throw HYDRATION_ERROR;
|
|
608
|
+
}
|
|
609
|
+
return hydrate_node = node;
|
|
610
|
+
}
|
|
611
|
+
function hydrate_next() {
|
|
612
|
+
return set_hydrate_node(/* @__PURE__ */ get_next_sibling(hydrate_node));
|
|
613
|
+
}
|
|
614
|
+
function next(count = 1) {
|
|
615
|
+
if (hydrating) {
|
|
616
|
+
var i = count;
|
|
617
|
+
var node = hydrate_node;
|
|
618
|
+
while (i--) {
|
|
619
|
+
node = /** @type {TemplateNode} */
|
|
620
|
+
/* @__PURE__ */ get_next_sibling(node);
|
|
621
|
+
}
|
|
622
|
+
hydrate_node = node;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
function skip_nodes(remove = true) {
|
|
626
|
+
var depth = 0;
|
|
627
|
+
var node = hydrate_node;
|
|
628
|
+
while (true) {
|
|
629
|
+
if (node.nodeType === COMMENT_NODE) {
|
|
630
|
+
var data = (
|
|
631
|
+
/** @type {Comment} */
|
|
632
|
+
node.data
|
|
633
|
+
);
|
|
634
|
+
if (data === HYDRATION_END) {
|
|
635
|
+
if (depth === 0) return node;
|
|
636
|
+
depth -= 1;
|
|
637
|
+
} else if (data === HYDRATION_START || data === HYDRATION_START_ELSE || // "[1", "[2", etc. for if blocks
|
|
638
|
+
data[0] === "[" && !isNaN(Number(data.slice(1)))) {
|
|
639
|
+
depth += 1;
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
var next2 = (
|
|
643
|
+
/** @type {TemplateNode} */
|
|
644
|
+
/* @__PURE__ */ get_next_sibling(node)
|
|
645
|
+
);
|
|
646
|
+
if (remove) node.remove();
|
|
647
|
+
node = next2;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
549
650
|
let tracing_mode_flag = false;
|
|
550
651
|
let component_context = null;
|
|
551
652
|
function set_component_context(context) {
|
|
@@ -785,8 +886,8 @@ class Batch {
|
|
|
785
886
|
var effects = collected_effects = [];
|
|
786
887
|
var render_effects = [];
|
|
787
888
|
var updates = legacy_updates = [];
|
|
788
|
-
for (const
|
|
789
|
-
this.#traverse(
|
|
889
|
+
for (const root2 of roots) {
|
|
890
|
+
this.#traverse(root2, effects, render_effects);
|
|
790
891
|
}
|
|
791
892
|
current_batch = null;
|
|
792
893
|
if (updates.length > 0) {
|
|
@@ -832,21 +933,21 @@ class Batch {
|
|
|
832
933
|
* @param {Effect[]} effects
|
|
833
934
|
* @param {Effect[]} render_effects
|
|
834
935
|
*/
|
|
835
|
-
#traverse(
|
|
836
|
-
|
|
837
|
-
var effect =
|
|
936
|
+
#traverse(root2, effects, render_effects) {
|
|
937
|
+
root2.f ^= CLEAN;
|
|
938
|
+
var effect = root2.first;
|
|
838
939
|
while (effect !== null) {
|
|
839
|
-
var
|
|
840
|
-
var is_branch = (
|
|
841
|
-
var is_skippable_branch = is_branch && (
|
|
842
|
-
var skip = is_skippable_branch || (
|
|
940
|
+
var flags2 = effect.f;
|
|
941
|
+
var is_branch = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;
|
|
942
|
+
var is_skippable_branch = is_branch && (flags2 & CLEAN) !== 0;
|
|
943
|
+
var skip = is_skippable_branch || (flags2 & INERT) !== 0 || this.#skipped_branches.has(effect);
|
|
843
944
|
if (!skip && effect.fn !== null) {
|
|
844
945
|
if (is_branch) {
|
|
845
946
|
effect.f ^= CLEAN;
|
|
846
|
-
} else if ((
|
|
947
|
+
} else if ((flags2 & EFFECT) !== 0) {
|
|
847
948
|
effects.push(effect);
|
|
848
949
|
} else if (is_dirty(effect)) {
|
|
849
|
-
if ((
|
|
950
|
+
if ((flags2 & BLOCK_EFFECT) !== 0) this.#maybe_dirty_effects.add(effect);
|
|
850
951
|
update_effect(effect);
|
|
851
952
|
}
|
|
852
953
|
var child = effect.first;
|
|
@@ -856,9 +957,9 @@ class Batch {
|
|
|
856
957
|
}
|
|
857
958
|
}
|
|
858
959
|
while (effect !== null) {
|
|
859
|
-
var
|
|
860
|
-
if (
|
|
861
|
-
effect =
|
|
960
|
+
var next2 = effect.next;
|
|
961
|
+
if (next2 !== null) {
|
|
962
|
+
effect = next2;
|
|
862
963
|
break;
|
|
863
964
|
}
|
|
864
965
|
effect = effect.parent;
|
|
@@ -961,8 +1062,8 @@ class Batch {
|
|
|
961
1062
|
}
|
|
962
1063
|
if (batch.#roots.length > 0) {
|
|
963
1064
|
batch.apply();
|
|
964
|
-
for (const
|
|
965
|
-
batch.#traverse(
|
|
1065
|
+
for (const root2 of batch.#roots) {
|
|
1066
|
+
batch.#traverse(root2, [], []);
|
|
966
1067
|
}
|
|
967
1068
|
}
|
|
968
1069
|
batch.deactivate();
|
|
@@ -1040,14 +1141,14 @@ class Batch {
|
|
|
1040
1141
|
var e = effect;
|
|
1041
1142
|
while (e.parent !== null) {
|
|
1042
1143
|
e = e.parent;
|
|
1043
|
-
var
|
|
1144
|
+
var flags2 = e.f;
|
|
1044
1145
|
if (collected_effects !== null && e === active_effect) {
|
|
1045
1146
|
if ((active_reaction === null || (active_reaction.f & DERIVED) === 0) && true) {
|
|
1046
1147
|
return;
|
|
1047
1148
|
}
|
|
1048
1149
|
}
|
|
1049
|
-
if ((
|
|
1050
|
-
if ((
|
|
1150
|
+
if ((flags2 & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {
|
|
1151
|
+
if ((flags2 & CLEAN) === 0) {
|
|
1051
1152
|
return;
|
|
1052
1153
|
}
|
|
1053
1154
|
e.f ^= CLEAN;
|
|
@@ -1126,8 +1227,8 @@ function mark_effects(value, sources, marked, checked) {
|
|
|
1126
1227
|
marked.add(value);
|
|
1127
1228
|
if (value.reactions !== null) {
|
|
1128
1229
|
for (const reaction of value.reactions) {
|
|
1129
|
-
const
|
|
1130
|
-
if ((
|
|
1230
|
+
const flags2 = reaction.f;
|
|
1231
|
+
if ((flags2 & DERIVED) !== 0) {
|
|
1131
1232
|
mark_effects(
|
|
1132
1233
|
/** @type {Derived} */
|
|
1133
1234
|
reaction,
|
|
@@ -1135,7 +1236,7 @@ function mark_effects(value, sources, marked, checked) {
|
|
|
1135
1236
|
marked,
|
|
1136
1237
|
checked
|
|
1137
1238
|
);
|
|
1138
|
-
} else if ((
|
|
1239
|
+
} else if ((flags2 & (ASYNC | BLOCK_EFFECT)) !== 0 && (flags2 & DIRTY) === 0 && depends_on(reaction, sources, checked)) {
|
|
1139
1240
|
set_signal_status(reaction, DIRTY);
|
|
1140
1241
|
schedule_effect(
|
|
1141
1242
|
/** @type {Effect} */
|
|
@@ -1190,6 +1291,422 @@ function reset_branch(effect, tracked) {
|
|
|
1190
1291
|
e = e.next;
|
|
1191
1292
|
}
|
|
1192
1293
|
}
|
|
1294
|
+
function createSubscriber(start) {
|
|
1295
|
+
let subscribers = 0;
|
|
1296
|
+
let version = source(0);
|
|
1297
|
+
let stop;
|
|
1298
|
+
return () => {
|
|
1299
|
+
if (effect_tracking()) {
|
|
1300
|
+
get$1(version);
|
|
1301
|
+
render_effect(() => {
|
|
1302
|
+
if (subscribers === 0) {
|
|
1303
|
+
stop = untrack(() => start(() => increment(version)));
|
|
1304
|
+
}
|
|
1305
|
+
subscribers += 1;
|
|
1306
|
+
return () => {
|
|
1307
|
+
queue_micro_task(() => {
|
|
1308
|
+
subscribers -= 1;
|
|
1309
|
+
if (subscribers === 0) {
|
|
1310
|
+
stop?.();
|
|
1311
|
+
stop = void 0;
|
|
1312
|
+
increment(version);
|
|
1313
|
+
}
|
|
1314
|
+
});
|
|
1315
|
+
};
|
|
1316
|
+
});
|
|
1317
|
+
}
|
|
1318
|
+
};
|
|
1319
|
+
}
|
|
1320
|
+
var flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED;
|
|
1321
|
+
function boundary(node, props, children, transform_error) {
|
|
1322
|
+
new Boundary(node, props, children, transform_error);
|
|
1323
|
+
}
|
|
1324
|
+
class Boundary {
|
|
1325
|
+
/** @type {Boundary | null} */
|
|
1326
|
+
parent;
|
|
1327
|
+
is_pending = false;
|
|
1328
|
+
/**
|
|
1329
|
+
* API-level transformError transform function. Transforms errors before they reach the `failed` snippet.
|
|
1330
|
+
* Inherited from parent boundary, or defaults to identity.
|
|
1331
|
+
* @type {(error: unknown) => unknown}
|
|
1332
|
+
*/
|
|
1333
|
+
transform_error;
|
|
1334
|
+
/** @type {TemplateNode} */
|
|
1335
|
+
#anchor;
|
|
1336
|
+
/** @type {TemplateNode | null} */
|
|
1337
|
+
#hydrate_open = hydrating ? hydrate_node : null;
|
|
1338
|
+
/** @type {BoundaryProps} */
|
|
1339
|
+
#props;
|
|
1340
|
+
/** @type {((anchor: Node) => void)} */
|
|
1341
|
+
#children;
|
|
1342
|
+
/** @type {Effect} */
|
|
1343
|
+
#effect;
|
|
1344
|
+
/** @type {Effect | null} */
|
|
1345
|
+
#main_effect = null;
|
|
1346
|
+
/** @type {Effect | null} */
|
|
1347
|
+
#pending_effect = null;
|
|
1348
|
+
/** @type {Effect | null} */
|
|
1349
|
+
#failed_effect = null;
|
|
1350
|
+
/** @type {DocumentFragment | null} */
|
|
1351
|
+
#offscreen_fragment = null;
|
|
1352
|
+
#local_pending_count = 0;
|
|
1353
|
+
#pending_count = 0;
|
|
1354
|
+
#pending_count_update_queued = false;
|
|
1355
|
+
/** @type {Set<Effect>} */
|
|
1356
|
+
#dirty_effects = /* @__PURE__ */ new Set();
|
|
1357
|
+
/** @type {Set<Effect>} */
|
|
1358
|
+
#maybe_dirty_effects = /* @__PURE__ */ new Set();
|
|
1359
|
+
/**
|
|
1360
|
+
* A source containing the number of pending async deriveds/expressions.
|
|
1361
|
+
* Only created if `$effect.pending()` is used inside the boundary,
|
|
1362
|
+
* otherwise updating the source results in needless `Batch.ensure()`
|
|
1363
|
+
* calls followed by no-op flushes
|
|
1364
|
+
* @type {Source<number> | null}
|
|
1365
|
+
*/
|
|
1366
|
+
#effect_pending = null;
|
|
1367
|
+
#effect_pending_subscriber = createSubscriber(() => {
|
|
1368
|
+
this.#effect_pending = source(this.#local_pending_count);
|
|
1369
|
+
return () => {
|
|
1370
|
+
this.#effect_pending = null;
|
|
1371
|
+
};
|
|
1372
|
+
});
|
|
1373
|
+
/**
|
|
1374
|
+
* @param {TemplateNode} node
|
|
1375
|
+
* @param {BoundaryProps} props
|
|
1376
|
+
* @param {((anchor: Node) => void)} children
|
|
1377
|
+
* @param {((error: unknown) => unknown) | undefined} [transform_error]
|
|
1378
|
+
*/
|
|
1379
|
+
constructor(node, props, children, transform_error) {
|
|
1380
|
+
this.#anchor = node;
|
|
1381
|
+
this.#props = props;
|
|
1382
|
+
this.#children = (anchor) => {
|
|
1383
|
+
var effect = (
|
|
1384
|
+
/** @type {Effect} */
|
|
1385
|
+
active_effect
|
|
1386
|
+
);
|
|
1387
|
+
effect.b = this;
|
|
1388
|
+
effect.f |= BOUNDARY_EFFECT;
|
|
1389
|
+
children(anchor);
|
|
1390
|
+
};
|
|
1391
|
+
this.parent = /** @type {Effect} */
|
|
1392
|
+
active_effect.b;
|
|
1393
|
+
this.transform_error = transform_error ?? this.parent?.transform_error ?? ((e) => e);
|
|
1394
|
+
this.#effect = block(() => {
|
|
1395
|
+
if (hydrating) {
|
|
1396
|
+
const comment = (
|
|
1397
|
+
/** @type {Comment} */
|
|
1398
|
+
this.#hydrate_open
|
|
1399
|
+
);
|
|
1400
|
+
hydrate_next();
|
|
1401
|
+
const server_rendered_pending = comment.data === HYDRATION_START_ELSE;
|
|
1402
|
+
const server_rendered_failed = comment.data.startsWith(HYDRATION_START_FAILED);
|
|
1403
|
+
if (server_rendered_failed) {
|
|
1404
|
+
const serialized_error = JSON.parse(comment.data.slice(HYDRATION_START_FAILED.length));
|
|
1405
|
+
this.#hydrate_failed_content(serialized_error);
|
|
1406
|
+
} else if (server_rendered_pending) {
|
|
1407
|
+
this.#hydrate_pending_content();
|
|
1408
|
+
} else {
|
|
1409
|
+
this.#hydrate_resolved_content();
|
|
1410
|
+
}
|
|
1411
|
+
} else {
|
|
1412
|
+
this.#render();
|
|
1413
|
+
}
|
|
1414
|
+
}, flags);
|
|
1415
|
+
if (hydrating) {
|
|
1416
|
+
this.#anchor = hydrate_node;
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1419
|
+
#hydrate_resolved_content() {
|
|
1420
|
+
try {
|
|
1421
|
+
this.#main_effect = branch(() => this.#children(this.#anchor));
|
|
1422
|
+
} catch (error) {
|
|
1423
|
+
this.error(error);
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
/**
|
|
1427
|
+
* @param {unknown} error The deserialized error from the server's hydration comment
|
|
1428
|
+
*/
|
|
1429
|
+
#hydrate_failed_content(error) {
|
|
1430
|
+
const failed = this.#props.failed;
|
|
1431
|
+
if (!failed) return;
|
|
1432
|
+
this.#failed_effect = branch(() => {
|
|
1433
|
+
failed(
|
|
1434
|
+
this.#anchor,
|
|
1435
|
+
() => error,
|
|
1436
|
+
() => () => {
|
|
1437
|
+
}
|
|
1438
|
+
);
|
|
1439
|
+
});
|
|
1440
|
+
}
|
|
1441
|
+
#hydrate_pending_content() {
|
|
1442
|
+
const pending = this.#props.pending;
|
|
1443
|
+
if (!pending) return;
|
|
1444
|
+
this.is_pending = true;
|
|
1445
|
+
this.#pending_effect = branch(() => pending(this.#anchor));
|
|
1446
|
+
var batch = (
|
|
1447
|
+
/** @type {Batch} */
|
|
1448
|
+
current_batch
|
|
1449
|
+
);
|
|
1450
|
+
queue_micro_task(() => {
|
|
1451
|
+
var fragment = this.#offscreen_fragment = document.createDocumentFragment();
|
|
1452
|
+
var anchor = create_text();
|
|
1453
|
+
fragment.append(anchor);
|
|
1454
|
+
this.#main_effect = this.#run(() => {
|
|
1455
|
+
return branch(() => this.#children(anchor));
|
|
1456
|
+
});
|
|
1457
|
+
if (this.#pending_count === 0) {
|
|
1458
|
+
this.#anchor.before(fragment);
|
|
1459
|
+
this.#offscreen_fragment = null;
|
|
1460
|
+
pause_effect(
|
|
1461
|
+
/** @type {Effect} */
|
|
1462
|
+
this.#pending_effect,
|
|
1463
|
+
() => {
|
|
1464
|
+
this.#pending_effect = null;
|
|
1465
|
+
}
|
|
1466
|
+
);
|
|
1467
|
+
this.#resolve(batch);
|
|
1468
|
+
}
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1471
|
+
#render() {
|
|
1472
|
+
var batch = (
|
|
1473
|
+
/** @type {Batch} */
|
|
1474
|
+
current_batch
|
|
1475
|
+
);
|
|
1476
|
+
try {
|
|
1477
|
+
this.is_pending = this.has_pending_snippet();
|
|
1478
|
+
this.#pending_count = 0;
|
|
1479
|
+
this.#local_pending_count = 0;
|
|
1480
|
+
this.#main_effect = branch(() => {
|
|
1481
|
+
this.#children(this.#anchor);
|
|
1482
|
+
});
|
|
1483
|
+
if (this.#pending_count > 0) {
|
|
1484
|
+
var fragment = this.#offscreen_fragment = document.createDocumentFragment();
|
|
1485
|
+
move_effect(this.#main_effect, fragment);
|
|
1486
|
+
const pending = (
|
|
1487
|
+
/** @type {(anchor: Node) => void} */
|
|
1488
|
+
this.#props.pending
|
|
1489
|
+
);
|
|
1490
|
+
this.#pending_effect = branch(() => pending(this.#anchor));
|
|
1491
|
+
} else {
|
|
1492
|
+
this.#resolve(batch);
|
|
1493
|
+
}
|
|
1494
|
+
} catch (error) {
|
|
1495
|
+
this.error(error);
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
/**
|
|
1499
|
+
* @param {Batch} batch
|
|
1500
|
+
*/
|
|
1501
|
+
#resolve(batch) {
|
|
1502
|
+
this.is_pending = false;
|
|
1503
|
+
for (const e of this.#dirty_effects) {
|
|
1504
|
+
set_signal_status(e, DIRTY);
|
|
1505
|
+
batch.schedule(e);
|
|
1506
|
+
}
|
|
1507
|
+
for (const e of this.#maybe_dirty_effects) {
|
|
1508
|
+
set_signal_status(e, MAYBE_DIRTY);
|
|
1509
|
+
batch.schedule(e);
|
|
1510
|
+
}
|
|
1511
|
+
this.#dirty_effects.clear();
|
|
1512
|
+
this.#maybe_dirty_effects.clear();
|
|
1513
|
+
}
|
|
1514
|
+
/**
|
|
1515
|
+
* Defer an effect inside a pending boundary until the boundary resolves
|
|
1516
|
+
* @param {Effect} effect
|
|
1517
|
+
*/
|
|
1518
|
+
defer_effect(effect) {
|
|
1519
|
+
defer_effect(effect, this.#dirty_effects, this.#maybe_dirty_effects);
|
|
1520
|
+
}
|
|
1521
|
+
/**
|
|
1522
|
+
* Returns `false` if the effect exists inside a boundary whose pending snippet is shown
|
|
1523
|
+
* @returns {boolean}
|
|
1524
|
+
*/
|
|
1525
|
+
is_rendered() {
|
|
1526
|
+
return !this.is_pending && (!this.parent || this.parent.is_rendered());
|
|
1527
|
+
}
|
|
1528
|
+
has_pending_snippet() {
|
|
1529
|
+
return !!this.#props.pending;
|
|
1530
|
+
}
|
|
1531
|
+
/**
|
|
1532
|
+
* @template T
|
|
1533
|
+
* @param {() => T} fn
|
|
1534
|
+
*/
|
|
1535
|
+
#run(fn) {
|
|
1536
|
+
var previous_effect = active_effect;
|
|
1537
|
+
var previous_reaction = active_reaction;
|
|
1538
|
+
var previous_ctx = component_context;
|
|
1539
|
+
set_active_effect(this.#effect);
|
|
1540
|
+
set_active_reaction(this.#effect);
|
|
1541
|
+
set_component_context(this.#effect.ctx);
|
|
1542
|
+
try {
|
|
1543
|
+
Batch.ensure();
|
|
1544
|
+
return fn();
|
|
1545
|
+
} catch (e) {
|
|
1546
|
+
handle_error(e);
|
|
1547
|
+
return null;
|
|
1548
|
+
} finally {
|
|
1549
|
+
set_active_effect(previous_effect);
|
|
1550
|
+
set_active_reaction(previous_reaction);
|
|
1551
|
+
set_component_context(previous_ctx);
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
/**
|
|
1555
|
+
* Updates the pending count associated with the currently visible pending snippet,
|
|
1556
|
+
* if any, such that we can replace the snippet with content once work is done
|
|
1557
|
+
* @param {1 | -1} d
|
|
1558
|
+
* @param {Batch} batch
|
|
1559
|
+
*/
|
|
1560
|
+
#update_pending_count(d, batch) {
|
|
1561
|
+
if (!this.has_pending_snippet()) {
|
|
1562
|
+
if (this.parent) {
|
|
1563
|
+
this.parent.#update_pending_count(d, batch);
|
|
1564
|
+
}
|
|
1565
|
+
return;
|
|
1566
|
+
}
|
|
1567
|
+
this.#pending_count += d;
|
|
1568
|
+
if (this.#pending_count === 0) {
|
|
1569
|
+
this.#resolve(batch);
|
|
1570
|
+
if (this.#pending_effect) {
|
|
1571
|
+
pause_effect(this.#pending_effect, () => {
|
|
1572
|
+
this.#pending_effect = null;
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1575
|
+
if (this.#offscreen_fragment) {
|
|
1576
|
+
this.#anchor.before(this.#offscreen_fragment);
|
|
1577
|
+
this.#offscreen_fragment = null;
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
/**
|
|
1582
|
+
* Update the source that powers `$effect.pending()` inside this boundary,
|
|
1583
|
+
* and controls when the current `pending` snippet (if any) is removed.
|
|
1584
|
+
* Do not call from inside the class
|
|
1585
|
+
* @param {1 | -1} d
|
|
1586
|
+
* @param {Batch} batch
|
|
1587
|
+
*/
|
|
1588
|
+
update_pending_count(d, batch) {
|
|
1589
|
+
this.#update_pending_count(d, batch);
|
|
1590
|
+
this.#local_pending_count += d;
|
|
1591
|
+
if (!this.#effect_pending || this.#pending_count_update_queued) return;
|
|
1592
|
+
this.#pending_count_update_queued = true;
|
|
1593
|
+
queue_micro_task(() => {
|
|
1594
|
+
this.#pending_count_update_queued = false;
|
|
1595
|
+
if (this.#effect_pending) {
|
|
1596
|
+
internal_set(this.#effect_pending, this.#local_pending_count);
|
|
1597
|
+
}
|
|
1598
|
+
});
|
|
1599
|
+
}
|
|
1600
|
+
get_effect_pending() {
|
|
1601
|
+
this.#effect_pending_subscriber();
|
|
1602
|
+
return get$1(
|
|
1603
|
+
/** @type {Source<number>} */
|
|
1604
|
+
this.#effect_pending
|
|
1605
|
+
);
|
|
1606
|
+
}
|
|
1607
|
+
/** @param {unknown} error */
|
|
1608
|
+
error(error) {
|
|
1609
|
+
var onerror = this.#props.onerror;
|
|
1610
|
+
let failed = this.#props.failed;
|
|
1611
|
+
if (!onerror && !failed) {
|
|
1612
|
+
throw error;
|
|
1613
|
+
}
|
|
1614
|
+
if (this.#main_effect) {
|
|
1615
|
+
destroy_effect(this.#main_effect);
|
|
1616
|
+
this.#main_effect = null;
|
|
1617
|
+
}
|
|
1618
|
+
if (this.#pending_effect) {
|
|
1619
|
+
destroy_effect(this.#pending_effect);
|
|
1620
|
+
this.#pending_effect = null;
|
|
1621
|
+
}
|
|
1622
|
+
if (this.#failed_effect) {
|
|
1623
|
+
destroy_effect(this.#failed_effect);
|
|
1624
|
+
this.#failed_effect = null;
|
|
1625
|
+
}
|
|
1626
|
+
if (hydrating) {
|
|
1627
|
+
set_hydrate_node(
|
|
1628
|
+
/** @type {TemplateNode} */
|
|
1629
|
+
this.#hydrate_open
|
|
1630
|
+
);
|
|
1631
|
+
next();
|
|
1632
|
+
set_hydrate_node(skip_nodes());
|
|
1633
|
+
}
|
|
1634
|
+
var did_reset = false;
|
|
1635
|
+
var calling_on_error = false;
|
|
1636
|
+
const reset = () => {
|
|
1637
|
+
if (did_reset) {
|
|
1638
|
+
svelte_boundary_reset_noop();
|
|
1639
|
+
return;
|
|
1640
|
+
}
|
|
1641
|
+
did_reset = true;
|
|
1642
|
+
if (calling_on_error) {
|
|
1643
|
+
svelte_boundary_reset_onerror();
|
|
1644
|
+
}
|
|
1645
|
+
if (this.#failed_effect !== null) {
|
|
1646
|
+
pause_effect(this.#failed_effect, () => {
|
|
1647
|
+
this.#failed_effect = null;
|
|
1648
|
+
});
|
|
1649
|
+
}
|
|
1650
|
+
this.#run(() => {
|
|
1651
|
+
this.#render();
|
|
1652
|
+
});
|
|
1653
|
+
};
|
|
1654
|
+
const handle_error_result = (transformed_error) => {
|
|
1655
|
+
try {
|
|
1656
|
+
calling_on_error = true;
|
|
1657
|
+
onerror?.(transformed_error, reset);
|
|
1658
|
+
calling_on_error = false;
|
|
1659
|
+
} catch (error2) {
|
|
1660
|
+
invoke_error_boundary(error2, this.#effect && this.#effect.parent);
|
|
1661
|
+
}
|
|
1662
|
+
if (failed) {
|
|
1663
|
+
this.#failed_effect = this.#run(() => {
|
|
1664
|
+
try {
|
|
1665
|
+
return branch(() => {
|
|
1666
|
+
var effect = (
|
|
1667
|
+
/** @type {Effect} */
|
|
1668
|
+
active_effect
|
|
1669
|
+
);
|
|
1670
|
+
effect.b = this;
|
|
1671
|
+
effect.f |= BOUNDARY_EFFECT;
|
|
1672
|
+
failed(
|
|
1673
|
+
this.#anchor,
|
|
1674
|
+
() => transformed_error,
|
|
1675
|
+
() => reset
|
|
1676
|
+
);
|
|
1677
|
+
});
|
|
1678
|
+
} catch (error2) {
|
|
1679
|
+
invoke_error_boundary(
|
|
1680
|
+
error2,
|
|
1681
|
+
/** @type {Effect} */
|
|
1682
|
+
this.#effect.parent
|
|
1683
|
+
);
|
|
1684
|
+
return null;
|
|
1685
|
+
}
|
|
1686
|
+
});
|
|
1687
|
+
}
|
|
1688
|
+
};
|
|
1689
|
+
queue_micro_task(() => {
|
|
1690
|
+
var result;
|
|
1691
|
+
try {
|
|
1692
|
+
result = this.transform_error(error);
|
|
1693
|
+
} catch (e) {
|
|
1694
|
+
invoke_error_boundary(e, this.#effect && this.#effect.parent);
|
|
1695
|
+
return;
|
|
1696
|
+
}
|
|
1697
|
+
if (result !== null && typeof result === "object" && typeof /** @type {any} */
|
|
1698
|
+
result.then === "function") {
|
|
1699
|
+
result.then(
|
|
1700
|
+
handle_error_result,
|
|
1701
|
+
/** @param {unknown} e */
|
|
1702
|
+
(e) => invoke_error_boundary(e, this.#effect && this.#effect.parent)
|
|
1703
|
+
);
|
|
1704
|
+
} else {
|
|
1705
|
+
handle_error_result(result);
|
|
1706
|
+
}
|
|
1707
|
+
});
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1193
1710
|
function destroy_derived_effects(derived2) {
|
|
1194
1711
|
var effects = derived2.effects;
|
|
1195
1712
|
if (effects !== null) {
|
|
@@ -1369,19 +1886,19 @@ function mark_reactions(signal, status, updated_during_traversal) {
|
|
|
1369
1886
|
var length = reactions.length;
|
|
1370
1887
|
for (var i = 0; i < length; i++) {
|
|
1371
1888
|
var reaction = reactions[i];
|
|
1372
|
-
var
|
|
1373
|
-
var not_dirty = (
|
|
1889
|
+
var flags2 = reaction.f;
|
|
1890
|
+
var not_dirty = (flags2 & DIRTY) === 0;
|
|
1374
1891
|
if (not_dirty) {
|
|
1375
1892
|
set_signal_status(reaction, status);
|
|
1376
1893
|
}
|
|
1377
|
-
if ((
|
|
1894
|
+
if ((flags2 & DERIVED) !== 0) {
|
|
1378
1895
|
var derived2 = (
|
|
1379
1896
|
/** @type {Derived} */
|
|
1380
1897
|
reaction
|
|
1381
1898
|
);
|
|
1382
1899
|
batch_values?.delete(derived2);
|
|
1383
|
-
if ((
|
|
1384
|
-
if (
|
|
1900
|
+
if ((flags2 & WAS_MARKED) === 0) {
|
|
1901
|
+
if (flags2 & CONNECTED) {
|
|
1385
1902
|
reaction.f |= WAS_MARKED;
|
|
1386
1903
|
}
|
|
1387
1904
|
mark_reactions(derived2, MAYBE_DIRTY, updated_during_traversal);
|
|
@@ -1391,7 +1908,7 @@ function mark_reactions(signal, status, updated_during_traversal) {
|
|
|
1391
1908
|
/** @type {Effect} */
|
|
1392
1909
|
reaction
|
|
1393
1910
|
);
|
|
1394
|
-
if ((
|
|
1911
|
+
if ((flags2 & BLOCK_EFFECT) !== 0 && eager_block_effects !== null) {
|
|
1395
1912
|
eager_block_effects.add(effect);
|
|
1396
1913
|
}
|
|
1397
1914
|
if (updated_during_traversal !== null) {
|
|
@@ -1739,11 +2256,11 @@ function component_root(fn) {
|
|
|
1739
2256
|
});
|
|
1740
2257
|
};
|
|
1741
2258
|
}
|
|
1742
|
-
function render_effect(fn,
|
|
1743
|
-
return create_effect(RENDER_EFFECT |
|
|
2259
|
+
function render_effect(fn, flags2 = 0) {
|
|
2260
|
+
return create_effect(RENDER_EFFECT | flags2, fn);
|
|
1744
2261
|
}
|
|
1745
|
-
function block(fn,
|
|
1746
|
-
var effect = create_effect(BLOCK_EFFECT |
|
|
2262
|
+
function block(fn, flags2 = 0) {
|
|
2263
|
+
var effect = create_effect(BLOCK_EFFECT | flags2, fn);
|
|
1747
2264
|
return effect;
|
|
1748
2265
|
}
|
|
1749
2266
|
function branch(fn) {
|
|
@@ -1774,23 +2291,23 @@ function destroy_effect_children(signal, remove_dom = false) {
|
|
|
1774
2291
|
controller2.abort(STALE_REACTION);
|
|
1775
2292
|
});
|
|
1776
2293
|
}
|
|
1777
|
-
var
|
|
2294
|
+
var next2 = effect.next;
|
|
1778
2295
|
if ((effect.f & ROOT_EFFECT) !== 0) {
|
|
1779
2296
|
effect.parent = null;
|
|
1780
2297
|
} else {
|
|
1781
2298
|
destroy_effect(effect, remove_dom);
|
|
1782
2299
|
}
|
|
1783
|
-
effect =
|
|
2300
|
+
effect = next2;
|
|
1784
2301
|
}
|
|
1785
2302
|
}
|
|
1786
2303
|
function destroy_block_effect_children(signal) {
|
|
1787
2304
|
var effect = signal.first;
|
|
1788
2305
|
while (effect !== null) {
|
|
1789
|
-
var
|
|
2306
|
+
var next2 = effect.next;
|
|
1790
2307
|
if ((effect.f & BRANCH_EFFECT) === 0) {
|
|
1791
2308
|
destroy_effect(effect);
|
|
1792
2309
|
}
|
|
1793
|
-
effect =
|
|
2310
|
+
effect = next2;
|
|
1794
2311
|
}
|
|
1795
2312
|
}
|
|
1796
2313
|
function destroy_effect(effect, remove_dom = true) {
|
|
@@ -1823,19 +2340,19 @@ function destroy_effect(effect, remove_dom = true) {
|
|
|
1823
2340
|
}
|
|
1824
2341
|
function remove_effect_dom(node, end) {
|
|
1825
2342
|
while (node !== null) {
|
|
1826
|
-
var
|
|
2343
|
+
var next2 = node === end ? null : /* @__PURE__ */ get_next_sibling(node);
|
|
1827
2344
|
node.remove();
|
|
1828
|
-
node =
|
|
2345
|
+
node = next2;
|
|
1829
2346
|
}
|
|
1830
2347
|
}
|
|
1831
2348
|
function unlink_effect(effect) {
|
|
1832
2349
|
var parent = effect.parent;
|
|
1833
2350
|
var prev = effect.prev;
|
|
1834
|
-
var
|
|
1835
|
-
if (prev !== null) prev.next =
|
|
1836
|
-
if (
|
|
2351
|
+
var next2 = effect.next;
|
|
2352
|
+
if (prev !== null) prev.next = next2;
|
|
2353
|
+
if (next2 !== null) next2.prev = prev;
|
|
1837
2354
|
if (parent !== null) {
|
|
1838
|
-
if (parent.first === effect) parent.first =
|
|
2355
|
+
if (parent.first === effect) parent.first = next2;
|
|
1839
2356
|
if (parent.last === effect) parent.last = prev;
|
|
1840
2357
|
}
|
|
1841
2358
|
}
|
|
@@ -1883,9 +2400,9 @@ function move_effect(effect, fragment) {
|
|
|
1883
2400
|
var node = effect.nodes.start;
|
|
1884
2401
|
var end = effect.nodes.end;
|
|
1885
2402
|
while (node !== null) {
|
|
1886
|
-
var
|
|
2403
|
+
var next2 = node === end ? null : /* @__PURE__ */ get_next_sibling(node);
|
|
1887
2404
|
fragment.append(node);
|
|
1888
|
-
node =
|
|
2405
|
+
node = next2;
|
|
1889
2406
|
}
|
|
1890
2407
|
}
|
|
1891
2408
|
let is_updating_effect = false;
|
|
@@ -1928,14 +2445,14 @@ function increment_write_version() {
|
|
|
1928
2445
|
return ++write_version;
|
|
1929
2446
|
}
|
|
1930
2447
|
function is_dirty(reaction) {
|
|
1931
|
-
var
|
|
1932
|
-
if ((
|
|
2448
|
+
var flags2 = reaction.f;
|
|
2449
|
+
if ((flags2 & DIRTY) !== 0) {
|
|
1933
2450
|
return true;
|
|
1934
2451
|
}
|
|
1935
|
-
if (
|
|
2452
|
+
if (flags2 & DERIVED) {
|
|
1936
2453
|
reaction.f &= ~WAS_MARKED;
|
|
1937
2454
|
}
|
|
1938
|
-
if ((
|
|
2455
|
+
if ((flags2 & MAYBE_DIRTY) !== 0) {
|
|
1939
2456
|
var dependencies = (
|
|
1940
2457
|
/** @type {Value[]} */
|
|
1941
2458
|
reaction.deps
|
|
@@ -1956,7 +2473,7 @@ function is_dirty(reaction) {
|
|
|
1956
2473
|
return true;
|
|
1957
2474
|
}
|
|
1958
2475
|
}
|
|
1959
|
-
if ((
|
|
2476
|
+
if ((flags2 & CONNECTED) !== 0 && // During time traveling we don't want to reset the status so that
|
|
1960
2477
|
// traversal of the graph in the other batches still happens
|
|
1961
2478
|
batch_values === null) {
|
|
1962
2479
|
set_signal_status(reaction, CLEAN);
|
|
@@ -1964,7 +2481,7 @@ function is_dirty(reaction) {
|
|
|
1964
2481
|
}
|
|
1965
2482
|
return false;
|
|
1966
2483
|
}
|
|
1967
|
-
function schedule_possible_effect_self_invalidation(signal, effect,
|
|
2484
|
+
function schedule_possible_effect_self_invalidation(signal, effect, root2 = true) {
|
|
1968
2485
|
var reactions = signal.reactions;
|
|
1969
2486
|
if (reactions === null) return;
|
|
1970
2487
|
if (current_sources !== null && includes.call(current_sources, signal)) {
|
|
@@ -1980,7 +2497,7 @@ function schedule_possible_effect_self_invalidation(signal, effect, root = true)
|
|
|
1980
2497
|
false
|
|
1981
2498
|
);
|
|
1982
2499
|
} else if (effect === reaction) {
|
|
1983
|
-
if (
|
|
2500
|
+
if (root2) {
|
|
1984
2501
|
set_signal_status(reaction, DIRTY);
|
|
1985
2502
|
} else if ((reaction.f & CLEAN) !== 0) {
|
|
1986
2503
|
set_signal_status(reaction, MAYBE_DIRTY);
|
|
@@ -2001,12 +2518,12 @@ function update_reaction(reaction) {
|
|
|
2001
2518
|
var previous_component_context = component_context;
|
|
2002
2519
|
var previous_untracking = untracking;
|
|
2003
2520
|
var previous_update_version = update_version;
|
|
2004
|
-
var
|
|
2521
|
+
var flags2 = reaction.f;
|
|
2005
2522
|
new_deps = /** @type {null | Value[]} */
|
|
2006
2523
|
null;
|
|
2007
2524
|
skipped_deps = 0;
|
|
2008
2525
|
untracked_writes = null;
|
|
2009
|
-
active_reaction = (
|
|
2526
|
+
active_reaction = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;
|
|
2010
2527
|
current_sources = null;
|
|
2011
2528
|
set_component_context(reaction.ctx);
|
|
2012
2529
|
untracking = false;
|
|
@@ -2137,8 +2654,8 @@ function remove_reactions(signal, start_index) {
|
|
|
2137
2654
|
}
|
|
2138
2655
|
}
|
|
2139
2656
|
function update_effect(effect) {
|
|
2140
|
-
var
|
|
2141
|
-
if ((
|
|
2657
|
+
var flags2 = effect.f;
|
|
2658
|
+
if ((flags2 & DESTROYED) !== 0) {
|
|
2142
2659
|
return;
|
|
2143
2660
|
}
|
|
2144
2661
|
set_signal_status(effect, CLEAN);
|
|
@@ -2147,7 +2664,7 @@ function update_effect(effect) {
|
|
|
2147
2664
|
active_effect = effect;
|
|
2148
2665
|
is_updating_effect = true;
|
|
2149
2666
|
try {
|
|
2150
|
-
if ((
|
|
2667
|
+
if ((flags2 & (BLOCK_EFFECT | MANAGED_EFFECT)) !== 0) {
|
|
2151
2668
|
destroy_block_effect_children(effect);
|
|
2152
2669
|
} else {
|
|
2153
2670
|
destroy_effect_children(effect);
|
|
@@ -2164,8 +2681,8 @@ function update_effect(effect) {
|
|
|
2164
2681
|
}
|
|
2165
2682
|
}
|
|
2166
2683
|
function get$1(signal) {
|
|
2167
|
-
var
|
|
2168
|
-
var is_derived = (
|
|
2684
|
+
var flags2 = signal.f;
|
|
2685
|
+
var is_derived = (flags2 & DERIVED) !== 0;
|
|
2169
2686
|
if (active_reaction !== null && !untracking) {
|
|
2170
2687
|
var destroyed = active_effect !== null && (active_effect.f & DESTROYED) !== 0;
|
|
2171
2688
|
if (!destroyed && (current_sources === null || !includes.call(current_sources, signal))) {
|
|
@@ -2308,6 +2825,259 @@ const PASSIVE_EVENTS = ["touchstart", "touchmove"];
|
|
|
2308
2825
|
function is_passive_event(name) {
|
|
2309
2826
|
return PASSIVE_EVENTS.includes(name);
|
|
2310
2827
|
}
|
|
2828
|
+
const event_symbol = /* @__PURE__ */ Symbol("events");
|
|
2829
|
+
const all_registered_events = /* @__PURE__ */ new Set();
|
|
2830
|
+
const root_event_handles = /* @__PURE__ */ new Set();
|
|
2831
|
+
let last_propagated_event = null;
|
|
2832
|
+
function handle_event_propagation(event) {
|
|
2833
|
+
var handler_element = this;
|
|
2834
|
+
var owner_document = (
|
|
2835
|
+
/** @type {Node} */
|
|
2836
|
+
handler_element.ownerDocument
|
|
2837
|
+
);
|
|
2838
|
+
var event_name = event.type;
|
|
2839
|
+
var path = event.composedPath?.() || [];
|
|
2840
|
+
var current_target = (
|
|
2841
|
+
/** @type {null | Element} */
|
|
2842
|
+
path[0] || event.target
|
|
2843
|
+
);
|
|
2844
|
+
last_propagated_event = event;
|
|
2845
|
+
var path_idx = 0;
|
|
2846
|
+
var handled_at = last_propagated_event === event && event[event_symbol];
|
|
2847
|
+
if (handled_at) {
|
|
2848
|
+
var at_idx = path.indexOf(handled_at);
|
|
2849
|
+
if (at_idx !== -1 && (handler_element === document || handler_element === /** @type {any} */
|
|
2850
|
+
window)) {
|
|
2851
|
+
event[event_symbol] = handler_element;
|
|
2852
|
+
return;
|
|
2853
|
+
}
|
|
2854
|
+
var handler_idx = path.indexOf(handler_element);
|
|
2855
|
+
if (handler_idx === -1) {
|
|
2856
|
+
return;
|
|
2857
|
+
}
|
|
2858
|
+
if (at_idx <= handler_idx) {
|
|
2859
|
+
path_idx = at_idx;
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
current_target = /** @type {Element} */
|
|
2863
|
+
path[path_idx] || event.target;
|
|
2864
|
+
if (current_target === handler_element) return;
|
|
2865
|
+
define_property(event, "currentTarget", {
|
|
2866
|
+
configurable: true,
|
|
2867
|
+
get() {
|
|
2868
|
+
return current_target || owner_document;
|
|
2869
|
+
}
|
|
2870
|
+
});
|
|
2871
|
+
var previous_reaction = active_reaction;
|
|
2872
|
+
var previous_effect = active_effect;
|
|
2873
|
+
set_active_reaction(null);
|
|
2874
|
+
set_active_effect(null);
|
|
2875
|
+
try {
|
|
2876
|
+
var throw_error;
|
|
2877
|
+
var other_errors = [];
|
|
2878
|
+
while (current_target !== null) {
|
|
2879
|
+
var parent_element = current_target.assignedSlot || current_target.parentNode || /** @type {any} */
|
|
2880
|
+
current_target.host || null;
|
|
2881
|
+
try {
|
|
2882
|
+
var delegated = current_target[event_symbol]?.[event_name];
|
|
2883
|
+
if (delegated != null && (!/** @type {any} */
|
|
2884
|
+
current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
|
|
2885
|
+
// -> the target could not have been disabled because it emits the event in the first place
|
|
2886
|
+
event.target === current_target)) {
|
|
2887
|
+
delegated.call(current_target, event);
|
|
2888
|
+
}
|
|
2889
|
+
} catch (error) {
|
|
2890
|
+
if (throw_error) {
|
|
2891
|
+
other_errors.push(error);
|
|
2892
|
+
} else {
|
|
2893
|
+
throw_error = error;
|
|
2894
|
+
}
|
|
2895
|
+
}
|
|
2896
|
+
if (event.cancelBubble || parent_element === handler_element || parent_element === null) {
|
|
2897
|
+
break;
|
|
2898
|
+
}
|
|
2899
|
+
current_target = parent_element;
|
|
2900
|
+
}
|
|
2901
|
+
if (throw_error) {
|
|
2902
|
+
for (let error of other_errors) {
|
|
2903
|
+
queueMicrotask(() => {
|
|
2904
|
+
throw error;
|
|
2905
|
+
});
|
|
2906
|
+
}
|
|
2907
|
+
throw throw_error;
|
|
2908
|
+
}
|
|
2909
|
+
} finally {
|
|
2910
|
+
event[event_symbol] = handler_element;
|
|
2911
|
+
delete event.currentTarget;
|
|
2912
|
+
set_active_reaction(previous_reaction);
|
|
2913
|
+
set_active_effect(previous_effect);
|
|
2914
|
+
}
|
|
2915
|
+
}
|
|
2916
|
+
function assign_nodes(start, end) {
|
|
2917
|
+
var effect = (
|
|
2918
|
+
/** @type {Effect} */
|
|
2919
|
+
active_effect
|
|
2920
|
+
);
|
|
2921
|
+
if (effect.nodes === null) {
|
|
2922
|
+
effect.nodes = { start, end, a: null, t: null };
|
|
2923
|
+
}
|
|
2924
|
+
}
|
|
2925
|
+
function mount(component, options) {
|
|
2926
|
+
return _mount(component, options);
|
|
2927
|
+
}
|
|
2928
|
+
function hydrate(component, options) {
|
|
2929
|
+
init_operations();
|
|
2930
|
+
options.intro = options.intro ?? false;
|
|
2931
|
+
const target = options.target;
|
|
2932
|
+
const was_hydrating = hydrating;
|
|
2933
|
+
const previous_hydrate_node = hydrate_node;
|
|
2934
|
+
try {
|
|
2935
|
+
var anchor = /* @__PURE__ */ get_first_child(target);
|
|
2936
|
+
while (anchor && (anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */
|
|
2937
|
+
anchor.data !== HYDRATION_START)) {
|
|
2938
|
+
anchor = /* @__PURE__ */ get_next_sibling(anchor);
|
|
2939
|
+
}
|
|
2940
|
+
if (!anchor) {
|
|
2941
|
+
throw HYDRATION_ERROR;
|
|
2942
|
+
}
|
|
2943
|
+
set_hydrating(true);
|
|
2944
|
+
set_hydrate_node(
|
|
2945
|
+
/** @type {Comment} */
|
|
2946
|
+
anchor
|
|
2947
|
+
);
|
|
2948
|
+
const instance = _mount(component, { ...options, anchor });
|
|
2949
|
+
set_hydrating(false);
|
|
2950
|
+
return (
|
|
2951
|
+
/** @type {Exports} */
|
|
2952
|
+
instance
|
|
2953
|
+
);
|
|
2954
|
+
} catch (error) {
|
|
2955
|
+
if (error instanceof Error && error.message.split("\n").some((line) => line.startsWith("https://svelte.dev/e/"))) {
|
|
2956
|
+
throw error;
|
|
2957
|
+
}
|
|
2958
|
+
if (error !== HYDRATION_ERROR) {
|
|
2959
|
+
console.warn("Failed to hydrate: ", error);
|
|
2960
|
+
}
|
|
2961
|
+
if (options.recover === false) {
|
|
2962
|
+
hydration_failed();
|
|
2963
|
+
}
|
|
2964
|
+
init_operations();
|
|
2965
|
+
clear_text_content(target);
|
|
2966
|
+
set_hydrating(false);
|
|
2967
|
+
return mount(component, options);
|
|
2968
|
+
} finally {
|
|
2969
|
+
set_hydrating(was_hydrating);
|
|
2970
|
+
set_hydrate_node(previous_hydrate_node);
|
|
2971
|
+
}
|
|
2972
|
+
}
|
|
2973
|
+
const listeners = /* @__PURE__ */ new Map();
|
|
2974
|
+
function _mount(Component, { target, anchor, props = {}, events, context, intro = true, transformError }) {
|
|
2975
|
+
init_operations();
|
|
2976
|
+
var component = void 0;
|
|
2977
|
+
var unmount2 = component_root(() => {
|
|
2978
|
+
var anchor_node = anchor ?? target.appendChild(create_text());
|
|
2979
|
+
boundary(
|
|
2980
|
+
/** @type {TemplateNode} */
|
|
2981
|
+
anchor_node,
|
|
2982
|
+
{
|
|
2983
|
+
pending: () => {
|
|
2984
|
+
}
|
|
2985
|
+
},
|
|
2986
|
+
(anchor_node2) => {
|
|
2987
|
+
push$1({});
|
|
2988
|
+
var ctx = (
|
|
2989
|
+
/** @type {ComponentContext} */
|
|
2990
|
+
component_context
|
|
2991
|
+
);
|
|
2992
|
+
if (context) ctx.c = context;
|
|
2993
|
+
if (events) {
|
|
2994
|
+
props.$$events = events;
|
|
2995
|
+
}
|
|
2996
|
+
if (hydrating) {
|
|
2997
|
+
assign_nodes(
|
|
2998
|
+
/** @type {TemplateNode} */
|
|
2999
|
+
anchor_node2,
|
|
3000
|
+
null
|
|
3001
|
+
);
|
|
3002
|
+
}
|
|
3003
|
+
component = Component(anchor_node2, props) || {};
|
|
3004
|
+
if (hydrating) {
|
|
3005
|
+
active_effect.nodes.end = hydrate_node;
|
|
3006
|
+
if (hydrate_node === null || hydrate_node.nodeType !== COMMENT_NODE || /** @type {Comment} */
|
|
3007
|
+
hydrate_node.data !== HYDRATION_END) {
|
|
3008
|
+
hydration_mismatch();
|
|
3009
|
+
throw HYDRATION_ERROR;
|
|
3010
|
+
}
|
|
3011
|
+
}
|
|
3012
|
+
pop$1();
|
|
3013
|
+
},
|
|
3014
|
+
transformError
|
|
3015
|
+
);
|
|
3016
|
+
var registered_events = /* @__PURE__ */ new Set();
|
|
3017
|
+
var event_handle = (events2) => {
|
|
3018
|
+
for (var i = 0; i < events2.length; i++) {
|
|
3019
|
+
var event_name = events2[i];
|
|
3020
|
+
if (registered_events.has(event_name)) continue;
|
|
3021
|
+
registered_events.add(event_name);
|
|
3022
|
+
var passive = is_passive_event(event_name);
|
|
3023
|
+
for (const node of [target, document]) {
|
|
3024
|
+
var counts = listeners.get(node);
|
|
3025
|
+
if (counts === void 0) {
|
|
3026
|
+
counts = /* @__PURE__ */ new Map();
|
|
3027
|
+
listeners.set(node, counts);
|
|
3028
|
+
}
|
|
3029
|
+
var count = counts.get(event_name);
|
|
3030
|
+
if (count === void 0) {
|
|
3031
|
+
node.addEventListener(event_name, handle_event_propagation, { passive });
|
|
3032
|
+
counts.set(event_name, 1);
|
|
3033
|
+
} else {
|
|
3034
|
+
counts.set(event_name, count + 1);
|
|
3035
|
+
}
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
3038
|
+
};
|
|
3039
|
+
event_handle(array_from(all_registered_events));
|
|
3040
|
+
root_event_handles.add(event_handle);
|
|
3041
|
+
return () => {
|
|
3042
|
+
for (var event_name of registered_events) {
|
|
3043
|
+
for (const node of [target, document]) {
|
|
3044
|
+
var counts = (
|
|
3045
|
+
/** @type {Map<string, number>} */
|
|
3046
|
+
listeners.get(node)
|
|
3047
|
+
);
|
|
3048
|
+
var count = (
|
|
3049
|
+
/** @type {number} */
|
|
3050
|
+
counts.get(event_name)
|
|
3051
|
+
);
|
|
3052
|
+
if (--count == 0) {
|
|
3053
|
+
node.removeEventListener(event_name, handle_event_propagation);
|
|
3054
|
+
counts.delete(event_name);
|
|
3055
|
+
if (counts.size === 0) {
|
|
3056
|
+
listeners.delete(node);
|
|
3057
|
+
}
|
|
3058
|
+
} else {
|
|
3059
|
+
counts.set(event_name, count);
|
|
3060
|
+
}
|
|
3061
|
+
}
|
|
3062
|
+
}
|
|
3063
|
+
root_event_handles.delete(event_handle);
|
|
3064
|
+
if (anchor_node !== anchor) {
|
|
3065
|
+
anchor_node.parentNode?.removeChild(anchor_node);
|
|
3066
|
+
}
|
|
3067
|
+
};
|
|
3068
|
+
});
|
|
3069
|
+
mounted_components.set(component, unmount2);
|
|
3070
|
+
return component;
|
|
3071
|
+
}
|
|
3072
|
+
let mounted_components = /* @__PURE__ */ new WeakMap();
|
|
3073
|
+
function unmount(component, options) {
|
|
3074
|
+
const fn = mounted_components.get(component);
|
|
3075
|
+
if (fn) {
|
|
3076
|
+
mounted_components.delete(component);
|
|
3077
|
+
return fn(options);
|
|
3078
|
+
}
|
|
3079
|
+
return Promise.resolve();
|
|
3080
|
+
}
|
|
2311
3081
|
const ATTR_REGEX = /[&"<]/g;
|
|
2312
3082
|
const CONTENT_REGEX = /[&<]/g;
|
|
2313
3083
|
function escape_html(value, is_attr) {
|
|
@@ -2478,6 +3248,109 @@ function to_style(value, styles) {
|
|
|
2478
3248
|
}
|
|
2479
3249
|
return value == null ? null : String(value);
|
|
2480
3250
|
}
|
|
3251
|
+
function asClassComponent$1(component) {
|
|
3252
|
+
return class extends Svelte4Component {
|
|
3253
|
+
/** @param {any} options */
|
|
3254
|
+
constructor(options) {
|
|
3255
|
+
super({
|
|
3256
|
+
component,
|
|
3257
|
+
...options
|
|
3258
|
+
});
|
|
3259
|
+
}
|
|
3260
|
+
};
|
|
3261
|
+
}
|
|
3262
|
+
class Svelte4Component {
|
|
3263
|
+
/** @type {any} */
|
|
3264
|
+
#events;
|
|
3265
|
+
/** @type {Record<string, any>} */
|
|
3266
|
+
#instance;
|
|
3267
|
+
/**
|
|
3268
|
+
* @param {ComponentConstructorOptions & {
|
|
3269
|
+
* component: any;
|
|
3270
|
+
* }} options
|
|
3271
|
+
*/
|
|
3272
|
+
constructor(options) {
|
|
3273
|
+
var sources = /* @__PURE__ */ new Map();
|
|
3274
|
+
var add_source = (key, value) => {
|
|
3275
|
+
var s = /* @__PURE__ */ mutable_source(value, false, false);
|
|
3276
|
+
sources.set(key, s);
|
|
3277
|
+
return s;
|
|
3278
|
+
};
|
|
3279
|
+
const props = new Proxy(
|
|
3280
|
+
{ ...options.props || {}, $$events: {} },
|
|
3281
|
+
{
|
|
3282
|
+
get(target, prop) {
|
|
3283
|
+
return get$1(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
|
|
3284
|
+
},
|
|
3285
|
+
has(target, prop) {
|
|
3286
|
+
if (prop === LEGACY_PROPS) return true;
|
|
3287
|
+
get$1(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
|
|
3288
|
+
return Reflect.has(target, prop);
|
|
3289
|
+
},
|
|
3290
|
+
set(target, prop, value) {
|
|
3291
|
+
set(sources.get(prop) ?? add_source(prop, value), value);
|
|
3292
|
+
return Reflect.set(target, prop, value);
|
|
3293
|
+
}
|
|
3294
|
+
}
|
|
3295
|
+
);
|
|
3296
|
+
this.#instance = (options.hydrate ? hydrate : mount)(options.component, {
|
|
3297
|
+
target: options.target,
|
|
3298
|
+
anchor: options.anchor,
|
|
3299
|
+
props,
|
|
3300
|
+
context: options.context,
|
|
3301
|
+
intro: options.intro ?? false,
|
|
3302
|
+
recover: options.recover,
|
|
3303
|
+
transformError: options.transformError
|
|
3304
|
+
});
|
|
3305
|
+
if (!options?.props?.$$host || options.sync === false) {
|
|
3306
|
+
flushSync();
|
|
3307
|
+
}
|
|
3308
|
+
this.#events = props.$$events;
|
|
3309
|
+
for (const key of Object.keys(this.#instance)) {
|
|
3310
|
+
if (key === "$set" || key === "$destroy" || key === "$on") continue;
|
|
3311
|
+
define_property(this, key, {
|
|
3312
|
+
get() {
|
|
3313
|
+
return this.#instance[key];
|
|
3314
|
+
},
|
|
3315
|
+
/** @param {any} value */
|
|
3316
|
+
set(value) {
|
|
3317
|
+
this.#instance[key] = value;
|
|
3318
|
+
},
|
|
3319
|
+
enumerable: true
|
|
3320
|
+
});
|
|
3321
|
+
}
|
|
3322
|
+
this.#instance.$set = /** @param {Record<string, any>} next */
|
|
3323
|
+
(next2) => {
|
|
3324
|
+
Object.assign(props, next2);
|
|
3325
|
+
};
|
|
3326
|
+
this.#instance.$destroy = () => {
|
|
3327
|
+
unmount(this.#instance);
|
|
3328
|
+
};
|
|
3329
|
+
}
|
|
3330
|
+
/** @param {Record<string, any>} props */
|
|
3331
|
+
$set(props) {
|
|
3332
|
+
this.#instance.$set(props);
|
|
3333
|
+
}
|
|
3334
|
+
/**
|
|
3335
|
+
* @param {string} event
|
|
3336
|
+
* @param {(...args: any[]) => any} callback
|
|
3337
|
+
* @returns {any}
|
|
3338
|
+
*/
|
|
3339
|
+
$on(event, callback) {
|
|
3340
|
+
this.#events[event] = this.#events[event] || [];
|
|
3341
|
+
const cb = (...args) => callback.call(this, ...args);
|
|
3342
|
+
this.#events[event].push(cb);
|
|
3343
|
+
return () => {
|
|
3344
|
+
this.#events[event] = this.#events[event].filter(
|
|
3345
|
+
/** @param {any} fn */
|
|
3346
|
+
(fn) => fn !== cb
|
|
3347
|
+
);
|
|
3348
|
+
};
|
|
3349
|
+
}
|
|
3350
|
+
$destroy() {
|
|
3351
|
+
this.#instance.$destroy();
|
|
3352
|
+
}
|
|
3353
|
+
}
|
|
2481
3354
|
function subscribe_to_store(store, run, invalidate) {
|
|
2482
3355
|
if (store == null) {
|
|
2483
3356
|
run(void 0);
|
|
@@ -2846,9 +3719,9 @@ class Renderer {
|
|
|
2846
3719
|
* @param {boolean | undefined} [is_rich]
|
|
2847
3720
|
* @returns {void}
|
|
2848
3721
|
*/
|
|
2849
|
-
select(attrs, fn, css_hash, classes, styles,
|
|
3722
|
+
select(attrs, fn, css_hash, classes, styles, flags2, is_rich) {
|
|
2850
3723
|
const { value, ...select_attrs } = attrs;
|
|
2851
|
-
this.push(`<select${attributes(select_attrs, css_hash, classes, styles,
|
|
3724
|
+
this.push(`<select${attributes(select_attrs, css_hash, classes, styles, flags2)}>`);
|
|
2852
3725
|
this.child((renderer) => {
|
|
2853
3726
|
renderer.local.select_value = value;
|
|
2854
3727
|
fn(renderer);
|
|
@@ -2864,8 +3737,8 @@ class Renderer {
|
|
|
2864
3737
|
* @param {number | undefined} [flags]
|
|
2865
3738
|
* @param {boolean | undefined} [is_rich]
|
|
2866
3739
|
*/
|
|
2867
|
-
option(attrs, body, css_hash, classes, styles,
|
|
2868
|
-
this.#out.push(`<option${attributes(attrs, css_hash, classes, styles,
|
|
3740
|
+
option(attrs, body, css_hash, classes, styles, flags2, is_rich) {
|
|
3741
|
+
this.#out.push(`<option${attributes(attrs, css_hash, classes, styles, flags2)}`);
|
|
2869
3742
|
const close = (renderer, value, { head: head2, body: body2 }) => {
|
|
2870
3743
|
if (has_own_property.call(attrs, "value")) {
|
|
2871
3744
|
value = attrs.value;
|
|
@@ -3354,7 +4227,7 @@ function head(hash, renderer, fn) {
|
|
|
3354
4227
|
renderer2.push(EMPTY_COMMENT);
|
|
3355
4228
|
});
|
|
3356
4229
|
}
|
|
3357
|
-
function attributes(attrs, css_hash, classes, styles,
|
|
4230
|
+
function attributes(attrs, css_hash, classes, styles, flags2 = 0) {
|
|
3358
4231
|
if (styles) {
|
|
3359
4232
|
attrs.style = to_style(attrs.style, styles);
|
|
3360
4233
|
}
|
|
@@ -3366,9 +4239,9 @@ function attributes(attrs, css_hash, classes, styles, flags = 0) {
|
|
|
3366
4239
|
}
|
|
3367
4240
|
let attr_str = "";
|
|
3368
4241
|
let name;
|
|
3369
|
-
const is_html = (
|
|
3370
|
-
const lowercase = (
|
|
3371
|
-
const is_input = (
|
|
4242
|
+
const is_html = (flags2 & ELEMENT_IS_NAMESPACED) === 0;
|
|
4243
|
+
const lowercase = (flags2 & ELEMENT_PRESERVE_ATTRIBUTE_CASE) === 0;
|
|
4244
|
+
const is_input = (flags2 & ELEMENT_IS_INPUT) !== 0;
|
|
3372
4245
|
for (name of Object.keys(attrs)) {
|
|
3373
4246
|
if (typeof attrs[name] === "function") continue;
|
|
3374
4247
|
if (name[0] === "$" && name[1] === "$") continue;
|
|
@@ -3463,7 +4336,211 @@ function derived$1(fn) {
|
|
|
3463
4336
|
return updated_value;
|
|
3464
4337
|
};
|
|
3465
4338
|
}
|
|
4339
|
+
function asClassComponent(component) {
|
|
4340
|
+
const component_constructor = asClassComponent$1(component);
|
|
4341
|
+
const _render = (props, { context, csp, transformError } = {}) => {
|
|
4342
|
+
const result = render(component, { props, context, csp, transformError });
|
|
4343
|
+
const munged = Object.defineProperties(
|
|
4344
|
+
/** @type {LegacyRenderResult & PromiseLike<LegacyRenderResult>} */
|
|
4345
|
+
{},
|
|
4346
|
+
{
|
|
4347
|
+
css: {
|
|
4348
|
+
value: { code: "", map: null }
|
|
4349
|
+
},
|
|
4350
|
+
head: {
|
|
4351
|
+
get: () => result.head
|
|
4352
|
+
},
|
|
4353
|
+
html: {
|
|
4354
|
+
get: () => result.body
|
|
4355
|
+
},
|
|
4356
|
+
then: {
|
|
4357
|
+
/**
|
|
4358
|
+
* this is not type-safe, but honestly it's the best I can do right now, and it's a straightforward function.
|
|
4359
|
+
*
|
|
4360
|
+
* @template TResult1
|
|
4361
|
+
* @template [TResult2=never]
|
|
4362
|
+
* @param { (value: LegacyRenderResult) => TResult1 } onfulfilled
|
|
4363
|
+
* @param { (reason: unknown) => TResult2 } onrejected
|
|
4364
|
+
*/
|
|
4365
|
+
value: (onfulfilled, onrejected) => {
|
|
4366
|
+
{
|
|
4367
|
+
const user_result = onfulfilled({
|
|
4368
|
+
css: munged.css,
|
|
4369
|
+
head: munged.head,
|
|
4370
|
+
html: munged.html
|
|
4371
|
+
});
|
|
4372
|
+
return Promise.resolve(user_result);
|
|
4373
|
+
}
|
|
4374
|
+
}
|
|
4375
|
+
}
|
|
4376
|
+
}
|
|
4377
|
+
);
|
|
4378
|
+
return munged;
|
|
4379
|
+
};
|
|
4380
|
+
component_constructor.render = _render;
|
|
4381
|
+
return component_constructor;
|
|
4382
|
+
}
|
|
4383
|
+
function Root($$renderer, $$props) {
|
|
4384
|
+
$$renderer.component(($$renderer2) => {
|
|
4385
|
+
let {
|
|
4386
|
+
stores,
|
|
4387
|
+
page,
|
|
4388
|
+
constructors,
|
|
4389
|
+
components = [],
|
|
4390
|
+
form,
|
|
4391
|
+
data_0 = null,
|
|
4392
|
+
data_1 = null
|
|
4393
|
+
} = $$props;
|
|
4394
|
+
{
|
|
4395
|
+
setContext("__svelte__", stores);
|
|
4396
|
+
}
|
|
4397
|
+
{
|
|
4398
|
+
stores.page.set(page);
|
|
4399
|
+
}
|
|
4400
|
+
const Pyramid_1 = derived$1(() => constructors[1]);
|
|
4401
|
+
if (constructors[1]) {
|
|
4402
|
+
$$renderer2.push("<!--[0-->");
|
|
4403
|
+
const Pyramid_0 = constructors[0];
|
|
4404
|
+
if (Pyramid_0) {
|
|
4405
|
+
$$renderer2.push("<!--[-->");
|
|
4406
|
+
Pyramid_0($$renderer2, {
|
|
4407
|
+
data: data_0,
|
|
4408
|
+
form,
|
|
4409
|
+
params: page.params,
|
|
4410
|
+
children: ($$renderer3) => {
|
|
4411
|
+
if (Pyramid_1()) {
|
|
4412
|
+
$$renderer3.push("<!--[-->");
|
|
4413
|
+
Pyramid_1()($$renderer3, { data: data_1, form, params: page.params });
|
|
4414
|
+
$$renderer3.push("<!--]-->");
|
|
4415
|
+
} else {
|
|
4416
|
+
$$renderer3.push("<!--[!-->");
|
|
4417
|
+
$$renderer3.push("<!--]-->");
|
|
4418
|
+
}
|
|
4419
|
+
},
|
|
4420
|
+
$$slots: { default: true }
|
|
4421
|
+
});
|
|
4422
|
+
$$renderer2.push("<!--]-->");
|
|
4423
|
+
} else {
|
|
4424
|
+
$$renderer2.push("<!--[!-->");
|
|
4425
|
+
$$renderer2.push("<!--]-->");
|
|
4426
|
+
}
|
|
4427
|
+
} else {
|
|
4428
|
+
$$renderer2.push("<!--[-1-->");
|
|
4429
|
+
const Pyramid_0 = constructors[0];
|
|
4430
|
+
if (Pyramid_0) {
|
|
4431
|
+
$$renderer2.push("<!--[-->");
|
|
4432
|
+
Pyramid_0($$renderer2, { data: data_0, form, params: page.params });
|
|
4433
|
+
$$renderer2.push("<!--]-->");
|
|
4434
|
+
} else {
|
|
4435
|
+
$$renderer2.push("<!--[!-->");
|
|
4436
|
+
$$renderer2.push("<!--]-->");
|
|
4437
|
+
}
|
|
4438
|
+
}
|
|
4439
|
+
$$renderer2.push(`<!--]--> `);
|
|
4440
|
+
{
|
|
4441
|
+
$$renderer2.push("<!--[-1-->");
|
|
4442
|
+
}
|
|
4443
|
+
$$renderer2.push(`<!--]-->`);
|
|
4444
|
+
});
|
|
4445
|
+
}
|
|
4446
|
+
const root = asClassComponent(Root);
|
|
3466
4447
|
|
|
4448
|
+
const internal = new URL("sveltekit-internal://");
|
|
4449
|
+
function resolve(base, path) {
|
|
4450
|
+
if (path[0] === "/" && path[1] === "/") return path;
|
|
4451
|
+
let url = new URL(base, internal);
|
|
4452
|
+
url = new URL(path, url);
|
|
4453
|
+
return url.protocol === internal.protocol ? url.pathname + url.search + url.hash : url.href;
|
|
4454
|
+
}
|
|
4455
|
+
function normalize_path(path, trailing_slash) {
|
|
4456
|
+
if (path === "/" || trailing_slash === "ignore") return path;
|
|
4457
|
+
if (trailing_slash === "never") {
|
|
4458
|
+
return path.endsWith("/") ? path.slice(0, -1) : path;
|
|
4459
|
+
} else if (trailing_slash === "always" && !path.endsWith("/")) {
|
|
4460
|
+
return path + "/";
|
|
4461
|
+
}
|
|
4462
|
+
return path;
|
|
4463
|
+
}
|
|
4464
|
+
function decode_pathname(pathname) {
|
|
4465
|
+
return pathname.split("%25").map(decodeURI).join("%25");
|
|
4466
|
+
}
|
|
4467
|
+
function decode_params(params) {
|
|
4468
|
+
for (const key in params) {
|
|
4469
|
+
params[key] = decodeURIComponent(params[key]);
|
|
4470
|
+
}
|
|
4471
|
+
return params;
|
|
4472
|
+
}
|
|
4473
|
+
function make_trackable(url, callback, search_params_callback, allow_hash = false) {
|
|
4474
|
+
const tracked = new URL(url);
|
|
4475
|
+
Object.defineProperty(tracked, "searchParams", {
|
|
4476
|
+
value: new Proxy(tracked.searchParams, {
|
|
4477
|
+
get(obj, key) {
|
|
4478
|
+
if (key === "get" || key === "getAll" || key === "has") {
|
|
4479
|
+
return (param, ...rest) => {
|
|
4480
|
+
search_params_callback(param);
|
|
4481
|
+
return obj[key](param, ...rest);
|
|
4482
|
+
};
|
|
4483
|
+
}
|
|
4484
|
+
callback();
|
|
4485
|
+
const value = Reflect.get(obj, key);
|
|
4486
|
+
return typeof value === "function" ? value.bind(obj) : value;
|
|
4487
|
+
}
|
|
4488
|
+
}),
|
|
4489
|
+
enumerable: true,
|
|
4490
|
+
configurable: true
|
|
4491
|
+
});
|
|
4492
|
+
const tracked_url_properties = ["href", "pathname", "search", "toString", "toJSON"];
|
|
4493
|
+
if (allow_hash) tracked_url_properties.push("hash");
|
|
4494
|
+
for (const property of tracked_url_properties) {
|
|
4495
|
+
Object.defineProperty(tracked, property, {
|
|
4496
|
+
get() {
|
|
4497
|
+
callback();
|
|
4498
|
+
return url[property];
|
|
4499
|
+
},
|
|
4500
|
+
enumerable: true,
|
|
4501
|
+
configurable: true
|
|
4502
|
+
});
|
|
4503
|
+
}
|
|
4504
|
+
{
|
|
4505
|
+
tracked[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
|
|
4506
|
+
return inspect(url, opts);
|
|
4507
|
+
};
|
|
4508
|
+
tracked.searchParams[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
|
|
4509
|
+
return inspect(url.searchParams, opts);
|
|
4510
|
+
};
|
|
4511
|
+
}
|
|
4512
|
+
if (!allow_hash) {
|
|
4513
|
+
disable_hash(tracked);
|
|
4514
|
+
}
|
|
4515
|
+
return tracked;
|
|
4516
|
+
}
|
|
4517
|
+
function disable_hash(url) {
|
|
4518
|
+
allow_nodejs_console_log(url);
|
|
4519
|
+
Object.defineProperty(url, "hash", {
|
|
4520
|
+
get() {
|
|
4521
|
+
throw new Error(
|
|
4522
|
+
"Cannot access event.url.hash. Consider using `page.url.hash` inside a component instead"
|
|
4523
|
+
);
|
|
4524
|
+
}
|
|
4525
|
+
});
|
|
4526
|
+
}
|
|
4527
|
+
function disable_search(url) {
|
|
4528
|
+
allow_nodejs_console_log(url);
|
|
4529
|
+
for (const property of ["search", "searchParams"]) {
|
|
4530
|
+
Object.defineProperty(url, property, {
|
|
4531
|
+
get() {
|
|
4532
|
+
throw new Error(`Cannot access url.${property} on a page with prerendering enabled`);
|
|
4533
|
+
}
|
|
4534
|
+
});
|
|
4535
|
+
}
|
|
4536
|
+
}
|
|
4537
|
+
function allow_nodejs_console_log(url) {
|
|
4538
|
+
{
|
|
4539
|
+
url[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
|
|
4540
|
+
return inspect(new URL(url), opts);
|
|
4541
|
+
};
|
|
4542
|
+
}
|
|
4543
|
+
}
|
|
3467
4544
|
const subscriber_queue = [];
|
|
3468
4545
|
function readable(value, start) {
|
|
3469
4546
|
return {
|
|
@@ -3571,5 +4648,5 @@ function get(store) {
|
|
|
3571
4648
|
return value;
|
|
3572
4649
|
}
|
|
3573
4650
|
|
|
3574
|
-
export {
|
|
3575
|
-
//# sourceMappingURL=
|
|
4651
|
+
export { derived as A, unsubscribe_stores as B, getContext as C, DevalueError as D, ensure_array_like as E, clsx as F, attributes as G, await_block as H, is_array as I, get_prototype_of as J, object_prototype as K, noop as L, bind_props as M, ssr_context as N, get as O, is_plain_object as a, stringify_string as b, browser as c, decode_pathname as d, enumerable_symbols as e, disable_search as f, get_type as g, decode_params as h, is_primitive as i, resolve as j, readable as k, writable as l, make_trackable as m, normalize_path as n, head as o, attr as p, stringify as q, root as r, stringify_key as s, store_get as t, uneval as u, valid_array_indices as v, with_request_store as w, escape_html as x, attr_class as y, derived$1 as z };
|
|
4652
|
+
//# sourceMappingURL=index-CUeePJRv.js.map
|