@qwik.dev/core 2.0.0-beta.43 → 2.0.0-beta.47
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.d.ts +1 -1
- package/dist/async-local-storage.d.ts +3 -0
- package/dist/async-local-storage.mjs +8 -0
- package/dist/async-local-storage.node.mjs +6 -0
- package/dist/backpatch/package.json +1 -1
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +26 -5
- package/dist/core-internal.d.ts +223 -162
- package/dist/core.min.mjs +10 -11
- package/dist/core.mjs +6268 -6181
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +5104 -5104
- package/dist/error-swap-executor.debug.js +2 -2
- package/dist/error-swap-executor.js +1 -1
- package/dist/insights.d.ts +2 -2
- package/dist/jsx-runtime/index.d.ts +1 -1
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.d.ts +240 -11
- package/dist/optimizer.mjs +879 -656
- package/dist/out-of-order-executor.debug.js +2 -2
- package/dist/preloader.mjs +77 -69
- package/dist/qwikloader.debug.js +12 -10
- package/dist/qwikloader.js +1 -1
- package/dist/server-modules.d.ts +7 -7
- package/dist/server.d.ts +17 -17
- package/dist/server.mjs +99 -66
- package/dist/server.prod.mjs +485 -448
- package/dist/starters/adapters/bun/adapters/bun/vite.config.ts +0 -1
- package/dist/testing/index.d.ts +26 -30
- package/dist/testing/index.mjs +7560 -7335
- package/dist/testing/package.json +1 -1
- package/dist/ts-optimizer.mjs +10477 -0
- package/dist/worker/index.mjs +12 -10
- package/dist/worker/package.json +1 -1
- package/dist/worker/worker.shared.js +3 -3
- package/handlers.mjs +6 -6
- package/jsx-dev-runtime.d.ts +1 -1
- package/jsx-runtime.d.ts +1 -1
- package/loader.d.ts +1 -1
- package/optimizer.d.ts +1 -1
- package/package.json +22 -7
- package/public.d.ts +6 -6
- package/server.d.ts +1 -1
- package/testing.d.ts +1 -1
package/dist/server.prod.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* @qwik.dev/core/server 2.0.0-beta.
|
|
3
|
+
* @qwik.dev/core/server 2.0.0-beta.47-dev+919c91b
|
|
4
4
|
* Copyright QwikDev. All Rights Reserved.
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { setPlatform as setPlatform2 } from "@qwik.dev/core";
|
|
10
10
|
|
|
11
11
|
// packages/qwik/src/server/platform.ts
|
|
12
|
-
import { setPlatform as
|
|
12
|
+
import { setPlatform as oi } from "@qwik.dev/core";
|
|
13
13
|
|
|
14
14
|
import { isDev as isDev6 } from "@qwik.dev/core/build";
|
|
15
15
|
|
|
@@ -17,7 +17,7 @@ import { isDev as isDev6 } from "@qwik.dev/core/build";
|
|
|
17
17
|
import { isDev as isDev2 } from "@qwik.dev/core/build";
|
|
18
18
|
|
|
19
19
|
// packages/qwik/src/core/shared/error/assert.ts
|
|
20
|
-
import { isDev as
|
|
20
|
+
import { isDev as Ve } from "@qwik.dev/core/build";
|
|
21
21
|
|
|
22
22
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
23
23
|
var qDev = globalThis.qDev !== false;
|
|
@@ -34,18 +34,18 @@ var qRuntimeQrl = globalThis.qRuntimeQrl === true;
|
|
|
34
34
|
var STYLE = qDev ? `background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;` : "";
|
|
35
35
|
|
|
36
36
|
var throwErrorAndStop = (t, ...e) => {
|
|
37
|
-
const r =
|
|
37
|
+
const r = Ye(false, t, ...e);
|
|
38
38
|
debugger;
|
|
39
39
|
throw r;
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
var logErrorAndStop = (t, ...e) => {
|
|
43
|
-
const r =
|
|
43
|
+
const r = Ye(qDev, t, ...e);
|
|
44
44
|
debugger;
|
|
45
45
|
return r;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
var
|
|
48
|
+
var Ye = (t, e, ...r) => {
|
|
49
49
|
const n = e instanceof Error ? e : new Error(e);
|
|
50
50
|
!qTest && console.error("%cQWIK ERROR", STYLE, n.message, ...r, n.stack);
|
|
51
51
|
t && !qTest && setTimeout(() => {
|
|
@@ -58,7 +58,7 @@ var Qe = (t, e, ...r) => {
|
|
|
58
58
|
var ASSERT_DISCLAIMER = "Internal assert, this is likely caused by a bug in Qwik: ";
|
|
59
59
|
|
|
60
60
|
function assertTrue(t, e, ...r) {
|
|
61
|
-
if (
|
|
61
|
+
if (Ve) {
|
|
62
62
|
if (t === true) {
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
@@ -67,7 +67,7 @@ function assertTrue(t, e, ...r) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
// packages/qwik/src/core/client/util-mapArray.ts
|
|
70
|
-
var
|
|
70
|
+
var ui = (t, e, r) => {
|
|
71
71
|
isDev2 && assertTrue(r % 2 === 0, "Expecting even number.");
|
|
72
72
|
let n = r >> 1;
|
|
73
73
|
let s = t.length - 2 >> 1;
|
|
@@ -86,8 +86,8 @@ var Je = (t, e, r) => {
|
|
|
86
86
|
return n << 1 ^ -1;
|
|
87
87
|
};
|
|
88
88
|
|
|
89
|
-
var
|
|
90
|
-
const i =
|
|
89
|
+
var ci = (t, e, r, n, s = false) => {
|
|
90
|
+
const i = ui(t, e, n);
|
|
91
91
|
if (i >= 0) {
|
|
92
92
|
if (r == null && !s) {
|
|
93
93
|
t.splice(i, 2);
|
|
@@ -100,7 +100,7 @@ var Ye = (t, e, r, n, s = false) => {
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
var mapApp_remove = (t, e, r) => {
|
|
103
|
-
const n =
|
|
103
|
+
const n = ui(t, e, r);
|
|
104
104
|
let s = null;
|
|
105
105
|
if (n >= 0) {
|
|
106
106
|
s = t[n + 1];
|
|
@@ -110,8 +110,8 @@ var mapApp_remove = (t, e, r) => {
|
|
|
110
110
|
return s;
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
var
|
|
114
|
-
const n =
|
|
113
|
+
var fi = (t, e, r) => {
|
|
114
|
+
const n = ui(t, e, r);
|
|
115
115
|
if (n >= 0) {
|
|
116
116
|
return t[n + 1];
|
|
117
117
|
} else {
|
|
@@ -119,17 +119,17 @@ var Ge = (t, e, r) => {
|
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
var
|
|
122
|
+
var ai = (t, e, r) => ui(t, e, r) >= 0;
|
|
123
123
|
|
|
124
124
|
// packages/qwik/src/core/shared/error/error.ts
|
|
125
125
|
import { isDev as isDev3 } from "@qwik.dev/core/build";
|
|
126
126
|
|
|
127
127
|
// packages/qwik/src/core/shared/utils/types.ts
|
|
128
|
-
var
|
|
128
|
+
var Ze = t => typeof t === "object" && t !== null;
|
|
129
129
|
|
|
130
|
-
var
|
|
130
|
+
var Ke = t => Array.isArray(t);
|
|
131
131
|
|
|
132
|
-
var
|
|
132
|
+
var tr = t => typeof t === "string";
|
|
133
133
|
|
|
134
134
|
// packages/qwik/src/core/shared/error/error.ts
|
|
135
135
|
var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#q";
|
|
@@ -196,7 +196,7 @@ var codeToText = (t, ...e) => {
|
|
|
196
196
|
// 28
|
|
197
197
|
"",
|
|
198
198
|
// 29 (cleared: useComputed$ now supports async functions)
|
|
199
|
-
|
|
199
|
+
"===\nQwik version {{0}} already imported while importing {{1}}.\nDifferent Qwik versions or builds cannot share their runtime state on the server.\nMake sure every Qwik library resolves to the same @qwik.dev/core version and build.\n===\n",
|
|
200
200
|
// 30
|
|
201
201
|
"WrappedSignal is read-only",
|
|
202
202
|
// 31
|
|
@@ -206,18 +206,20 @@ var codeToText = (t, ...e) => {
|
|
|
206
206
|
// 33
|
|
207
207
|
"Serialization Error: Cannot serialize function: {{0}}",
|
|
208
208
|
// 34
|
|
209
|
-
"Cannot read .value of a clientOnly async signal during SSR.
|
|
209
|
+
"Cannot read .value of a clientOnly async signal during SSR. Provide an initial value.",
|
|
210
210
|
// 35
|
|
211
211
|
"Invalid element name for SSR {{0}}",
|
|
212
212
|
// 36
|
|
213
213
|
"Invalid serialized Promise dependency",
|
|
214
214
|
// 37
|
|
215
|
-
"Invalid serialized Uint8Array payload"
|
|
215
|
+
"Invalid serialized Uint8Array payload",
|
|
216
|
+
// 38
|
|
217
|
+
"Computed signal was disposed" ];
|
|
216
218
|
let n = r[t] ?? "";
|
|
217
219
|
if (e.length) {
|
|
218
220
|
n = n.replaceAll(/{{(\d+)}}/g, (t, r) => {
|
|
219
221
|
let n = e[r];
|
|
220
|
-
if (n &&
|
|
222
|
+
if (n && Ze(n) && n.constructor === Object) {
|
|
221
223
|
n = JSON.stringify(n).slice(0, 50);
|
|
222
224
|
}
|
|
223
225
|
return n;
|
|
@@ -229,7 +231,7 @@ var codeToText = (t, ...e) => {
|
|
|
229
231
|
}
|
|
230
232
|
};
|
|
231
233
|
|
|
232
|
-
var
|
|
234
|
+
var er = (t, e = []) => {
|
|
233
235
|
const r = codeToText(t, ...e);
|
|
234
236
|
return logErrorAndStop(r, ...e);
|
|
235
237
|
};
|
|
@@ -237,10 +239,10 @@ var ir = (t, e = []) => {
|
|
|
237
239
|
// packages/qwik/src/core/shared/qrl/qrl-utils.ts
|
|
238
240
|
import { isDev as isDev4 } from "@qwik.dev/core/build";
|
|
239
241
|
|
|
240
|
-
var
|
|
242
|
+
var ur = "<sync>";
|
|
241
243
|
|
|
242
244
|
// packages/qwik/src/core/shared/types.ts
|
|
243
|
-
var
|
|
245
|
+
var gi = "q:type";
|
|
244
246
|
|
|
245
247
|
// packages/qwik/src/core/shared/vnode-data-types.ts
|
|
246
248
|
var VNodeDataSeparator = {
|
|
@@ -416,7 +418,7 @@ var VNodeDataChar = {
|
|
|
416
418
|
/* ******* */ "~"
|
|
417
419
|
};
|
|
418
420
|
|
|
419
|
-
var
|
|
421
|
+
var Pi = (t, e) => {
|
|
420
422
|
const r = parseInt(t, 10) - 1;
|
|
421
423
|
const n = r + e;
|
|
422
424
|
return -(n * (n + 1) / 2 + e + 1);
|
|
@@ -506,29 +508,29 @@ function encodeVNodeDataKey(t) {
|
|
|
506
508
|
}
|
|
507
509
|
|
|
508
510
|
// packages/qwik/src/core/shared/utils/markers.ts
|
|
509
|
-
var
|
|
511
|
+
var fr = "q:renderFn";
|
|
510
512
|
|
|
511
|
-
var
|
|
513
|
+
var pr = "q:slot";
|
|
512
514
|
|
|
513
|
-
var
|
|
515
|
+
var $r = "q:sparent";
|
|
514
516
|
|
|
515
517
|
var QStatePatchAttr = "q:patch";
|
|
516
518
|
|
|
517
|
-
var
|
|
519
|
+
var vr = "q:r";
|
|
518
520
|
|
|
519
|
-
var
|
|
521
|
+
var br = "q:style";
|
|
520
522
|
|
|
521
|
-
var
|
|
523
|
+
var _r = "style[q\\:style]";
|
|
522
524
|
|
|
523
525
|
var QStyleSSelector = "style[q\\:sstyle]";
|
|
524
526
|
|
|
525
|
-
var
|
|
527
|
+
var gr = _r + "," + QStyleSSelector;
|
|
526
528
|
|
|
527
|
-
var
|
|
529
|
+
var Er = "q:sstyle";
|
|
528
530
|
|
|
529
|
-
var
|
|
531
|
+
var Sr = "q:ctx";
|
|
530
532
|
|
|
531
|
-
var
|
|
533
|
+
var kr = "q:brefs";
|
|
532
534
|
|
|
533
535
|
var QwikEvContainerReady = 0;
|
|
534
536
|
|
|
@@ -538,7 +540,7 @@ var QRuntimeAttr = "q:runtime";
|
|
|
538
540
|
|
|
539
541
|
var QVersionAttr = "q:version";
|
|
540
542
|
|
|
541
|
-
var
|
|
543
|
+
var Pr = "q:base";
|
|
542
544
|
|
|
543
545
|
var QLocaleAttr = "q:locale";
|
|
544
546
|
|
|
@@ -548,62 +550,62 @@ var QInstanceAttr = "q:instance";
|
|
|
548
550
|
|
|
549
551
|
var QStatePrewarmAttr = "q:prewarm";
|
|
550
552
|
|
|
551
|
-
var
|
|
553
|
+
var qr = "q:container-island";
|
|
552
554
|
|
|
553
|
-
var
|
|
555
|
+
var Tr = "/" + qr;
|
|
554
556
|
|
|
555
|
-
var
|
|
557
|
+
var Ar = "q:ignore";
|
|
556
558
|
|
|
557
|
-
var
|
|
559
|
+
var Ir = "/" + Ar;
|
|
558
560
|
|
|
559
|
-
var
|
|
561
|
+
var Mr = "q:container";
|
|
560
562
|
|
|
561
|
-
var
|
|
563
|
+
var xr = "/" + Mr;
|
|
562
564
|
|
|
563
|
-
var
|
|
565
|
+
var Nr = "q:template";
|
|
564
566
|
|
|
565
|
-
var
|
|
567
|
+
var Cr = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
|
|
566
568
|
|
|
567
569
|
var QDefaultSlot = "";
|
|
568
570
|
|
|
569
|
-
var
|
|
571
|
+
var Dr = "q:id";
|
|
570
572
|
|
|
571
|
-
var
|
|
573
|
+
var Wr = "q:key";
|
|
572
574
|
|
|
573
575
|
var zr = "q:props";
|
|
574
576
|
|
|
575
|
-
var
|
|
577
|
+
var Vr = "q:seq";
|
|
576
578
|
|
|
577
|
-
var
|
|
579
|
+
var Ur = "q:seqIdx";
|
|
578
580
|
|
|
579
581
|
var ELEMENT_BACKPATCH_DATA = "qwik/backpatch";
|
|
580
582
|
|
|
581
|
-
var
|
|
583
|
+
var Br = "q:p";
|
|
582
584
|
|
|
583
|
-
var
|
|
585
|
+
var Qr = "q:ps";
|
|
584
586
|
|
|
585
|
-
var
|
|
587
|
+
var Hr = ":";
|
|
586
588
|
|
|
587
|
-
var
|
|
589
|
+
var Jr = Hr + "on";
|
|
588
590
|
|
|
589
|
-
var
|
|
591
|
+
var Yr = Hr + "onIdx";
|
|
590
592
|
|
|
591
|
-
var
|
|
593
|
+
var Gr = Hr + "onFlags";
|
|
592
594
|
|
|
593
|
-
var
|
|
595
|
+
var Zr = Hr + "cursorBoundary";
|
|
594
596
|
|
|
595
|
-
var
|
|
597
|
+
var Kr = Hr + "nearestCursorBoundary";
|
|
596
598
|
|
|
597
|
-
var
|
|
599
|
+
var ti = ":";
|
|
598
600
|
|
|
599
|
-
var
|
|
601
|
+
var ni = "dangerouslySetInnerHTML";
|
|
600
602
|
|
|
601
603
|
// packages/qwik/src/core/shared/utils/promises.ts
|
|
602
604
|
import { isDev as isDev5, isServer as We } from "@qwik.dev/core/build";
|
|
603
605
|
|
|
604
|
-
var
|
|
606
|
+
var di = 100;
|
|
605
607
|
|
|
606
|
-
var
|
|
608
|
+
var pi = t => {
|
|
607
609
|
try {
|
|
608
610
|
return !!t && typeof t == "object" && typeof t.then === "function";
|
|
609
611
|
} catch {
|
|
@@ -611,7 +613,7 @@ var oi = t => {
|
|
|
611
613
|
}
|
|
612
614
|
};
|
|
613
615
|
|
|
614
|
-
var
|
|
616
|
+
var yi = (t, e) => pi(t) ? t.then(e) : e(t);
|
|
615
617
|
|
|
616
618
|
var checkError = t => {
|
|
617
619
|
try {
|
|
@@ -621,11 +623,11 @@ var checkError = t => {
|
|
|
621
623
|
} catch {}
|
|
622
624
|
};
|
|
623
625
|
|
|
624
|
-
var
|
|
626
|
+
var vi = t => {
|
|
625
627
|
throw t;
|
|
626
628
|
};
|
|
627
629
|
|
|
628
|
-
function
|
|
630
|
+
function t(t, e = vi) {
|
|
629
631
|
let r = false;
|
|
630
632
|
let n;
|
|
631
633
|
try {
|
|
@@ -634,21 +636,21 @@ function n(t, e = fi) {
|
|
|
634
636
|
} catch (t) {
|
|
635
637
|
n = t;
|
|
636
638
|
}
|
|
637
|
-
if (!
|
|
639
|
+
if (!pi(n)) {
|
|
638
640
|
if (r) {
|
|
639
641
|
return n;
|
|
640
642
|
}
|
|
641
643
|
isDev5 && checkError(n);
|
|
642
644
|
return e(n);
|
|
643
645
|
}
|
|
644
|
-
let s =
|
|
646
|
+
let s = di;
|
|
645
647
|
const i = async r => {
|
|
646
|
-
while (
|
|
648
|
+
while (pi(r)) {
|
|
647
649
|
try {
|
|
648
650
|
await r;
|
|
649
651
|
return await t();
|
|
650
652
|
} catch (t) {
|
|
651
|
-
if (
|
|
653
|
+
if (pi(t)) {
|
|
652
654
|
if (! --s) {
|
|
653
655
|
r = new Error("Exceeded max retry count in retryOnPromise");
|
|
654
656
|
break;
|
|
@@ -677,34 +679,34 @@ function convertStyleIdsToString(t) {
|
|
|
677
679
|
}
|
|
678
680
|
|
|
679
681
|
// packages/qwik/src/core/shared/utils/event-names.ts
|
|
680
|
-
var
|
|
682
|
+
var Mi = t => t.charCodeAt(0) === 113 && t.charCodeAt(1) === 45 && (t.charCodeAt(3) === 58 || t.charCodeAt(3) === 112 && t.charCodeAt(4) === 58);
|
|
681
683
|
|
|
682
684
|
function isPreventDefault(t) {
|
|
683
685
|
return t.startsWith("preventdefault:");
|
|
684
686
|
}
|
|
685
687
|
|
|
686
688
|
// packages/qwik/src/core/shared/utils/unitless_number.ts
|
|
687
|
-
var
|
|
689
|
+
var Ro = /* @__PURE__ */ new Set([ "animationIterationCount", "aspectRatio", "borderImageOutset", "borderImageSlice", "borderImageWidth", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "columns", "flex", "flexGrow", "flexShrink", "gridArea", "gridRow", "gridRowEnd", "gridRowStart", "gridColumn", "gridColumnEnd", "gridColumnStart", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "scale", "tabSize", "widows", "zIndex", "zoom", "MozAnimationIterationCount",
|
|
688
690
|
// Known Prefixed Properties
|
|
689
691
|
"MozBoxFlex",
|
|
690
692
|
// TODO: Remove these since they shouldn't be used in modern code
|
|
691
693
|
"msFlex", "msFlexPositive", "WebkitAnimationIterationCount", "WebkitBoxFlex", "WebkitBoxOrdinalGroup", "WebkitColumnCount", "WebkitColumns", "WebkitFlex", "WebkitFlexGrow", "WebkitFlexShrink", "WebkitLineClamp" ]);
|
|
692
694
|
|
|
693
|
-
var isUnitlessNumber = t =>
|
|
695
|
+
var isUnitlessNumber = t => Ro.has(t);
|
|
694
696
|
|
|
695
697
|
// packages/qwik/src/core/shared/utils/styles.ts
|
|
696
|
-
var
|
|
698
|
+
var qo = t => {
|
|
697
699
|
if (!t) {
|
|
698
700
|
return "";
|
|
699
701
|
}
|
|
700
|
-
if (
|
|
702
|
+
if (tr(t)) {
|
|
701
703
|
return t.trim();
|
|
702
704
|
}
|
|
703
705
|
const e = [];
|
|
704
|
-
if (
|
|
706
|
+
if (Ke(t)) {
|
|
705
707
|
for (let r = 0; r < t.length; r++) {
|
|
706
708
|
const n = t[r];
|
|
707
|
-
const s =
|
|
709
|
+
const s = qo(n);
|
|
708
710
|
if (s) {
|
|
709
711
|
e.push(s);
|
|
710
712
|
}
|
|
@@ -719,15 +721,15 @@ var bi = t => {
|
|
|
719
721
|
return e.join(" ");
|
|
720
722
|
};
|
|
721
723
|
|
|
722
|
-
var
|
|
724
|
+
var To = t => t.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
723
725
|
|
|
724
|
-
var
|
|
726
|
+
var Ao = t => {
|
|
725
727
|
if (t == null) {
|
|
726
728
|
return "";
|
|
727
729
|
}
|
|
728
730
|
if (typeof t == "object") {
|
|
729
|
-
if (
|
|
730
|
-
throw
|
|
731
|
+
if (Ke(t)) {
|
|
732
|
+
throw er(0 /* stringifyClassOrStyle */ , [ t, "style" ]);
|
|
731
733
|
} else {
|
|
732
734
|
const e = [];
|
|
733
735
|
for (const r in t) {
|
|
@@ -737,7 +739,7 @@ var _i = t => {
|
|
|
737
739
|
if (r.startsWith("--")) {
|
|
738
740
|
e.push(r + ":" + n);
|
|
739
741
|
} else {
|
|
740
|
-
e.push(
|
|
742
|
+
e.push(To(r) + ":" + Mo(r, n));
|
|
741
743
|
}
|
|
742
744
|
}
|
|
743
745
|
}
|
|
@@ -748,16 +750,16 @@ var _i = t => {
|
|
|
748
750
|
return String(t);
|
|
749
751
|
};
|
|
750
752
|
|
|
751
|
-
var
|
|
753
|
+
var Io = t => t != null ? String(t) : null;
|
|
752
754
|
|
|
753
|
-
function
|
|
755
|
+
function P(t, e, r) {
|
|
754
756
|
if (isClassAttr(t)) {
|
|
755
|
-
const t =
|
|
757
|
+
const t = qo(e);
|
|
756
758
|
e = r ? r + (t.length ? " " + t : t) : t;
|
|
757
759
|
} else if (t === "style") {
|
|
758
|
-
e =
|
|
760
|
+
e = Ao(e);
|
|
759
761
|
} else if (isEnumeratedBooleanAttribute(t) || typeof e === "number") {
|
|
760
|
-
e =
|
|
762
|
+
e = Io(e);
|
|
761
763
|
} else if (e === false || e == null) {
|
|
762
764
|
e = null;
|
|
763
765
|
} else if (e === true && isPreventDefault(t)) {
|
|
@@ -770,7 +772,7 @@ function isEnumeratedBooleanAttribute(t) {
|
|
|
770
772
|
return isAriaAttribute(t) || [ "spellcheck", "draggable", "contenteditable" ].includes(t);
|
|
771
773
|
}
|
|
772
774
|
|
|
773
|
-
var
|
|
775
|
+
var Mo = (t, e) => {
|
|
774
776
|
if (typeof e === "number" && e !== 0 && !isUnitlessNumber(t)) {
|
|
775
777
|
return e + "px";
|
|
776
778
|
}
|
|
@@ -781,6 +783,19 @@ function isAriaAttribute(t) {
|
|
|
781
783
|
return t.startsWith("aria-");
|
|
782
784
|
}
|
|
783
785
|
|
|
786
|
+
// packages/qwik/src/core/shared/singletons.ts
|
|
787
|
+
import { isServer as isServer2 } from "@qwik.dev/core/build";
|
|
788
|
+
|
|
789
|
+
// packages/qwik/src/core/version.ts
|
|
790
|
+
var Be = "2.0.0-beta.47-dev+919c91b";
|
|
791
|
+
|
|
792
|
+
// packages/qwik/src/core/shared/singletons.ts
|
|
793
|
+
var rr = globalThis.__qwik__ ||= {};
|
|
794
|
+
|
|
795
|
+
var ir = isServer2 ? rr.singletons ||= /* @__PURE__ */ Object.create(null) : rr[Be] ||= /* @__PURE__ */ Object.create(null);
|
|
796
|
+
|
|
797
|
+
var lr = t => ir[t];
|
|
798
|
+
|
|
784
799
|
// packages/qwik/src/core/preloader/bundle-graph.ts
|
|
785
800
|
var base;
|
|
786
801
|
|
|
@@ -799,9 +814,9 @@ var parseBundleGraph = t => {
|
|
|
799
814
|
o = -i / 10;
|
|
800
815
|
} else {
|
|
801
816
|
s.push({
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
817
|
+
t: t[i],
|
|
818
|
+
i: o,
|
|
819
|
+
p: 1
|
|
805
820
|
});
|
|
806
821
|
}
|
|
807
822
|
r++;
|
|
@@ -820,7 +835,7 @@ var initPreloader = t => {
|
|
|
820
835
|
};
|
|
821
836
|
|
|
822
837
|
// packages/qwik/src/core/shared/utils/objects.ts
|
|
823
|
-
var
|
|
838
|
+
var Ds = t => {
|
|
824
839
|
for (const e in t) {
|
|
825
840
|
if (Object.prototype.hasOwnProperty.call(t, e)) {
|
|
826
841
|
return false;
|
|
@@ -844,7 +859,7 @@ var writeStringRootRefPath = (t, e) => t.write(stringifyRootRefPath(e));
|
|
|
844
859
|
|
|
845
860
|
var writeStringRootRefDelta = (t, e, r) => t.write(String(e - r));
|
|
846
861
|
|
|
847
|
-
var
|
|
862
|
+
var Yu = t => ({
|
|
848
863
|
write: t,
|
|
849
864
|
writeRootRef(t) {
|
|
850
865
|
return writeStringRootRef(this, t);
|
|
@@ -864,21 +879,21 @@ var GT = ">";
|
|
|
864
879
|
|
|
865
880
|
var CLOSE_TAG = "</";
|
|
866
881
|
|
|
867
|
-
var
|
|
882
|
+
var gh = " ";
|
|
868
883
|
|
|
869
884
|
var ATTR_EQUALS_QUOTE = '="';
|
|
870
885
|
|
|
871
|
-
var
|
|
886
|
+
var Gu = '"';
|
|
872
887
|
|
|
873
888
|
var EMPTY_ATTR = '=""';
|
|
874
889
|
|
|
875
|
-
var
|
|
890
|
+
var Zu = "[";
|
|
876
891
|
|
|
877
|
-
var
|
|
892
|
+
var Ku = "]";
|
|
878
893
|
|
|
879
894
|
var PAREN_CLOSE = ")";
|
|
880
895
|
|
|
881
|
-
var
|
|
896
|
+
var tc = ",";
|
|
882
897
|
|
|
883
898
|
// packages/qwik/src/server/platform.ts
|
|
884
899
|
var getDevSegmentPath = (t, e, r, n) => {
|
|
@@ -886,7 +901,7 @@ var getDevSegmentPath = (t, e, r, n) => {
|
|
|
886
901
|
if (s) {
|
|
887
902
|
return s;
|
|
888
903
|
}
|
|
889
|
-
if (r ===
|
|
904
|
+
if (r === ur) {
|
|
890
905
|
return [ r, "" ];
|
|
891
906
|
}
|
|
892
907
|
if (!n) {
|
|
@@ -900,18 +915,18 @@ var getDevSegmentPath = (t, e, r, n) => {
|
|
|
900
915
|
return [ r, i ];
|
|
901
916
|
};
|
|
902
917
|
|
|
903
|
-
function
|
|
918
|
+
function ri(t, e) {
|
|
904
919
|
const r = e?.mapper;
|
|
905
920
|
const n = t.symbolMapper ? t.symbolMapper : (t, e, n) => {
|
|
906
921
|
if (r || isDev6 && import.meta.env?.MODE !== "test") {
|
|
907
|
-
const e =
|
|
922
|
+
const e = Ld(t);
|
|
908
923
|
const s = !isDev6 ? r[e] : getDevSegmentPath(r, e, t, n);
|
|
909
924
|
if (!s) {
|
|
910
|
-
if (e ===
|
|
925
|
+
if (e === ur) {
|
|
911
926
|
return [ e, "" ];
|
|
912
927
|
}
|
|
913
|
-
const s =
|
|
914
|
-
if (s) {
|
|
928
|
+
const s = lr("regSymbols");
|
|
929
|
+
if (s?.has(e)) {
|
|
915
930
|
return [ t, "_" ];
|
|
916
931
|
}
|
|
917
932
|
console.error("Cannot resolve symbol", t, "in", r, n);
|
|
@@ -922,12 +937,12 @@ function Si(t, e) {
|
|
|
922
937
|
const s = {
|
|
923
938
|
isServer: true,
|
|
924
939
|
async importSymbol(t, e, r) {
|
|
925
|
-
const n =
|
|
926
|
-
const s =
|
|
940
|
+
const n = Ld(r);
|
|
941
|
+
const s = lr("regSymbols")?.get(n);
|
|
927
942
|
if (s) {
|
|
928
943
|
return s;
|
|
929
944
|
}
|
|
930
|
-
throw
|
|
945
|
+
throw er(6 /* dynamicImportFailed */ , [ r ]);
|
|
931
946
|
},
|
|
932
947
|
raf: () => {
|
|
933
948
|
console.error("server can not rerender");
|
|
@@ -941,11 +956,11 @@ function Si(t, e) {
|
|
|
941
956
|
}
|
|
942
957
|
|
|
943
958
|
async function setServerPlatform(t, e) {
|
|
944
|
-
const r =
|
|
945
|
-
|
|
959
|
+
const r = ri(t, e);
|
|
960
|
+
oi(r);
|
|
946
961
|
}
|
|
947
962
|
|
|
948
|
-
var
|
|
963
|
+
var Ld = t => {
|
|
949
964
|
const e = t.lastIndexOf("_");
|
|
950
965
|
if (e > -1) {
|
|
951
966
|
return t.slice(e + 1);
|
|
@@ -954,15 +969,15 @@ var Nd = t => {
|
|
|
954
969
|
};
|
|
955
970
|
|
|
956
971
|
// packages/qwik/src/server/ssr-render.ts
|
|
957
|
-
import { getClientManifest as
|
|
972
|
+
import { getClientManifest as Qa } from "@qwik.dev/core";
|
|
958
973
|
|
|
959
974
|
// packages/qwik/src/server/ssr-container.ts
|
|
960
975
|
import { isDev as isDev8 } from "@qwik.dev/core/build";
|
|
961
976
|
|
|
962
|
-
import { _SubscriptionData as
|
|
977
|
+
import { _SubscriptionData as Xs, _SharedContainer as Qc, _jsxSorted as to, _jsxSplit as no, _res as b, _setEvent, _walkJSX as ee, _handleSSRError, _createQRL as Aa, isSignal as Iu } from "@qwik.dev/core/internal";
|
|
963
978
|
|
|
964
979
|
// packages/qwik/src/server/ooos-utils.ts
|
|
965
|
-
import { _SubscriptionPatch as
|
|
980
|
+
import { _SubscriptionPatch as sc } from "@qwik.dev/core/internal";
|
|
966
981
|
|
|
967
982
|
var recordExternalRootEffect = (t, e, r, n, s, i, o, a) => {
|
|
968
983
|
if (!n || o !== null && !a) {
|
|
@@ -972,11 +987,11 @@ var recordExternalRootEffect = (t, e, r, n, s, i, o, a) => {
|
|
|
972
987
|
if (o !== null && s && (typeof s === "object" || typeof s === "function")) {
|
|
973
988
|
l = r.get(s) || s;
|
|
974
989
|
}
|
|
975
|
-
const c = t.
|
|
976
|
-
e.
|
|
977
|
-
e.
|
|
990
|
+
const c = t.Ne(l);
|
|
991
|
+
e.Pt(l);
|
|
992
|
+
e.Pt(i);
|
|
978
993
|
if (o !== null && typeof o !== "string") {
|
|
979
|
-
e.
|
|
994
|
+
e.Pt(o);
|
|
980
995
|
}
|
|
981
996
|
n.push({
|
|
982
997
|
rootObj: l,
|
|
@@ -994,13 +1009,13 @@ var collectSubscriptionPatches = (t, e, r) => {
|
|
|
994
1009
|
const s = /* @__PURE__ */ new Map;
|
|
995
1010
|
for (let i = 0; i < e.length; i++) {
|
|
996
1011
|
const o = e[i];
|
|
997
|
-
const a = o.rootId === void 0 ? t.
|
|
1012
|
+
const a = o.rootId === void 0 ? t.Ne(o.rootObj) : o.rootId;
|
|
998
1013
|
if (a === void 0 || a >= r) {
|
|
999
1014
|
continue;
|
|
1000
1015
|
}
|
|
1001
1016
|
let l = s.get(a);
|
|
1002
1017
|
if (!l) {
|
|
1003
|
-
l = new
|
|
1018
|
+
l = new sc(a, o.prop === null ? /* @__PURE__ */ new Set : /* @__PURE__ */ new Map);
|
|
1004
1019
|
s.set(a, l);
|
|
1005
1020
|
n.push(l);
|
|
1006
1021
|
}
|
|
@@ -1024,7 +1039,7 @@ var collectSubscriptionPatches = (t, e, r) => {
|
|
|
1024
1039
|
};
|
|
1025
1040
|
|
|
1026
1041
|
// packages/qwik/src/server/preload-impl.ts
|
|
1027
|
-
import { getPlatform as
|
|
1042
|
+
import { getPlatform as li } from "@qwik.dev/core";
|
|
1028
1043
|
|
|
1029
1044
|
var simplifyPath = (t, e) => {
|
|
1030
1045
|
if (e == null) {
|
|
@@ -1043,13 +1058,9 @@ var simplifyPath = (t, e) => {
|
|
|
1043
1058
|
return n.join("/");
|
|
1044
1059
|
};
|
|
1045
1060
|
|
|
1046
|
-
var getBase = t =>
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
e = import.meta.env?.BASE_URL;
|
|
1050
|
-
}
|
|
1051
|
-
return e;
|
|
1052
|
-
};
|
|
1061
|
+
var getBase = t => t.Ve;
|
|
1062
|
+
|
|
1063
|
+
var afterPagePaint = t => `window.addEventListener('load',f=>{f=_=>${t};requestAnimationFrame(_=>requestAnimationFrame(_=>{typeof requestIdleCallback==='function'?requestIdleCallback(f,{timeout:1000}):requestAnimationFrame(_=>setTimeout(f))}))})`;
|
|
1053
1064
|
|
|
1054
1065
|
var preloaderPre = (t, e, r) => {
|
|
1055
1066
|
const {resolvedManifest: n} = t;
|
|
@@ -1085,16 +1096,16 @@ var preloaderPre = (t, e, r) => {
|
|
|
1085
1096
|
crossorigin: "anonymous"
|
|
1086
1097
|
}, null, null, null);
|
|
1087
1098
|
t.closeElement();
|
|
1088
|
-
const u = `let b=fetch("${o}");import("${i}").then(({l})=>l(${JSON.stringify(s)},b${l}))
|
|
1089
|
-
const
|
|
1099
|
+
const u = afterPagePaint(`{let b=fetch("${o}");import("${i}").then(({l})=>l(${JSON.stringify(s)},b${l}))}`);
|
|
1100
|
+
const d = {
|
|
1090
1101
|
type: "module",
|
|
1091
1102
|
async: true,
|
|
1092
1103
|
crossorigin: "anonymous"
|
|
1093
1104
|
};
|
|
1094
1105
|
if (r) {
|
|
1095
|
-
|
|
1106
|
+
d["nonce"] = r;
|
|
1096
1107
|
}
|
|
1097
|
-
t.writeScript(
|
|
1108
|
+
t.writeScript(d, u);
|
|
1098
1109
|
}
|
|
1099
1110
|
const a = simplifyPath(s, n?.manifest.core);
|
|
1100
1111
|
if (a) {
|
|
@@ -1140,11 +1151,11 @@ var includePreloader = (t, e, r, n) => {
|
|
|
1140
1151
|
* preloader which does feature detection and which will be available soon after inserting these
|
|
1141
1152
|
* links.
|
|
1142
1153
|
*/ `${JSON.stringify(a)}.map((l,e)=>{e=document.createElement('link');e.rel='modulepreload';e.href=${JSON.stringify(o)}+l;document.head.appendChild(e)});` : "";
|
|
1143
|
-
let
|
|
1154
|
+
let d = u;
|
|
1144
1155
|
if (c) {
|
|
1145
|
-
|
|
1156
|
+
d += afterPagePaint(`import("${c}").then(({p})=>p(${JSON.stringify(r)}))`);
|
|
1146
1157
|
}
|
|
1147
|
-
if (
|
|
1158
|
+
if (d) {
|
|
1148
1159
|
const e = {
|
|
1149
1160
|
type: "module",
|
|
1150
1161
|
async: "true",
|
|
@@ -1153,7 +1164,7 @@ var includePreloader = (t, e, r, n) => {
|
|
|
1153
1164
|
if (n) {
|
|
1154
1165
|
e["nonce"] = n;
|
|
1155
1166
|
}
|
|
1156
|
-
t.writeScript(e,
|
|
1167
|
+
t.writeScript(e, d);
|
|
1157
1168
|
}
|
|
1158
1169
|
return null;
|
|
1159
1170
|
};
|
|
@@ -1163,7 +1174,7 @@ var preloaderPost = (t, e, r) => {
|
|
|
1163
1174
|
return;
|
|
1164
1175
|
}
|
|
1165
1176
|
if (e.preloader !== false) {
|
|
1166
|
-
const n = Array.from(t.serializationCtx.
|
|
1177
|
+
const n = Array.from(t.serializationCtx.Ut);
|
|
1167
1178
|
const s = getBundles(n);
|
|
1168
1179
|
includePreloader(t, e.preloader, s, r);
|
|
1169
1180
|
}
|
|
@@ -1177,10 +1188,10 @@ function normalizePreLoaderOptions(t) {
|
|
|
1177
1188
|
}
|
|
1178
1189
|
|
|
1179
1190
|
var getBundles = t => {
|
|
1180
|
-
const e =
|
|
1191
|
+
const e = li();
|
|
1181
1192
|
const r = t?.map(t => {
|
|
1182
|
-
const r = t.
|
|
1183
|
-
const n = t.
|
|
1193
|
+
const r = t.Et;
|
|
1194
|
+
const n = t.St;
|
|
1184
1195
|
const s = e.chunkForSymbol(r, n, t.dev?.file);
|
|
1185
1196
|
if (s) {
|
|
1186
1197
|
return s[1];
|
|
@@ -1191,14 +1202,14 @@ var getBundles = t => {
|
|
|
1191
1202
|
};
|
|
1192
1203
|
|
|
1193
1204
|
var preLoaderOptionsDefault = {
|
|
1194
|
-
ssrPreloads:
|
|
1205
|
+
ssrPreloads: 0,
|
|
1195
1206
|
maxIdlePreloads: 25
|
|
1196
1207
|
};
|
|
1197
1208
|
|
|
1198
1209
|
// packages/qwik/src/server/scripts.ts
|
|
1199
|
-
var QWIK_LOADER_DEFAULT_MINIFIED = 'var e,t,n,r=document,o=window,s="w",i="wp",a="d",c="dp",l="e",p="ep",
|
|
1210
|
+
var QWIK_LOADER_DEFAULT_MINIFIED = 'var e,t,n,r=document,o=window,s="w",i="wp",a="d",c="dp",l="e",p="ep",q="capture:",d="readystatechange",u=0,h=new Set,f=new Set([r]),b=new Map,g={},m=(e,t)=>Array.from(e.querySelectorAll(t)),y=e=>{const t=[];return f.forEach(n=>t.push(...m(n,e))),t},v=(e,t,n,r=!1,o=!1)=>e.addEventListener(t,n,{capture:r,passive:o}),w=e=>{K(e);const t=m(e,"[q\\\\:shadowroot]");for(let e=0;e<t.length;e++){const n=t[e].shadowRoot;n&&w(n)}},A=e=>e&&"function"==typeof e.then,E=async e=>{for(let t=0;t<e.length;t++)await e[t]()},S=e=>"q"===e.charAt(0),C=(e,t)=>{if(e.length){const r=()=>E(e);S(t)?r():n=n?n.then(r,r):r()}},_=e=>{if(void 0===e._qwikjson_){let t=(e===r.documentElement?r.body:e).lastElementChild;for(;t;){if("SCRIPT"===t.tagName&&"qwik/json"===t.getAttribute("type")){e._qwikjson_=JSON.parse(t.textContent.replace(/\\\\x3C(\\/?script)/gi,"<$1"));break}t=t.previousElementSibling}}},k=e=>{g[e]=1,N(d)},$=e=>{const t=e.getAttribute("q:instance");return"paused"===e.getAttribute("q:container")&&"loading"===r.readyState&&!g[t]&&new Promise(e=>{v(r,d,()=>{("loading"!==r.readyState||g[t])&&e()})})},I=(e,t)=>new CustomEvent(e,{detail:t}),N=(e,t)=>{r.dispatchEvent(I(e,t))},R=e=>e.replace(/([A-Z-])/g,e=>"-"+e.toLowerCase()),T=e=>e.replace(/-./g,e=>e[1].toUpperCase()),x=e=>{const t=e.indexOf(":");return{scope:e.slice(0,t),eventName:T(e.slice(t+1))}},B=e=>2===e.length,L=e=>e.charAt(0),U=e=>!!e&&1===e.nodeType,j=(e,t,n)=>e.hasAttribute(n)&&(!!e._qDispatch?.[t]||e.hasAttribute("q-"+t)),D=(e,t,n,o,s,i,a,c=!0)=>{const l={qBase:n,symbol:i,element:t,reqTime:a};if(!s){const t=(r["qFuncs_"+e.getAttribute("q:instance")]||[])[+i];if(!t&&c){const e=Error("sym:"+i);N("qerror",{importError:"sync",error:e,...l}),console.error(e)}return t}const p=`${i}|${n}|${s}`,q=b.get(p);if(q)return q;const d=new URL(s,o).href,u=import(d);return _(e),u.then(e=>{const t=e[i];if(t)b.set(p,t),N("qsymbol",l);else{const e=Error(`${i} not in ${d}`);N("qerror",{importError:"no-symbol",error:e,...l}),console.error(e)}return t},e=>{N("qerror",{importError:"async",error:e,...l}),console.error(e)})},O=(e,t,n,o,s,i=!0)=>{let a=!1;s&&(i&&e.hasAttribute("preventdefault:"+s)&&t.preventDefault(),e.hasAttribute("stoppropagation:"+s)&&t.stopPropagation());const c=e._qDispatch?.[n];if(c){if("function"==typeof c){const n=()=>c(t,e);if(a)o.push(async()=>{const e=n();A(e)&&await e});else{const e=n();A(e)&&(a=!0,o.push(()=>e))}}else if(c.length)for(let n=0;n<c.length;n++){const r=c[n];if(r){const n=()=>r(t,e);if(a)o.push(async()=>{const e=n();A(e)&&await e});else{const e=n();A(e)&&(a=!0,o.push(()=>e))}}}return}const l=e.getAttribute("q-"+n);if(l){const n=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),s=n.getAttribute("q:base"),i=new URL(s,r.baseURI),c=l.split("|"),p=$(n);for(let r=0;r<c.length;r++){const l=c[r],q=performance.now(),[d,u,h]=l.split("#"),f=n=>{if(n&&e.isConnected){const r=t=>{N("qerror",{error:t,qBase:s,symbol:u,element:e,reqTime:q})};try{const o=n.call(h,t,e);if(A(o))return o.catch(r)}catch(e){return r(e)}}},b=(t=!0)=>D(n,e,s,i,d,u,q,t),g=p?void 0:b();if(p)a=!0,o.push(async()=>{await p,await f(d?await b():await b(!1)||await b())});else if(A(g))a=!0,o.push(()=>g.then(f));else if(a)a=!0,o.push(async()=>{await f(g||await b())});else{const e=f(g);A(e)&&(a=!0,o.push(()=>e))}}}},P=(e,t=l,n=!0)=>{const r=R(e.type),o=t+":"+r,s=q+r,i=[],a=[],c=[];let p=e.target;for(;p;)U(p)?(i.push(p),a.push(j(p,o,s)),p=p.parentElement):p=p.parentElement;for(let t=i.length-1;t>=0;t--)if(a[t]&&(O(i[t],e,o,c,r,n),e.cancelBubble))return void C(c,e.type);for(let t=0;t<i.length;t++)if(!a[t]&&(O(i[t],e,o,c,r,n),!e.bubbles||e.cancelBubble))return void C(c,e.type);C(c,e.type)},F=e=>P(e,p,!1),J=(e,t,n=!0)=>{const r=R(t.type),o=e+":"+r,s=y("[q-"+CSS.escape(o)+"]"),i=[];for(let e=0;e<s.length;e++){const a=s[e];O(a,t,o,i,r,n)}C(i,t.type)},M=e=>{J(a,e)},Z=e=>{J(c,e,!1)},z=e=>{J(s,e)},G=e=>{J(i,e,!1)},H=()=>{const n=r.readyState;if("interactive"==n||"complete"==n){if(t=1,f.forEach(w),h.has("d:qinit")){h.delete("d:qinit");const e=I("qinit"),t=y("[q-d\\\\:qinit]"),n=[];for(let r=0;r<t.length;r++){const o=t[r];O(o,e,"d:qinit",n),o.removeAttribute("q-d:qinit")}C(n,"qinit")}if(h.has("d:qidle")&&(h.delete("d:qidle"),(o.requestIdleCallback??o.setTimeout).bind(o)(()=>{const e=I("qidle"),t=y("[q-d\\\\:qidle]"),n=[];for(let r=0;r<t.length;r++){const o=t[r];O(o,e,"d:qidle",n),o.removeAttribute("q-d:qidle")}C(n,"qidle")})),h.has("e:qvisible")){e||(e=new IntersectionObserver(t=>{const n=[];for(let r=0;r<t.length;r++){const o=t[r];o.isIntersecting&&(e.unobserve(o.target),O(o.target,I("qvisible",o),"e:qvisible",n))}C(n,"qvisible")}));const t=y("[q-e\\\\:qvisible]:not([q\\\\:observed])");for(let n=0;n<t.length;n++){const r=t[n];e.observe(r),r.setAttribute("q:observed","true")}}}},K=(...e)=>{for(let n=0;n<e.length;n++){const r=e[n];if(r===u)k(e[++n]);else if("string"==typeof r){if(!h.has(r)){h.add(r);const{scope:e,eventName:t}=x(r),n=B(e),i=L(e);i===s?v(o,t,n?G:z,!0,n):f.forEach(e=>v(e,t,i===a?n?Z:M:n?F:P,!0,n))}1!==t||"e:qvisible"!==r&&"d:qinit"!==r&&"d:qidle"!==r||H()}else f.has(r)||(h.forEach(e=>{const{scope:t,eventName:n}=x(e),o=B(t),i=L(t);i!==s&&v(r,n,i===a?o?Z:M:o?F:P,!0,o)}),f.add(r))}},Q=o._qwikEv;Q?.roots||(Array.isArray(Q)?K(...Q):K("e:click","e:input"),o._qwikEv={events:h,roots:f,push:K},v(r,d,H),H())';
|
|
1200
1211
|
|
|
1201
|
-
var QWIK_LOADER_DEFAULT_DEBUG = '//#region packages/qwik/src/qwikloader.ts\nvar doc = document;\nvar win = window;\nvar windowPrefix = "w";\nvar passiveWindowPrefix = "wp";\nvar documentPrefix = "d";\nvar passiveDocumentPrefix = "dp";\nvar elementPrefix = "e";\nvar passiveElementPrefix = "ep";\nvar capturePrefix = "capture:";\nvar readyStateChange = "readystatechange";\nvar QwikEvContainerReady = 0;\nvar events = /* @__PURE__ */ new Set();\nvar roots = /* @__PURE__ */ new Set([doc]);\nvar symbols = /* @__PURE__ */ new Map();\nvar readyContainers = {};\nvar observer;\nvar hasInitialized;\nvar queuedTasks;\nvar nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nvar querySelectorAll = (query) => {\n\tconst elements = [];\n\troots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n\treturn elements;\n};\nvar addEventListener = (el, eventName, handler, capture = false, passive = false) => el.addEventListener(eventName, handler, {\n\tcapture,\n\tpassive\n});\nvar findShadowRoots = (fragment) => {\n\taddEventOrRoot(fragment);\n\tconst shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n\tfor (let i = 0; i < shadowRoots.length; i++) {\n\t\tconst shadowRoot = shadowRoots[i].shadowRoot;\n\t\tshadowRoot && findShadowRoots(shadowRoot);\n\t}\n};\nvar isPromise = (promise) => promise && typeof promise.then === "function";\nvar runTasks = async (tasks) => {\n\tfor (let i = 0; i < tasks.length; i++) await tasks[i]();\n};\nvar queueTasks = (tasks) => {\n\tif (tasks.length) {\n\t\tconst run = () => runTasks(tasks);\n\t\tqueuedTasks = queuedTasks ? queuedTasks.then(run, run) : run();\n\t}\n};\nvar resolveContainer = (containerEl) => {\n\tif (containerEl._qwikjson_ === void 0) {\n\t\tlet script = (containerEl === doc.documentElement ? doc.body : containerEl).lastElementChild;\n\t\twhile (script) {\n\t\t\tif (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n\t\t\t\tcontainerEl._qwikjson_ = JSON.parse(script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1"));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tscript = script.previousElementSibling;\n\t\t}\n\t}\n};\nvar markContainerReady = (hash) => {\n\treadyContainers[hash] = 1;\n\temitEvent(readyStateChange);\n};\nvar waitForContainerReady = (container) => {\n\tconst hash = container.getAttribute("q:instance");\n\treturn container.getAttribute("q:container") === "paused" && doc.readyState === "loading" && !readyContainers[hash] && new Promise((resolve) => {\n\t\tconst ready = () => {\n\t\t\tif (doc.readyState !== "loading" || readyContainers[hash]) resolve();\n\t\t};\n\t\taddEventListener(doc, readyStateChange, ready);\n\t});\n};\nvar createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nvar emitEvent = (eventName, detail) => {\n\tdoc.dispatchEvent(createEvent(eventName, detail));\n};\nvar camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nvar kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nvar parseKebabEvent = (event) => {\n\tconst separatorIndex = event.indexOf(":");\n\treturn {\n\t\tscope: event.slice(0, separatorIndex),\n\t\teventName: kebabToCamel(event.slice(separatorIndex + 1))\n\t};\n};\nvar isPassiveScope = (scope) => scope.length === 2;\nvar getRootScope = (scope) => scope.charAt(0);\nvar isElementNode = (node) => !!node && node.nodeType === 1;\nvar isCaptureHandlerElement = (element, scopedKebabName, captureAttribute) => element.hasAttribute(captureAttribute) && (!!element._qDispatch?.[scopedKebabName] || element.hasAttribute("q-" + scopedKebabName));\nvar resolveHandler = (container, element, qBase, base, chunk, symbol, reqTime, reportSyncError = true) => {\n\tconst eventData = {\n\t\tqBase,\n\t\tsymbol,\n\t\telement,\n\t\treqTime\n\t};\n\tif (!chunk) {\n\t\tconst handler = (doc["qFuncs_" + container.getAttribute("q:instance")] || [])[+symbol];\n\t\tif (!handler && reportSyncError) {\n\t\t\tconst error = /* @__PURE__ */ new Error("sym:" + symbol);\n\t\t\temitEvent("qerror", {\n\t\t\t\timportError: "sync",\n\t\t\t\terror,\n\t\t\t\t...eventData\n\t\t\t});\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn handler;\n\t}\n\tconst key = `${symbol}|${qBase}|${chunk}`;\n\tconst handler = symbols.get(key);\n\tif (handler) return handler;\n\tconst href = new URL(chunk, base).href;\n\tconst module = import(\n\t\t\t\thref\n);\n\tresolveContainer(container);\n\treturn module.then((module) => {\n\t\tconst handler = module[symbol];\n\t\tif (!handler) {\n\t\t\tconst error = /* @__PURE__ */ new Error(`${symbol} not in ${href}`);\n\t\t\temitEvent("qerror", {\n\t\t\t\timportError: "no-symbol",\n\t\t\t\terror,\n\t\t\t\t...eventData\n\t\t\t});\n\t\t\tconsole.error(error);\n\t\t} else {\n\t\t\tsymbols.set(key, handler);\n\t\t\temitEvent("qsymbol", eventData);\n\t\t}\n\t\treturn handler;\n\t}, (error) => {\n\t\temitEvent("qerror", {\n\t\t\timportError: "async",\n\t\t\terror,\n\t\t\t...eventData\n\t\t});\n\t\tconsole.error(error);\n\t});\n};\n/**\n* Dispatch an event by invoking QRL handlers. If there are multiple handlers, they are awaited in\n* order.\n*/\nvar dispatch = (element, ev, scopedKebabName, tasks, kebabName, allowPreventDefault = true) => {\n\tlet defer = false;\n\tif (kebabName) {\n\t\tif (allowPreventDefault && element.hasAttribute("preventdefault:" + kebabName)) ev.preventDefault();\n\t\tif (element.hasAttribute("stoppropagation:" + kebabName)) ev.stopPropagation();\n\t}\n\tconst handlers = element._qDispatch?.[scopedKebabName];\n\tif (handlers) {\n\t\tif (typeof handlers === "function") {\n\t\t\tconst run = () => handlers(ev, element);\n\t\t\tif (defer) tasks.push(async () => {\n\t\t\t\tconst result = run();\n\t\t\t\tif (isPromise(result)) await result;\n\t\t\t});\n\t\t\telse {\n\t\t\t\tconst result = run();\n\t\t\t\tif (isPromise(result)) {\n\t\t\t\t\tdefer = true;\n\t\t\t\t\ttasks.push(() => result);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (handlers.length) for (let i = 0; i < handlers.length; i++) {\n\t\t\tconst handler = handlers[i];\n\t\t\tif (handler) {\n\t\t\t\tconst run = () => handler(ev, element);\n\t\t\t\tif (defer) tasks.push(async () => {\n\t\t\t\t\tconst result = run();\n\t\t\t\t\tif (isPromise(result)) await result;\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tconst result = run();\n\t\t\t\t\tif (isPromise(result)) {\n\t\t\t\t\t\tdefer = true;\n\t\t\t\t\t\ttasks.push(() => result);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\tconst attrValue = element.getAttribute("q-" + scopedKebabName);\n\tif (attrValue) {\n\t\tconst container = element.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n\t\tconst qBase = container.getAttribute("q:base");\n\t\tconst base = new URL(qBase, doc.baseURI);\n\t\tconst qrls = attrValue.split("|");\n\t\tconst waitForReady = waitForContainerReady(container);\n\t\tfor (let i = 0; i < qrls.length; i++) {\n\t\t\tconst qrl = qrls[i];\n\t\t\tconst reqTime = performance.now();\n\t\t\tconst [chunk, symbol, capturedIds] = qrl.split("#");\n\t\t\tconst run = (handler) => {\n\t\t\t\tif (handler && element.isConnected) {\n\t\t\t\t\tconst onError = (error) => {\n\t\t\t\t\t\temitEvent("qerror", {\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\tqBase,\n\t\t\t\t\t\t\tsymbol,\n\t\t\t\t\t\t\telement,\n\t\t\t\t\t\t\treqTime\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = handler.call(capturedIds, ev, element);\n\t\t\t\t\t\tif (isPromise(result)) return result.catch(onError);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn onError(error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst resolve = (reportSyncError = true) => resolveHandler(container, element, qBase, base, chunk, symbol, reqTime, reportSyncError);\n\t\t\tconst handler = waitForReady ? void 0 : resolve();\n\t\t\tif (waitForReady) {\n\t\t\t\tdefer = true;\n\t\t\t\ttasks.push(async () => {\n\t\t\t\t\tawait waitForReady;\n\t\t\t\t\tawait run(chunk ? await resolve() : await resolve(false) || await resolve());\n\t\t\t\t});\n\t\t\t} else if (isPromise(handler)) {\n\t\t\t\tdefer = true;\n\t\t\t\ttasks.push(() => handler.then(run));\n\t\t\t} else if (defer) {\n\t\t\t\tdefer = true;\n\t\t\t\ttasks.push(async () => {\n\t\t\t\t\tawait run(handler || await resolve());\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst result = run(handler);\n\t\t\t\tif (isPromise(result)) {\n\t\t\t\t\tdefer = true;\n\t\t\t\t\ttasks.push(() => result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n/**\n* Event handler responsible for processing element events.\n*\n* If browser emits an event, the `eventProcessor` walks the DOM tree looking for corresponding\n* `(${event.type})`. If found the event\'s URL is parsed and `import()`ed.\n*\n* @param ev - Browser event.\n*/\nvar processElementEvent = (ev, scope = elementPrefix, allowPreventDefault = true) => {\n\tconst kebabName = camelToKebab(ev.type);\n\tconst scopedKebabName = scope + ":" + kebabName;\n\tconst captureAttribute = capturePrefix + kebabName;\n\tconst elements = [];\n\tconst captureHandlers = [];\n\tconst tasks = [];\n\tlet current = ev.target;\n\twhile (current) if (isElementNode(current)) {\n\t\telements.push(current);\n\t\tcaptureHandlers.push(isCaptureHandlerElement(current, scopedKebabName, captureAttribute));\n\t\tcurrent = current.parentElement;\n\t} else current = current.parentElement;\n\tfor (let i = elements.length - 1; i >= 0; i--) if (captureHandlers[i]) {\n\t\tdispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n\t\tif (ev.cancelBubble) {\n\t\t\tqueueTasks(tasks);\n\t\t\treturn;\n\t\t}\n\t}\n\tfor (let i = 0; i < elements.length; i++) if (!captureHandlers[i]) {\n\t\tdispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n\t\tif (!ev.bubbles || ev.cancelBubble) {\n\t\t\tqueueTasks(tasks);\n\t\t\treturn;\n\t\t}\n\t}\n\tqueueTasks(tasks);\n};\nvar processPassiveElementEvent = (ev) => processElementEvent(ev, passiveElementPrefix, false);\nvar broadcast = (scope, ev, allowPreventDefault = true) => {\n\tconst kebabName = camelToKebab(ev.type);\n\tconst scopedKebabName = scope + ":" + kebabName;\n\tconst elements = querySelectorAll("[q-" + CSS.escape(scopedKebabName) + "]");\n\tconst tasks = [];\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst el = elements[i];\n\t\tdispatch(el, ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n\t}\n\tqueueTasks(tasks);\n};\n/**\n* Event handler responsible for processing browser events.\n*\n* If browser emits an event, the `eventProcessor` walks the DOM tree looking for corresponding\n* `(${event.type})`. If found the event\'s URL is parsed and `import()`ed.\n*\n* @param ev - Browser event.\n*/\nvar processDocumentEvent = (ev) => {\n\tbroadcast(documentPrefix, ev);\n};\nvar processPassiveDocumentEvent = (ev) => {\n\tbroadcast(passiveDocumentPrefix, ev, false);\n};\nvar processWindowEvent = (ev) => {\n\tbroadcast(windowPrefix, ev);\n};\nvar processPassiveWindowEvent = (ev) => {\n\tbroadcast(passiveWindowPrefix, ev, false);\n};\n/**\n* Called when the document is ready and whenever a container is added, so make this idempotent. For\n* qidle and qinit we remove the attributes immediately, and for qvisible we add an attribute\n*/\nvar processReadyStateChange = () => {\n\tconst readyState = doc.readyState;\n\tif (readyState == "interactive" || readyState == "complete") {\n\t\thasInitialized = 1;\n\t\troots.forEach(findShadowRoots);\n\t\tif (events.has("d:qinit")) {\n\t\t\tevents.delete("d:qinit");\n\t\t\tconst ev = createEvent("qinit");\n\t\t\tconst elements = querySelectorAll("[q-d\\\\:qinit]");\n\t\t\tconst tasks = [];\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst el = elements[i];\n\t\t\t\tdispatch(el, ev, "d:qinit", tasks);\n\t\t\t\tel.removeAttribute("q-d:qinit");\n\t\t\t}\n\t\t\tqueueTasks(tasks);\n\t\t}\n\t\tif (events.has("d:qidle")) {\n\t\t\tevents.delete("d:qidle");\n\t\t\t(win.requestIdleCallback ?? win.setTimeout).bind(win)(() => {\n\t\t\t\tconst ev = createEvent("qidle");\n\t\t\t\tconst elements = querySelectorAll("[q-d\\\\:qidle]");\n\t\t\t\tconst tasks = [];\n\t\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\t\tconst el = elements[i];\n\t\t\t\t\tdispatch(el, ev, "d:qidle", tasks);\n\t\t\t\t\tel.removeAttribute("q-d:qidle");\n\t\t\t\t}\n\t\t\t\tqueueTasks(tasks);\n\t\t\t});\n\t\t}\n\t\tif (events.has("e:qvisible")) {\n\t\t\tobserver || (observer = new IntersectionObserver((entries) => {\n\t\t\t\tconst tasks = [];\n\t\t\t\tfor (let i = 0; i < entries.length; i++) {\n\t\t\t\t\tconst entry = entries[i];\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tobserver.unobserve(entry.target);\n\t\t\t\t\t\tdispatch(entry.target, createEvent("qvisible", entry), "e:qvisible", tasks);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tqueueTasks(tasks);\n\t\t\t}));\n\t\t\tconst elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst el = elements[i];\n\t\t\t\tobserver.observe(el);\n\t\t\t\tel.setAttribute("q:observed", "true");\n\t\t\t}\n\t\t}\n\t}\n};\nvar addEventOrRoot = (...eventNames) => {\n\tfor (let i = 0; i < eventNames.length; i++) {\n\t\tconst eventNameOrRoot = eventNames[i];\n\t\tif (eventNameOrRoot === QwikEvContainerReady) markContainerReady(eventNames[++i]);\n\t\telse if (typeof eventNameOrRoot === "string") {\n\t\t\tif (!events.has(eventNameOrRoot)) {\n\t\t\t\tevents.add(eventNameOrRoot);\n\t\t\t\tconst { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n\t\t\t\tconst passive = isPassiveScope(scope);\n\t\t\t\tconst rootScope = getRootScope(scope);\n\t\t\t\tif (rootScope === windowPrefix) addEventListener(win, eventName, passive ? processPassiveWindowEvent : processWindowEvent, true, passive);\n\t\t\t\telse roots.forEach((root) => addEventListener(root, eventName, rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent, true, passive));\n\t\t\t\tif (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) processReadyStateChange();\n\t\t\t}\n\t\t} else if (!roots.has(eventNameOrRoot)) {\n\t\t\tevents.forEach((kebabEventName) => {\n\t\t\t\tconst { scope, eventName } = parseKebabEvent(kebabEventName);\n\t\t\t\tconst passive = isPassiveScope(scope);\n\t\t\t\tconst rootScope = getRootScope(scope);\n\t\t\t\tif (rootScope !== windowPrefix) addEventListener(eventNameOrRoot, eventName, rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent, true, passive);\n\t\t\t});\n\t\t\troots.add(eventNameOrRoot);\n\t\t}\n\t}\n};\nvar _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n\tif (Array.isArray(_qwikEv)) addEventOrRoot(..._qwikEv);\n\telse addEventOrRoot("e:click", "e:input");\n\twin._qwikEv = {\n\t\tevents,\n\t\troots,\n\t\tpush: addEventOrRoot\n\t};\n\taddEventListener(doc, readyStateChange, processReadyStateChange);\n\tprocessReadyStateChange();\n}\n//#endregion';
|
|
1212
|
+
var QWIK_LOADER_DEFAULT_DEBUG = '//#region packages/qwik/src/qwikloader.ts\nvar doc = document;\nvar win = window;\nvar windowPrefix = "w";\nvar passiveWindowPrefix = "wp";\nvar documentPrefix = "d";\nvar passiveDocumentPrefix = "dp";\nvar elementPrefix = "e";\nvar passiveElementPrefix = "ep";\nvar capturePrefix = "capture:";\nvar readyStateChange = "readystatechange";\nvar QwikEvContainerReady = 0;\nvar events = /* @__PURE__ */ new Set();\nvar roots = /* @__PURE__ */ new Set([doc]);\nvar symbols = /* @__PURE__ */ new Map();\nvar readyContainers = {};\nvar observer;\nvar hasInitialized;\nvar queuedTasks;\nvar nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nvar querySelectorAll = (query) => {\n\tconst elements = [];\n\troots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n\treturn elements;\n};\nvar addEventListener = (el, eventName, handler, capture = false, passive = false) => el.addEventListener(eventName, handler, {\n\tcapture,\n\tpassive\n});\nvar findShadowRoots = (fragment) => {\n\taddEventOrRoot(fragment);\n\tconst shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n\tfor (let i = 0; i < shadowRoots.length; i++) {\n\t\tconst shadowRoot = shadowRoots[i].shadowRoot;\n\t\tshadowRoot && findShadowRoots(shadowRoot);\n\t}\n};\nvar isPromise = (promise) => promise && typeof promise.then === "function";\nvar runTasks = async (tasks) => {\n\tfor (let i = 0; i < tasks.length; i++) await tasks[i]();\n};\nvar isQwikLifecycleEvent = (eventName) => eventName.charAt(0) === "q";\nvar queueTasks = (tasks, eventName) => {\n\tif (tasks.length) {\n\t\tconst run = () => runTasks(tasks);\n\t\tif (isQwikLifecycleEvent(eventName)) run();\n\t\telse queuedTasks = queuedTasks ? queuedTasks.then(run, run) : run();\n\t}\n};\nvar resolveContainer = (containerEl) => {\n\tif (containerEl._qwikjson_ === void 0) {\n\t\tlet script = (containerEl === doc.documentElement ? doc.body : containerEl).lastElementChild;\n\t\twhile (script) {\n\t\t\tif (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n\t\t\t\tcontainerEl._qwikjson_ = JSON.parse(script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1"));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tscript = script.previousElementSibling;\n\t\t}\n\t}\n};\nvar markContainerReady = (hash) => {\n\treadyContainers[hash] = 1;\n\temitEvent(readyStateChange);\n};\nvar waitForContainerReady = (container) => {\n\tconst hash = container.getAttribute("q:instance");\n\treturn container.getAttribute("q:container") === "paused" && doc.readyState === "loading" && !readyContainers[hash] && new Promise((resolve) => {\n\t\tconst ready = () => {\n\t\t\tif (doc.readyState !== "loading" || readyContainers[hash]) resolve();\n\t\t};\n\t\taddEventListener(doc, readyStateChange, ready);\n\t});\n};\nvar createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nvar emitEvent = (eventName, detail) => {\n\tdoc.dispatchEvent(createEvent(eventName, detail));\n};\nvar camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nvar kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nvar parseKebabEvent = (event) => {\n\tconst separatorIndex = event.indexOf(":");\n\treturn {\n\t\tscope: event.slice(0, separatorIndex),\n\t\teventName: kebabToCamel(event.slice(separatorIndex + 1))\n\t};\n};\nvar isPassiveScope = (scope) => scope.length === 2;\nvar getRootScope = (scope) => scope.charAt(0);\nvar isElementNode = (node) => !!node && node.nodeType === 1;\nvar isCaptureHandlerElement = (element, scopedKebabName, captureAttribute) => element.hasAttribute(captureAttribute) && (!!element._qDispatch?.[scopedKebabName] || element.hasAttribute("q-" + scopedKebabName));\nvar resolveHandler = (container, element, qBase, base, chunk, symbol, reqTime, reportSyncError = true) => {\n\tconst eventData = {\n\t\tqBase,\n\t\tsymbol,\n\t\telement,\n\t\treqTime\n\t};\n\tif (!chunk) {\n\t\tconst handler = (doc["qFuncs_" + container.getAttribute("q:instance")] || [])[+symbol];\n\t\tif (!handler && reportSyncError) {\n\t\t\tconst error = /* @__PURE__ */ new Error("sym:" + symbol);\n\t\t\temitEvent("qerror", {\n\t\t\t\timportError: "sync",\n\t\t\t\terror,\n\t\t\t\t...eventData\n\t\t\t});\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn handler;\n\t}\n\tconst key = `${symbol}|${qBase}|${chunk}`;\n\tconst handler = symbols.get(key);\n\tif (handler) return handler;\n\tconst href = new URL(chunk, base).href;\n\tconst module = import(\n\t\t\t\thref\n);\n\tresolveContainer(container);\n\treturn module.then((module) => {\n\t\tconst handler = module[symbol];\n\t\tif (!handler) {\n\t\t\tconst error = /* @__PURE__ */ new Error(`${symbol} not in ${href}`);\n\t\t\temitEvent("qerror", {\n\t\t\t\timportError: "no-symbol",\n\t\t\t\terror,\n\t\t\t\t...eventData\n\t\t\t});\n\t\t\tconsole.error(error);\n\t\t} else {\n\t\t\tsymbols.set(key, handler);\n\t\t\temitEvent("qsymbol", eventData);\n\t\t}\n\t\treturn handler;\n\t}, (error) => {\n\t\temitEvent("qerror", {\n\t\t\timportError: "async",\n\t\t\terror,\n\t\t\t...eventData\n\t\t});\n\t\tconsole.error(error);\n\t});\n};\n/**\n* Dispatch an event by invoking QRL handlers. If there are multiple handlers, they are awaited in\n* order.\n*/\nvar dispatch = (element, ev, scopedKebabName, tasks, kebabName, allowPreventDefault = true) => {\n\tlet defer = false;\n\tif (kebabName) {\n\t\tif (allowPreventDefault && element.hasAttribute("preventdefault:" + kebabName)) ev.preventDefault();\n\t\tif (element.hasAttribute("stoppropagation:" + kebabName)) ev.stopPropagation();\n\t}\n\tconst handlers = element._qDispatch?.[scopedKebabName];\n\tif (handlers) {\n\t\tif (typeof handlers === "function") {\n\t\t\tconst run = () => handlers(ev, element);\n\t\t\tif (defer) tasks.push(async () => {\n\t\t\t\tconst result = run();\n\t\t\t\tif (isPromise(result)) await result;\n\t\t\t});\n\t\t\telse {\n\t\t\t\tconst result = run();\n\t\t\t\tif (isPromise(result)) {\n\t\t\t\t\tdefer = true;\n\t\t\t\t\ttasks.push(() => result);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (handlers.length) for (let i = 0; i < handlers.length; i++) {\n\t\t\tconst handler = handlers[i];\n\t\t\tif (handler) {\n\t\t\t\tconst run = () => handler(ev, element);\n\t\t\t\tif (defer) tasks.push(async () => {\n\t\t\t\t\tconst result = run();\n\t\t\t\t\tif (isPromise(result)) await result;\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tconst result = run();\n\t\t\t\t\tif (isPromise(result)) {\n\t\t\t\t\t\tdefer = true;\n\t\t\t\t\t\ttasks.push(() => result);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\tconst attrValue = element.getAttribute("q-" + scopedKebabName);\n\tif (attrValue) {\n\t\tconst container = element.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n\t\tconst qBase = container.getAttribute("q:base");\n\t\tconst base = new URL(qBase, doc.baseURI);\n\t\tconst qrls = attrValue.split("|");\n\t\tconst waitForReady = waitForContainerReady(container);\n\t\tfor (let i = 0; i < qrls.length; i++) {\n\t\t\tconst qrl = qrls[i];\n\t\t\tconst reqTime = performance.now();\n\t\t\tconst [chunk, symbol, capturedIds] = qrl.split("#");\n\t\t\tconst run = (handler) => {\n\t\t\t\tif (handler && element.isConnected) {\n\t\t\t\t\tconst onError = (error) => {\n\t\t\t\t\t\temitEvent("qerror", {\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\tqBase,\n\t\t\t\t\t\t\tsymbol,\n\t\t\t\t\t\t\telement,\n\t\t\t\t\t\t\treqTime\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = handler.call(capturedIds, ev, element);\n\t\t\t\t\t\tif (isPromise(result)) return result.catch(onError);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn onError(error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst resolve = (reportSyncError = true) => resolveHandler(container, element, qBase, base, chunk, symbol, reqTime, reportSyncError);\n\t\t\tconst handler = waitForReady ? void 0 : resolve();\n\t\t\tif (waitForReady) {\n\t\t\t\tdefer = true;\n\t\t\t\ttasks.push(async () => {\n\t\t\t\t\tawait waitForReady;\n\t\t\t\t\tawait run(chunk ? await resolve() : await resolve(false) || await resolve());\n\t\t\t\t});\n\t\t\t} else if (isPromise(handler)) {\n\t\t\t\tdefer = true;\n\t\t\t\ttasks.push(() => handler.then(run));\n\t\t\t} else if (defer) {\n\t\t\t\tdefer = true;\n\t\t\t\ttasks.push(async () => {\n\t\t\t\t\tawait run(handler || await resolve());\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst result = run(handler);\n\t\t\t\tif (isPromise(result)) {\n\t\t\t\t\tdefer = true;\n\t\t\t\t\ttasks.push(() => result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n/**\n* Event handler responsible for processing element events.\n*\n* If browser emits an event, the `eventProcessor` walks the DOM tree looking for corresponding\n* `(${event.type})`. If found the event\'s URL is parsed and `import()`ed.\n*\n* @param ev - Browser event.\n*/\nvar processElementEvent = (ev, scope = elementPrefix, allowPreventDefault = true) => {\n\tconst kebabName = camelToKebab(ev.type);\n\tconst scopedKebabName = scope + ":" + kebabName;\n\tconst captureAttribute = capturePrefix + kebabName;\n\tconst elements = [];\n\tconst captureHandlers = [];\n\tconst tasks = [];\n\tlet current = ev.target;\n\twhile (current) if (isElementNode(current)) {\n\t\telements.push(current);\n\t\tcaptureHandlers.push(isCaptureHandlerElement(current, scopedKebabName, captureAttribute));\n\t\tcurrent = current.parentElement;\n\t} else current = current.parentElement;\n\tfor (let i = elements.length - 1; i >= 0; i--) if (captureHandlers[i]) {\n\t\tdispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n\t\tif (ev.cancelBubble) {\n\t\t\tqueueTasks(tasks, ev.type);\n\t\t\treturn;\n\t\t}\n\t}\n\tfor (let i = 0; i < elements.length; i++) if (!captureHandlers[i]) {\n\t\tdispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n\t\tif (!ev.bubbles || ev.cancelBubble) {\n\t\t\tqueueTasks(tasks, ev.type);\n\t\t\treturn;\n\t\t}\n\t}\n\tqueueTasks(tasks, ev.type);\n};\nvar processPassiveElementEvent = (ev) => processElementEvent(ev, passiveElementPrefix, false);\nvar broadcast = (scope, ev, allowPreventDefault = true) => {\n\tconst kebabName = camelToKebab(ev.type);\n\tconst scopedKebabName = scope + ":" + kebabName;\n\tconst elements = querySelectorAll("[q-" + CSS.escape(scopedKebabName) + "]");\n\tconst tasks = [];\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst el = elements[i];\n\t\tdispatch(el, ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n\t}\n\tqueueTasks(tasks, ev.type);\n};\n/**\n* Event handler responsible for processing browser events.\n*\n* If browser emits an event, the `eventProcessor` walks the DOM tree looking for corresponding\n* `(${event.type})`. If found the event\'s URL is parsed and `import()`ed.\n*\n* @param ev - Browser event.\n*/\nvar processDocumentEvent = (ev) => {\n\tbroadcast(documentPrefix, ev);\n};\nvar processPassiveDocumentEvent = (ev) => {\n\tbroadcast(passiveDocumentPrefix, ev, false);\n};\nvar processWindowEvent = (ev) => {\n\tbroadcast(windowPrefix, ev);\n};\nvar processPassiveWindowEvent = (ev) => {\n\tbroadcast(passiveWindowPrefix, ev, false);\n};\n/**\n* Called when the document is ready and whenever a container is added, so make this idempotent. For\n* qidle and qinit we remove the attributes immediately, and for qvisible we add an attribute\n*/\nvar processReadyStateChange = () => {\n\tconst readyState = doc.readyState;\n\tif (readyState == "interactive" || readyState == "complete") {\n\t\thasInitialized = 1;\n\t\troots.forEach(findShadowRoots);\n\t\tif (events.has("d:qinit")) {\n\t\t\tevents.delete("d:qinit");\n\t\t\tconst ev = createEvent("qinit");\n\t\t\tconst elements = querySelectorAll("[q-d\\\\:qinit]");\n\t\t\tconst tasks = [];\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst el = elements[i];\n\t\t\t\tdispatch(el, ev, "d:qinit", tasks);\n\t\t\t\tel.removeAttribute("q-d:qinit");\n\t\t\t}\n\t\t\tqueueTasks(tasks, "qinit");\n\t\t}\n\t\tif (events.has("d:qidle")) {\n\t\t\tevents.delete("d:qidle");\n\t\t\t(win.requestIdleCallback ?? win.setTimeout).bind(win)(() => {\n\t\t\t\tconst ev = createEvent("qidle");\n\t\t\t\tconst elements = querySelectorAll("[q-d\\\\:qidle]");\n\t\t\t\tconst tasks = [];\n\t\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\t\tconst el = elements[i];\n\t\t\t\t\tdispatch(el, ev, "d:qidle", tasks);\n\t\t\t\t\tel.removeAttribute("q-d:qidle");\n\t\t\t\t}\n\t\t\t\tqueueTasks(tasks, "qidle");\n\t\t\t});\n\t\t}\n\t\tif (events.has("e:qvisible")) {\n\t\t\tobserver || (observer = new IntersectionObserver((entries) => {\n\t\t\t\tconst tasks = [];\n\t\t\t\tfor (let i = 0; i < entries.length; i++) {\n\t\t\t\t\tconst entry = entries[i];\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tobserver.unobserve(entry.target);\n\t\t\t\t\t\tdispatch(entry.target, createEvent("qvisible", entry), "e:qvisible", tasks);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tqueueTasks(tasks, "qvisible");\n\t\t\t}));\n\t\t\tconst elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst el = elements[i];\n\t\t\t\tobserver.observe(el);\n\t\t\t\tel.setAttribute("q:observed", "true");\n\t\t\t}\n\t\t}\n\t}\n};\nvar addEventOrRoot = (...eventNames) => {\n\tfor (let i = 0; i < eventNames.length; i++) {\n\t\tconst eventNameOrRoot = eventNames[i];\n\t\tif (eventNameOrRoot === QwikEvContainerReady) markContainerReady(eventNames[++i]);\n\t\telse if (typeof eventNameOrRoot === "string") {\n\t\t\tif (!events.has(eventNameOrRoot)) {\n\t\t\t\tevents.add(eventNameOrRoot);\n\t\t\t\tconst { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n\t\t\t\tconst passive = isPassiveScope(scope);\n\t\t\t\tconst rootScope = getRootScope(scope);\n\t\t\t\tif (rootScope === windowPrefix) addEventListener(win, eventName, passive ? processPassiveWindowEvent : processWindowEvent, true, passive);\n\t\t\t\telse roots.forEach((root) => addEventListener(root, eventName, rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent, true, passive));\n\t\t\t}\n\t\t\tif (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) processReadyStateChange();\n\t\t} else if (!roots.has(eventNameOrRoot)) {\n\t\t\tevents.forEach((kebabEventName) => {\n\t\t\t\tconst { scope, eventName } = parseKebabEvent(kebabEventName);\n\t\t\t\tconst passive = isPassiveScope(scope);\n\t\t\t\tconst rootScope = getRootScope(scope);\n\t\t\t\tif (rootScope !== windowPrefix) addEventListener(eventNameOrRoot, eventName, rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent, true, passive);\n\t\t\t});\n\t\t\troots.add(eventNameOrRoot);\n\t\t}\n\t}\n};\nvar _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n\tif (Array.isArray(_qwikEv)) addEventOrRoot(..._qwikEv);\n\telse addEventOrRoot("e:click", "e:input");\n\twin._qwikEv = {\n\t\tevents,\n\t\troots,\n\t\tpush: addEventOrRoot\n\t};\n\taddEventListener(doc, readyStateChange, processReadyStateChange);\n\tprocessReadyStateChange();\n}\n//#endregion';
|
|
1202
1213
|
|
|
1203
1214
|
var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `var t='script[type="qwik/backpatch"]';function e(e,n){const o=n||e.querySelector("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");if(o){const n=o.querySelectorAll(t),r=n[n.length-1];if(r){const t=JSON.parse(r.textContent||"[]"),n=e.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);let c=n.currentNode,i=c.hasAttribute(":")?0:-1;for(let e=0;e<t.length;e+=3){const o=t[e],r=t[e+1];let l=t[e+2];for(;i<o&&(c=n.nextNode(),c);)c.hasAttribute(":")&&i++;const a=c;null==l||!1===l?a.removeAttribute(r):("boolean"==typeof l&&(l=""),a.setAttribute(r,l))}}}}var n=document.currentScript;if(n){const t=n.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");t&&e(document,t)}`;
|
|
1204
1215
|
|
|
@@ -1206,11 +1217,11 @@ var QWIK_BACKPATCH_EXECUTOR_DEBUG = '//#region packages/qwik/src/backpatch-execu
|
|
|
1206
1217
|
|
|
1207
1218
|
var QWIK_OUT_OF_ORDER_EXECUTOR_MINIFIED = `var t='template[q\\\\:r="',e="q:r",r='[q\\\\:rp="',n="q:g",l="q:i",o="q:o",i="[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])",u=u=>{const s=new WeakMap,c=()=>{const t=u.currentScript;return t&&t.closest(i)||u},f=(t,e,r,n)=>{let l=s.get(t);return l||s.set(t,l={}),l[e]||(l[e]={r:{},n:0,t:r,o:n})},a=(t,e)=>t?(e&&e.style&&(e.style.display="none"),t.style&&(t.style.display="contents"),1):0,q=t=>{const e=t.o;let r,n,l=0;if("p"===e)for(const e in t.r)r=t.r[e],r[0]&&a(r[0],r[1])&&(r[0]=0,l++);else if("s"===e)for(n=t.n;(r=t.r[n])&&r[0]&&a(r[0],r[1]);n++)r[0]=0,l++,t.n=n+1;else if("r"===e){if(t.t<0)return 0;for(t.n<0&&(t.n=t.t-1),n=t.n;(r=t.r[n])&&r[0]&&a(r[0],r[1]);n--)r[0]=0,l++,t.n=n-1}else{if(t.t<0)return 0;for(n=0;n<t.t;n++)if(r=t.r[n],!r)return 0;for(n=0;n<t.t;n++)r=t.r[n],r[0]&&a(r[0],r[1])&&(r[0]=0,l++)}return l},p=i=>{const s=c(),p=((r,n)=>{const l=u.currentScript,o=l?l.previousElementSibling:null;if(o&&"template"===o.localName&&o.getAttribute(e)===n+"")return o;const i=r.querySelectorAll(t+n+'"]');return i.length?i[i.length-1]:null})(s,i);if(!p)return;const g=((e,n,l)=>{if(!l)return null;const o=((t,e)=>t.querySelector(r+e+'"]'))(e,n),i=o?((e,r)=>e.querySelector(t+r+'"]'))(o,n):null,u=i?i.parentNode:null;return i&&o&&u?(u.insertBefore(l.content,i),i.remove(),l.remove(),[o,o.previousElementSibling]):null})(s,i,p);if(!g)return;((t,e)=>{var r;const n=u;null===(r=n.qProcessOOOS)||void 0===r||r.call(n,t,e)})(i,g[0]||null);const m=p.getAttribute(n);if(m){const t=+(p.getAttribute(l)||0),e=f(s,m,-1,p.getAttribute(o)||"p");return e.r[t]=g,void q(e)}a(g[0]||null,g[1])};p.g=(t,e,r)=>{const n=f(c(),t,e,r);n.t=e,n.o=r,"r"===n.o&&0===n.n&&(n.n=e-1),q(n)},p.d=u,globalThis.qO=p};u(document)`;
|
|
1208
1219
|
|
|
1209
|
-
var QWIK_OUT_OF_ORDER_EXECUTOR_DEBUG = '//#region packages/qwik/src/out-of-order-executor-shared.ts\n/** Shared out-of-order
|
|
1220
|
+
var QWIK_OUT_OF_ORDER_EXECUTOR_DEBUG = '//#region packages/qwik/src/out-of-order-executor-shared.ts\n/** Shared out-of-order streaming executor logic for the inline script and source tests. */\nvar Q_RESOLVED_SELECTOR = "template[q\\\\:r=\\"";\nvar Q_RESOLVED_ATTR = "q:r";\nvar Q_RESULT_PARENT_SELECTOR = "[q\\\\:rp=\\"";\nvar Q_GROUP_ATTR = "q:g";\nvar Q_INDEX_ATTR = "q:i";\nvar Q_ORDER_ATTR = "q:o";\nvar Q_CONTAINER_SELECTOR = "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])";\nvar installOutOfOrderExecutor = (doc) => {\n\tconst groups = /* @__PURE__ */ new WeakMap();\n\tconst process = (boundaryId, revealNode) => {\n\t\tvar _executorDoc$qProcess;\n\t\tconst executorDoc = doc;\n\t\t(_executorDoc$qProcess = executorDoc.qProcessOOOS) === null || _executorDoc$qProcess === void 0 || _executorDoc$qProcess.call(executorDoc, boundaryId, revealNode);\n\t};\n\tconst getScope = () => {\n\t\tconst script = doc.currentScript;\n\t\treturn script ? script.closest(Q_CONTAINER_SELECTOR) || doc : doc;\n\t};\n\tconst group = (scope, groupId, total, order) => {\n\t\tlet scopedGroups = groups.get(scope);\n\t\tif (!scopedGroups) groups.set(scope, scopedGroups = {});\n\t\treturn scopedGroups[groupId] || (scopedGroups[groupId] = {\n\t\t\tr: {},\n\t\t\tn: 0,\n\t\t\tt: total,\n\t\t\to: order\n\t\t});\n\t};\n\tconst getResolvedTemplate = (scope, boundaryId) => {\n\t\tconst currentScript = doc.currentScript;\n\t\tconst previousElement = currentScript ? currentScript.previousElementSibling : null;\n\t\tif (previousElement && previousElement.localName === "template" && previousElement.getAttribute(Q_RESOLVED_ATTR) === String(boundaryId)) return previousElement;\n\t\tconst templates = scope.querySelectorAll(Q_RESOLVED_SELECTOR + boundaryId + "\\"]");\n\t\treturn templates.length ? templates[templates.length - 1] : null;\n\t};\n\tconst getPlaceholderTemplate = (revealHost, boundaryId) => {\n\t\treturn revealHost.querySelector(Q_RESOLVED_SELECTOR + boundaryId + "\\"]");\n\t};\n\tconst getResultParent = (scope, boundaryId) => {\n\t\treturn scope.querySelector(Q_RESULT_PARENT_SELECTOR + boundaryId + "\\"]");\n\t};\n\tconst reveal = (revealHost, hideHost) => {\n\t\tif (!revealHost) return 0;\n\t\tif (hideHost && hideHost.style) hideHost.style.display = "none";\n\t\tif (revealHost.style) revealHost.style.display = "contents";\n\t\treturn 1;\n\t};\n\tconst move = (scope, boundaryId, resolved) => {\n\t\tif (!resolved) return null;\n\t\tconst revealHost = getResultParent(scope, boundaryId);\n\t\tconst placeholder = revealHost ? getPlaceholderTemplate(revealHost, boundaryId) : null;\n\t\tconst parent = placeholder ? placeholder.parentNode : null;\n\t\tif (!placeholder || !revealHost || !parent) return null;\n\t\tparent.insertBefore(resolved.content, placeholder);\n\t\tplaceholder.remove();\n\t\tresolved.remove();\n\t\treturn [revealHost, revealHost.previousElementSibling];\n\t};\n\tconst flush = (group) => {\n\t\tconst order = group.o;\n\t\tlet entry;\n\t\tlet index;\n\t\tlet swapped = 0;\n\t\tif (order === "p") for (const key in group.r) {\n\t\t\tentry = group.r[key];\n\t\t\tif (entry[0] && reveal(entry[0], entry[1])) {\n\t\t\t\tentry[0] = 0;\n\t\t\t\tswapped++;\n\t\t\t}\n\t\t}\n\t\telse if (order === "s") for (index = group.n; (entry = group.r[index]) && entry[0]; index++) {\n\t\t\tif (!reveal(entry[0], entry[1])) break;\n\t\t\tentry[0] = 0;\n\t\t\tswapped++;\n\t\t\tgroup.n = index + 1;\n\t\t}\n\t\telse if (order === "r") {\n\t\t\tif (group.t < 0) return 0;\n\t\t\tif (group.n < 0) group.n = group.t - 1;\n\t\t\tfor (index = group.n; (entry = group.r[index]) && entry[0]; index--) {\n\t\t\t\tif (!reveal(entry[0], entry[1])) break;\n\t\t\t\tentry[0] = 0;\n\t\t\t\tswapped++;\n\t\t\t\tgroup.n = index - 1;\n\t\t\t}\n\t\t} else {\n\t\t\tif (group.t < 0) return 0;\n\t\t\tfor (index = 0; index < group.t; index++) {\n\t\t\t\tentry = group.r[index];\n\t\t\t\tif (!entry) return 0;\n\t\t\t}\n\t\t\tfor (index = 0; index < group.t; index++) {\n\t\t\t\tentry = group.r[index];\n\t\t\t\tif (entry[0] && reveal(entry[0], entry[1])) {\n\t\t\t\t\tentry[0] = 0;\n\t\t\t\t\tswapped++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn swapped;\n\t};\n\tconst qO = ((boundaryId) => {\n\t\tconst scope = getScope();\n\t\tconst resolved = getResolvedTemplate(scope, boundaryId);\n\t\tif (!resolved) return;\n\t\tconst entry = move(scope, boundaryId, resolved);\n\t\tif (!entry) return;\n\t\tprocess(boundaryId, entry[0] || null);\n\t\tconst groupId = resolved.getAttribute(Q_GROUP_ATTR);\n\t\tif (groupId) {\n\t\t\tconst index = +(resolved.getAttribute(Q_INDEX_ATTR) || 0);\n\t\t\tconst currentGroup = group(scope, groupId, -1, resolved.getAttribute(Q_ORDER_ATTR) || "p");\n\t\t\tcurrentGroup.r[index] = entry;\n\t\t\tflush(currentGroup);\n\t\t\treturn;\n\t\t}\n\t\treveal(entry[0] || null, entry[1]);\n\t});\n\tqO.g = (groupId, total, order) => {\n\t\tconst currentGroup = group(getScope(), groupId, total, order);\n\t\tcurrentGroup.t = total;\n\t\tcurrentGroup.o = order;\n\t\tif (currentGroup.o === "r" && currentGroup.n === 0) currentGroup.n = total - 1;\n\t\tflush(currentGroup);\n\t};\n\tqO.d = doc;\n\tglobalThis.qO = qO;\n};\n//#endregion\n//#region packages/qwik/src/out-of-order-executor.ts\n/**\n* Qwik Out-of-Order Streaming Executor\n*\n* This is the inline script entry. The actual logic lives in out-of-order-executor-shared.ts so\n* source tests can install the same executor.\n*/\ninstallOutOfOrderExecutor(document);\n//#endregion';
|
|
1210
1221
|
|
|
1211
|
-
var QWIK_ERROR_SWAP_EXECUTOR_MINIFIED = `var t='[q\\\\:
|
|
1222
|
+
var QWIK_ERROR_SWAP_EXECUTOR_MINIFIED = `var t='[q\\\\:cc="',e='[q\\\\:cf="',n="[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])",o=t=>{const e=t.querySelectorAll("*");for(let t=0;t<e.length;t++){const n=e[t].attributes;for(let o=n.length-1;o>=0;o--){const l=n[o].name;0!==l.indexOf("q-d:")&&0!==l.indexOf("q-w:")||e[t].removeAttribute(l)}}},l=l=>{const r=r=>{var c;const s=(null===(c=l.currentScript)||void 0===c?void 0:c.closest(n))||l,i=s.querySelector(t+r+'"]'),q=s.querySelector(e+r+'"]');i&&i.style&&(i.style.display="none",o(i)),q&&q.style&&(q.style.display="contents")};r.d=l,globalThis.qErr=r};l(document)`;
|
|
1212
1223
|
|
|
1213
|
-
var QWIK_ERROR_SWAP_EXECUTOR_DEBUG = '//#region packages/qwik/src/error-swap-executor-shared.ts\nvar Q_ERROR_CONTENT_SELECTOR = "[q\\\\:
|
|
1224
|
+
var QWIK_ERROR_SWAP_EXECUTOR_DEBUG = '//#region packages/qwik/src/error-swap-executor-shared.ts\nvar Q_ERROR_CONTENT_SELECTOR = "[q\\\\:cc=\\"";\nvar Q_ERROR_FALLBACK_SELECTOR = "[q\\\\:cf=\\"";\nvar Q_CONTAINER_SELECTOR = "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])";\n/**\n* Qwikloader broadcasts document/window events to every matching element in the document, and\n* `display:none` still counts as connected, so a torn-down subtree keeps handling them.\n*/\nvar stripBroadcastHandlers = (content) => {\n\tconst nodes = content.querySelectorAll("*");\n\tfor (let i = 0; i < nodes.length; i++) {\n\t\tconst attrs = nodes[i].attributes;\n\t\tfor (let j = attrs.length - 1; j >= 0; j--) {\n\t\t\tconst name = attrs[j].name;\n\t\t\tif (name.indexOf("q-d:") === 0 || name.indexOf("q-w:") === 0) nodes[i].removeAttribute(name);\n\t\t}\n\t}\n};\nvar installErrorSwapExecutor = (doc) => {\n\tconst qErr = ((boundaryId) => {\n\t\tvar _doc$currentScript;\n\t\tconst scope = ((_doc$currentScript = doc.currentScript) === null || _doc$currentScript === void 0 ? void 0 : _doc$currentScript.closest(Q_CONTAINER_SELECTOR)) || doc;\n\t\tconst content = scope.querySelector(Q_ERROR_CONTENT_SELECTOR + boundaryId + "\\"]");\n\t\tconst fallback = scope.querySelector(Q_ERROR_FALLBACK_SELECTOR + boundaryId + "\\"]");\n\t\tif (content && content.style) {\n\t\t\tcontent.style.display = "none";\n\t\t\tstripBroadcastHandlers(content);\n\t\t}\n\t\tif (fallback && fallback.style) fallback.style.display = "contents";\n\t});\n\tqErr.d = doc;\n\tglobalThis.qErr = qErr;\n};\n//#endregion\n//#region packages/qwik/src/error-swap-executor.ts\ninstallErrorSwapExecutor(document);\n//#endregion';
|
|
1214
1225
|
|
|
1215
1226
|
function getQwikLoaderScript(t = {}) {
|
|
1216
1227
|
return t.debug ? QWIK_LOADER_DEFAULT_DEBUG : QWIK_LOADER_DEFAULT_MINIFIED;
|
|
@@ -1229,7 +1240,7 @@ function getQwikBackpatchExecutorScript(t = {}) {
|
|
|
1229
1240
|
}
|
|
1230
1241
|
|
|
1231
1242
|
function getQwikOutOfOrderExecutorScript(t = {}) {
|
|
1232
|
-
if (!__EXPERIMENTAL__.
|
|
1243
|
+
if (!__EXPERIMENTAL__.pendingBoundary) {
|
|
1233
1244
|
return "";
|
|
1234
1245
|
}
|
|
1235
1246
|
const e = t.debug ? QWIK_OUT_OF_ORDER_EXECUTOR_DEBUG : QWIK_OUT_OF_ORDER_EXECUTOR_MINIFIED;
|
|
@@ -1242,7 +1253,7 @@ function getQwikErrorSwapExecutorScript(t = {}) {
|
|
|
1242
1253
|
}
|
|
1243
1254
|
|
|
1244
1255
|
// packages/qwik/src/server/ssr-node.ts
|
|
1245
|
-
import { _isJSXNode as
|
|
1256
|
+
import { _isJSXNode as Vs, _EMPTY_OBJ, _EFFECT_BACK_REF as bi, _hasSlotProps } from "@qwik.dev/core/internal";
|
|
1246
1257
|
|
|
1247
1258
|
import { isDev as isDev7 } from "@qwik.dev/core/build";
|
|
1248
1259
|
|
|
@@ -1279,19 +1290,19 @@ var SsrNode = class {
|
|
|
1279
1290
|
attrs;
|
|
1280
1291
|
/** Local props which don't serialize; */
|
|
1281
1292
|
localProps=null;
|
|
1282
|
-
get [
|
|
1283
|
-
return this.getProp(
|
|
1293
|
+
get [bi]() {
|
|
1294
|
+
return this.getProp(kr);
|
|
1284
1295
|
}
|
|
1285
1296
|
setProp(t, e) {
|
|
1286
1297
|
if (this.attrs === _EMPTY_OBJ) {
|
|
1287
1298
|
this.setEmptyArrayAsVNodeDataAttributes();
|
|
1288
1299
|
}
|
|
1289
|
-
if (t.startsWith(
|
|
1300
|
+
if (t.startsWith(Hr)) {
|
|
1290
1301
|
(this.localProps ||= {})[t] = e;
|
|
1291
1302
|
} else {
|
|
1292
1303
|
this.attrs[t] = e;
|
|
1293
1304
|
}
|
|
1294
|
-
if (t ==
|
|
1305
|
+
if (t == Vr && e) {
|
|
1295
1306
|
this.cleanupQueue.push(e);
|
|
1296
1307
|
}
|
|
1297
1308
|
}
|
|
@@ -1307,14 +1318,17 @@ var SsrNode = class {
|
|
|
1307
1318
|
}
|
|
1308
1319
|
}
|
|
1309
1320
|
getProp(t) {
|
|
1310
|
-
if (t.startsWith(
|
|
1321
|
+
if (t.startsWith(Hr)) {
|
|
1311
1322
|
return this.localProps ? this.localProps[t] ?? null : null;
|
|
1312
1323
|
} else {
|
|
1313
1324
|
return this.attrs[t] ?? null;
|
|
1314
1325
|
}
|
|
1315
1326
|
}
|
|
1327
|
+
hasSlotProps() {
|
|
1328
|
+
return _hasSlotProps(this.attrs);
|
|
1329
|
+
}
|
|
1316
1330
|
removeProp(t) {
|
|
1317
|
-
if (t.startsWith(
|
|
1331
|
+
if (t.startsWith(Hr)) {
|
|
1318
1332
|
if (this.localProps) {
|
|
1319
1333
|
delete this.localProps[t];
|
|
1320
1334
|
}
|
|
@@ -1357,9 +1371,9 @@ var SsrNode = class {
|
|
|
1357
1371
|
|
|
1358
1372
|
var DomRef = class {
|
|
1359
1373
|
constructor(t) {
|
|
1360
|
-
this.
|
|
1374
|
+
this.he = t;
|
|
1361
1375
|
}
|
|
1362
|
-
|
|
1376
|
+
he;
|
|
1363
1377
|
__brand__="DomRef";
|
|
1364
1378
|
};
|
|
1365
1379
|
|
|
@@ -1376,14 +1390,14 @@ var SsrComponentFrame = class {
|
|
|
1376
1390
|
distributeChildrenIntoSlots(t, e, r) {
|
|
1377
1391
|
this.projectionScopedStyle = e;
|
|
1378
1392
|
this.projectionComponentFrame = r;
|
|
1379
|
-
if (
|
|
1393
|
+
if (Vs(t)) {
|
|
1380
1394
|
const e = this.getSlotName(t);
|
|
1381
|
-
|
|
1395
|
+
ci(this.slots, e, t, 0);
|
|
1382
1396
|
} else if (Array.isArray(t) && t.length > 0) {
|
|
1383
1397
|
const e = [];
|
|
1384
1398
|
for (let r = 0; r < t.length; r++) {
|
|
1385
1399
|
const n = t[r];
|
|
1386
|
-
if (
|
|
1400
|
+
if (Vs(n)) {
|
|
1387
1401
|
const t = this.getSlotName(n);
|
|
1388
1402
|
if (t === QDefaultSlot) {
|
|
1389
1403
|
e.push(n);
|
|
@@ -1394,13 +1408,13 @@ var SsrComponentFrame = class {
|
|
|
1394
1408
|
e.push(n);
|
|
1395
1409
|
}
|
|
1396
1410
|
}
|
|
1397
|
-
e.length > 0 &&
|
|
1411
|
+
e.length > 0 && ci(this.slots, QDefaultSlot, e, 0);
|
|
1398
1412
|
} else {
|
|
1399
|
-
|
|
1413
|
+
ci(this.slots, QDefaultSlot, t, 0);
|
|
1400
1414
|
}
|
|
1401
1415
|
}
|
|
1402
1416
|
updateSlot(t, e) {
|
|
1403
|
-
let r =
|
|
1417
|
+
let r = fi(this.slots, t, 0);
|
|
1404
1418
|
if (r === null) {
|
|
1405
1419
|
r = e;
|
|
1406
1420
|
} else if (Array.isArray(r)) {
|
|
@@ -1408,16 +1422,16 @@ var SsrComponentFrame = class {
|
|
|
1408
1422
|
} else {
|
|
1409
1423
|
r = [ r, e ];
|
|
1410
1424
|
}
|
|
1411
|
-
|
|
1425
|
+
ci(this.slots, t, r, 0);
|
|
1412
1426
|
}
|
|
1413
1427
|
getSlotName(t) {
|
|
1414
|
-
if (t.props[
|
|
1415
|
-
return t.props[
|
|
1428
|
+
if (t.props[pr]) {
|
|
1429
|
+
return t.props[pr];
|
|
1416
1430
|
}
|
|
1417
1431
|
return QDefaultSlot;
|
|
1418
1432
|
}
|
|
1419
1433
|
hasSlot(t) {
|
|
1420
|
-
return
|
|
1434
|
+
return ai(this.slots, t, 0);
|
|
1421
1435
|
}
|
|
1422
1436
|
claimChildrenForSlot(t) {
|
|
1423
1437
|
return mapApp_remove(this.slots, t, 0);
|
|
@@ -1425,7 +1439,7 @@ var SsrComponentFrame = class {
|
|
|
1425
1439
|
consumeChildrenForSlot(t, e) {
|
|
1426
1440
|
const r = this.claimChildrenForSlot(e);
|
|
1427
1441
|
this.componentNode.setProp(e, t.id);
|
|
1428
|
-
t.setProp(
|
|
1442
|
+
t.setProp($r, this.componentNode.id);
|
|
1429
1443
|
return r;
|
|
1430
1444
|
}
|
|
1431
1445
|
};
|
|
@@ -1931,7 +1945,7 @@ function getBuildBase(t) {
|
|
|
1931
1945
|
}
|
|
1932
1946
|
|
|
1933
1947
|
var versions = {
|
|
1934
|
-
qwik: "2.0.0-beta.
|
|
1948
|
+
qwik: "2.0.0-beta.47-dev+919c91b",
|
|
1935
1949
|
qwikDom: "2.1.19"
|
|
1936
1950
|
};
|
|
1937
1951
|
|
|
@@ -1978,38 +1992,61 @@ function vNodeData_openElement(t) {
|
|
|
1978
1992
|
t[0] |= 4 /* ELEMENT_NODE */;
|
|
1979
1993
|
}
|
|
1980
1994
|
|
|
1995
|
+
var vnodeDataCursors = /* @__PURE__ */ new WeakMap;
|
|
1996
|
+
|
|
1981
1997
|
function vNodeData_createSsrNodeReference(t, e, r, n, s) {
|
|
1982
1998
|
e[0] |= 8 /* REFERENCE */;
|
|
1983
|
-
const i =
|
|
1984
|
-
|
|
1985
|
-
|
|
1999
|
+
const i = e.length >= 16;
|
|
2000
|
+
const o = i ? vnodeDataCursors.get(e) : void 0;
|
|
2001
|
+
const a = o && o.firstEntry === e[1] ? o : void 0;
|
|
2002
|
+
const l = a ? a.stack.slice() : [ -1 ];
|
|
2003
|
+
let c = a ? a.attributesIndex : -1;
|
|
2004
|
+
let u = false;
|
|
2005
|
+
for (let t = a ? a.index : 1; t < e.length; t++) {
|
|
2006
|
+
if (i && t === e.length - 1) {
|
|
2007
|
+
vnodeDataCursors.set(e, {
|
|
2008
|
+
index: t,
|
|
2009
|
+
stack: l.slice(),
|
|
2010
|
+
attributesIndex: c,
|
|
2011
|
+
firstEntry: e[1]
|
|
2012
|
+
});
|
|
2013
|
+
u = true;
|
|
2014
|
+
}
|
|
1986
2015
|
const r = e[t];
|
|
1987
2016
|
if (typeof r === "object" && r !== null) {
|
|
1988
|
-
|
|
2017
|
+
c = t;
|
|
1989
2018
|
t++;
|
|
1990
2019
|
if (e[t] !== WRITE_ELEMENT_ATTRS) {
|
|
1991
|
-
|
|
1992
|
-
|
|
2020
|
+
l[l.length - 1]++;
|
|
2021
|
+
l.push(-1);
|
|
1993
2022
|
}
|
|
1994
2023
|
} else if (r === CLOSE_FRAGMENT) {
|
|
1995
|
-
|
|
2024
|
+
l.pop();
|
|
1996
2025
|
} else if (r < 0) {
|
|
1997
2026
|
const t = 0 - r;
|
|
1998
|
-
|
|
2027
|
+
l[l.length - 1] += t;
|
|
1999
2028
|
} else {
|
|
2000
|
-
|
|
2029
|
+
l[l.length - 1]++;
|
|
2001
2030
|
}
|
|
2002
2031
|
}
|
|
2003
|
-
|
|
2032
|
+
if (i && !u) {
|
|
2033
|
+
vnodeDataCursors.set(e, {
|
|
2034
|
+
index: e.length,
|
|
2035
|
+
stack: l.slice(),
|
|
2036
|
+
attributesIndex: c,
|
|
2037
|
+
firstEntry: e[1]
|
|
2038
|
+
});
|
|
2039
|
+
}
|
|
2040
|
+
let d = String(r);
|
|
2004
2041
|
if (e[0] & (2 /* VIRTUAL_NODE */ | 1 /* TEXT_DATA */)) {
|
|
2005
|
-
for (let t = 0; t <
|
|
2006
|
-
const e =
|
|
2042
|
+
for (let t = 0; t < l.length; t++) {
|
|
2043
|
+
const e = l[t];
|
|
2007
2044
|
if (e >= 0) {
|
|
2008
|
-
|
|
2045
|
+
d += encodeAsAlphanumeric(e);
|
|
2009
2046
|
}
|
|
2010
2047
|
}
|
|
2011
2048
|
}
|
|
2012
|
-
return new SsrNode(t,
|
|
2049
|
+
return new SsrNode(t, d, c, n, e, s);
|
|
2013
2050
|
}
|
|
2014
2051
|
|
|
2015
2052
|
var ALPHANUMERIC = [];
|
|
@@ -2070,7 +2107,7 @@ var QTemplateProps = {
|
|
|
2070
2107
|
"aria-hidden": true
|
|
2071
2108
|
};
|
|
2072
2109
|
|
|
2073
|
-
var SSRContainer = class extends
|
|
2110
|
+
var SSRContainer = class extends Qc {
|
|
2074
2111
|
tag;
|
|
2075
2112
|
isHtml;
|
|
2076
2113
|
writer;
|
|
@@ -2081,7 +2118,7 @@ var SSRContainer = class extends Bc {
|
|
|
2081
2118
|
symbolToChunkResolver;
|
|
2082
2119
|
renderOptions;
|
|
2083
2120
|
outOfOrderStreaming;
|
|
2084
|
-
|
|
2121
|
+
A;
|
|
2085
2122
|
serializationCtx;
|
|
2086
2123
|
// Sometimes there is no app state, but framework metadata still points to a vnode id.
|
|
2087
2124
|
// For example, an OOOS segment can point outside the segment to a root vnode through
|
|
@@ -2121,13 +2158,13 @@ var SSRContainer = class extends Bc {
|
|
|
2121
2158
|
componentStack=[];
|
|
2122
2159
|
cleanupQueue=[];
|
|
2123
2160
|
emitContainerDataFrame=null;
|
|
2124
|
-
|
|
2161
|
+
ln=randomStr();
|
|
2125
2162
|
// Temporary flag to find missing roots after the state was serialized
|
|
2126
|
-
|
|
2163
|
+
m=false;
|
|
2127
2164
|
qlInclude;
|
|
2128
2165
|
promiseAttributes=null;
|
|
2129
2166
|
vnodeSegment=null;
|
|
2130
|
-
|
|
2167
|
+
v=0 /* NotReady */;
|
|
2131
2168
|
// OOOS related fields
|
|
2132
2169
|
outOfOrderId=0;
|
|
2133
2170
|
outOfOrderUsed=false;
|
|
@@ -2154,20 +2191,20 @@ var SSRContainer = class extends Bc {
|
|
|
2154
2191
|
this.writer = t.writer;
|
|
2155
2192
|
this.streamHandler = t.streamHandler;
|
|
2156
2193
|
this.timing = t.timing;
|
|
2157
|
-
this.
|
|
2194
|
+
this.Ve = t.buildBase;
|
|
2158
2195
|
this.resolvedManifest = t.resolvedManifest;
|
|
2159
2196
|
this.renderOptions = t.renderOptions;
|
|
2160
|
-
this.
|
|
2197
|
+
this.A = t.renderOptions.transformError;
|
|
2161
2198
|
const e = this.renderOptions.streaming?.outOfOrder === true;
|
|
2162
|
-
if (!__EXPERIMENTAL__.
|
|
2199
|
+
if (!__EXPERIMENTAL__.pendingBoundary) {
|
|
2163
2200
|
if (e) {
|
|
2164
|
-
throw new Error('Out-of-order
|
|
2201
|
+
throw new Error('Out-of-order streaming requires `experimental: ["pendingBoundary"]` in the `qwikVite` plugin.');
|
|
2165
2202
|
}
|
|
2166
2203
|
this.outOfOrderStreaming = false;
|
|
2167
2204
|
} else {
|
|
2168
2205
|
this.outOfOrderStreaming = e;
|
|
2169
2206
|
}
|
|
2170
|
-
this.
|
|
2207
|
+
this.ze = 1e5;
|
|
2171
2208
|
const r = this.renderOptions.qwikLoader;
|
|
2172
2209
|
this.qlInclude = r ? typeof r === "object" ? r.include === "never" ? 2 /* Done */ : 0 /* Module */ : r === "inline" ? 1 /* Inline */ : r === "never" ? 2 /* Done */ : 0 /* Module */ : 0 /* Module */;
|
|
2173
2210
|
if (this.qlInclude === 0 /* Module */) {
|
|
@@ -2176,7 +2213,7 @@ var SSRContainer = class extends Bc {
|
|
|
2176
2213
|
this.qlInclude = 1 /* Inline */;
|
|
2177
2214
|
}
|
|
2178
2215
|
}
|
|
2179
|
-
this.
|
|
2216
|
+
this._();
|
|
2180
2217
|
}
|
|
2181
2218
|
ensureProjectionResolved(t) {}
|
|
2182
2219
|
handleError(t, e, r = "render" /* Render */) {
|
|
@@ -2201,43 +2238,43 @@ var SSRContainer = class extends Bc {
|
|
|
2201
2238
|
await this.closeContainer();
|
|
2202
2239
|
}
|
|
2203
2240
|
async renderJSX(t, e) {
|
|
2204
|
-
await
|
|
2241
|
+
await ee(this, t, e);
|
|
2205
2242
|
}
|
|
2206
|
-
|
|
2207
|
-
return this.
|
|
2243
|
+
rr() {
|
|
2244
|
+
return this.v === 2 /* OOOSReady */;
|
|
2208
2245
|
}
|
|
2209
|
-
/** Queue OOOS serialization/write work that must not overlap with root state serialization. */
|
|
2210
|
-
if (!__EXPERIMENTAL__.
|
|
2246
|
+
/** Queue OOOS serialization/write work that must not overlap with root state serialization. */ F(t) {
|
|
2247
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming) {
|
|
2211
2248
|
return t();
|
|
2212
2249
|
}
|
|
2213
|
-
if (this.
|
|
2250
|
+
if (this.v === 0 /* NotReady */) {
|
|
2214
2251
|
return t();
|
|
2215
2252
|
}
|
|
2216
|
-
const e = this.
|
|
2253
|
+
const e = this.v === 1 /* DataStreamStarted */ ? this.renderQueue.then(() => this.sr()).then(t) : this.renderQueue.then(t);
|
|
2217
2254
|
this.renderQueue = e.catch(() => {});
|
|
2218
2255
|
return e;
|
|
2219
2256
|
}
|
|
2220
|
-
|
|
2221
|
-
if (!__EXPERIMENTAL__.
|
|
2257
|
+
sr() {
|
|
2258
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming || this.rr()) {
|
|
2222
2259
|
return;
|
|
2223
2260
|
}
|
|
2224
2261
|
return this.rootContainerReadyPromise ||= new Promise(t => {
|
|
2225
2262
|
this.resolveRootContainerReady = t;
|
|
2226
2263
|
});
|
|
2227
2264
|
}
|
|
2228
|
-
|
|
2229
|
-
if (!__EXPERIMENTAL__.
|
|
2265
|
+
ir() {
|
|
2266
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming || this.rr()) {
|
|
2230
2267
|
return;
|
|
2231
2268
|
}
|
|
2232
|
-
this.rootContainerSerializedRootCount = this.serializationCtx.
|
|
2233
|
-
this.
|
|
2269
|
+
this.rootContainerSerializedRootCount = this.serializationCtx.le.length;
|
|
2270
|
+
this.v = 2 /* OOOSReady */;
|
|
2234
2271
|
this.resolveRootContainerReady?.();
|
|
2235
2272
|
this.resolveRootContainerReady = null;
|
|
2236
2273
|
this.rootContainerReadyPromise = null;
|
|
2237
2274
|
}
|
|
2238
2275
|
nextOutOfOrderId(t = true) {
|
|
2239
|
-
const e = __EXPERIMENTAL__.
|
|
2240
|
-
if (!e && !__EXPERIMENTAL__.
|
|
2276
|
+
const e = __EXPERIMENTAL__.pendingBoundary && this.outOfOrderStreaming;
|
|
2277
|
+
if (!e && !__EXPERIMENTAL__.catchBoundary) {
|
|
2241
2278
|
return 0;
|
|
2242
2279
|
}
|
|
2243
2280
|
if (t && e) {
|
|
@@ -2246,17 +2283,17 @@ var SSRContainer = class extends Bc {
|
|
|
2246
2283
|
return ++this.outOfOrderId;
|
|
2247
2284
|
}
|
|
2248
2285
|
emitOutOfOrderSegmentScripts(t) {
|
|
2249
|
-
if (!__EXPERIMENTAL__.
|
|
2286
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming || !t) {
|
|
2250
2287
|
return;
|
|
2251
2288
|
}
|
|
2252
2289
|
this.write(t);
|
|
2253
2290
|
}
|
|
2254
2291
|
async segment(t, e, r) {
|
|
2255
|
-
if (!__EXPERIMENTAL__.
|
|
2256
|
-
throw new Error('Out-of-order
|
|
2292
|
+
if (!__EXPERIMENTAL__.pendingBoundary) {
|
|
2293
|
+
throw new Error('Out-of-order streaming requires `experimental: ["pendingBoundary"]` in the `qwikVite` plugin.');
|
|
2257
2294
|
}
|
|
2258
2295
|
if (!this.outOfOrderStreaming) {
|
|
2259
|
-
throw new Error("Out-of-order
|
|
2296
|
+
throw new Error("Out-of-order streaming requires `streaming.outOfOrder` to be `true`.");
|
|
2260
2297
|
}
|
|
2261
2298
|
this.outOfOrderUsed = true;
|
|
2262
2299
|
this.markVNodeRefForSerialization(r.parentComponentFrame?.componentNode);
|
|
@@ -2277,23 +2314,23 @@ var SSRContainer = class extends Bc {
|
|
|
2277
2314
|
throw t;
|
|
2278
2315
|
}
|
|
2279
2316
|
}
|
|
2280
|
-
|
|
2317
|
+
ar() {
|
|
2281
2318
|
let t = this;
|
|
2282
2319
|
while (t instanceof SSRSegmentContainer) {
|
|
2283
|
-
t = t.
|
|
2320
|
+
t = t.yn;
|
|
2284
2321
|
}
|
|
2285
2322
|
return t;
|
|
2286
2323
|
}
|
|
2287
2324
|
createSegmentContainer(t, e) {
|
|
2288
|
-
const r = this.
|
|
2325
|
+
const r = this.ar();
|
|
2289
2326
|
const n = this.getOrCreateLastNode();
|
|
2290
|
-
this.
|
|
2327
|
+
this.Dt(n);
|
|
2291
2328
|
const s = {
|
|
2292
2329
|
tagNesting: 10 /* ANYTHING */ ,
|
|
2293
2330
|
parent: null,
|
|
2294
2331
|
elementName: "#segment",
|
|
2295
2332
|
depthFirstElementIdx: -1,
|
|
2296
|
-
// OOOS inserts this synthetic root under the
|
|
2333
|
+
// OOOS inserts this synthetic root under the Pending content host on the client.
|
|
2297
2334
|
vNodeData: [ 16 /* SERIALIZE */ ],
|
|
2298
2335
|
currentFile: null,
|
|
2299
2336
|
refBase: n.id
|
|
@@ -2302,17 +2339,17 @@ var SSRContainer = class extends Bc {
|
|
|
2302
2339
|
tagName: this.tag,
|
|
2303
2340
|
writer: e,
|
|
2304
2341
|
streamHandler: noopStreamHandler,
|
|
2305
|
-
locale: this.
|
|
2342
|
+
locale: this.an,
|
|
2306
2343
|
timing: this.timing,
|
|
2307
|
-
buildBase: this.
|
|
2344
|
+
buildBase: this.Ve || "/build/",
|
|
2308
2345
|
resolvedManifest: this.resolvedManifest,
|
|
2309
2346
|
renderOptions: this.renderOptions
|
|
2310
2347
|
}, r);
|
|
2311
2348
|
const o = i;
|
|
2312
|
-
o.
|
|
2313
|
-
o.
|
|
2314
|
-
i.serializationCtx.
|
|
2315
|
-
i.serializationCtx.
|
|
2349
|
+
o.Lt = true;
|
|
2350
|
+
o.wt = this.wt;
|
|
2351
|
+
i.serializationCtx.wt = this.wt;
|
|
2352
|
+
i.serializationCtx.kt = this.serializationCtx.kt.bind(this.serializationCtx);
|
|
2316
2353
|
i.currentElementFrame = s;
|
|
2317
2354
|
i.currentComponentNode = this.currentComponentNode;
|
|
2318
2355
|
i.depthFirstElementCount = 0;
|
|
@@ -2322,12 +2359,12 @@ var SSRContainer = class extends Bc {
|
|
|
2322
2359
|
i.styleIds = this.styleIds;
|
|
2323
2360
|
i.emittedQwikEventNames = this.emittedQwikEventNames;
|
|
2324
2361
|
i.qlInclude = 2 /* Done */;
|
|
2325
|
-
i.
|
|
2362
|
+
i.ln = this.ln;
|
|
2326
2363
|
o._didAddQwikLoader = true;
|
|
2327
2364
|
return i;
|
|
2328
2365
|
}
|
|
2329
2366
|
queueOutOfOrderSegment(t) {
|
|
2330
|
-
if (!__EXPERIMENTAL__.
|
|
2367
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming) {
|
|
2331
2368
|
return;
|
|
2332
2369
|
}
|
|
2333
2370
|
this.outOfOrderPendingSegments.push(t);
|
|
@@ -2343,19 +2380,19 @@ var SSRContainer = class extends Bc {
|
|
|
2343
2380
|
}
|
|
2344
2381
|
setContext(t, e, r) {
|
|
2345
2382
|
const n = t;
|
|
2346
|
-
let s = n.getProp(
|
|
2383
|
+
let s = n.getProp(Sr);
|
|
2347
2384
|
if (s == null) {
|
|
2348
|
-
n.setProp(
|
|
2385
|
+
n.setProp(Sr, s = []);
|
|
2349
2386
|
}
|
|
2350
|
-
|
|
2387
|
+
ci(s, e.id, r, 0, true);
|
|
2351
2388
|
this.addRoot(n);
|
|
2352
2389
|
}
|
|
2353
2390
|
resolveContext(t, e) {
|
|
2354
2391
|
let r = t;
|
|
2355
2392
|
while (r) {
|
|
2356
|
-
const t = r.getProp(
|
|
2357
|
-
if (t != null &&
|
|
2358
|
-
return
|
|
2393
|
+
const t = r.getProp(Sr);
|
|
2394
|
+
if (t != null && ai(t, e.id, 0)) {
|
|
2395
|
+
return fi(t, e.id, 0);
|
|
2359
2396
|
}
|
|
2360
2397
|
r = r.parentComponent;
|
|
2361
2398
|
}
|
|
@@ -2382,21 +2419,21 @@ var SSRContainer = class extends Bc {
|
|
|
2382
2419
|
}
|
|
2383
2420
|
const t = this.renderOptions.containerAttributes || {};
|
|
2384
2421
|
const e = t[QRenderAttr];
|
|
2385
|
-
t[
|
|
2422
|
+
t[Mr] = "paused" /* PAUSED */;
|
|
2386
2423
|
t[QRuntimeAttr] = "2";
|
|
2387
|
-
t[QVersionAttr] = this.
|
|
2424
|
+
t[QVersionAttr] = this.We ?? "dev";
|
|
2388
2425
|
t[QRenderAttr] = (e ? e + "-" : "") + (isDev8 ? "ssr-dev" : "ssr");
|
|
2389
|
-
t[
|
|
2390
|
-
t[QLocaleAttr] = this.
|
|
2426
|
+
t[Pr] = this.Ve || "";
|
|
2427
|
+
t[QLocaleAttr] = this.an;
|
|
2391
2428
|
t[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
2392
|
-
t[QInstanceAttr] = this.
|
|
2429
|
+
t[QInstanceAttr] = this.ln;
|
|
2393
2430
|
const r = this.renderOptions.statePrewarm;
|
|
2394
2431
|
if (typeof r === "number") {
|
|
2395
2432
|
t[QStatePrewarmAttr] = String(r);
|
|
2396
2433
|
} else {
|
|
2397
2434
|
delete t[QStatePrewarmAttr];
|
|
2398
2435
|
}
|
|
2399
|
-
this.
|
|
2436
|
+
this.$n.containerAttributes = t;
|
|
2400
2437
|
this.openElement(this.tag, null, t);
|
|
2401
2438
|
if (!this.isHtml) {
|
|
2402
2439
|
this.emitContainerDataFrame = this.currentElementFrame;
|
|
@@ -2405,22 +2442,22 @@ var SSRContainer = class extends Bc {
|
|
|
2405
2442
|
/** Renders closing tag for current container */ closeContainer() {
|
|
2406
2443
|
return this.closeElement();
|
|
2407
2444
|
}
|
|
2408
|
-
|
|
2409
|
-
|
|
2445
|
+
Ot=0;
|
|
2446
|
+
Ct=null;
|
|
2410
2447
|
/** Renders opening tag for DOM element */
|
|
2411
2448
|
openElement(t, e, r, n = null, s = null, i = null, o = true) {
|
|
2412
2449
|
if (!VALID_ELEMENT_NAME.test(t)) {
|
|
2413
|
-
throw
|
|
2450
|
+
throw er(36 /* invalidElementName */ , [ JSON.stringify(t) ]);
|
|
2414
2451
|
}
|
|
2415
2452
|
const a = isQwikStyleElement(t, r) || isQwikStyleElement(t, n);
|
|
2416
2453
|
if (NO_SCRIPT_HERE_ELEMENTS.has(t)) {
|
|
2417
|
-
this.
|
|
2454
|
+
this.Ot++;
|
|
2418
2455
|
}
|
|
2419
2456
|
if (
|
|
2420
2457
|
// don't append qwik loader before qwik style elements
|
|
2421
2458
|
// it will confuse the resuming, because styles are expected to be the first nodes in subtree
|
|
2422
2459
|
!a && this.qlInclude === 1 /* Inline */) {
|
|
2423
|
-
if (this.
|
|
2460
|
+
if (this.Ot === 0 && this.size > 30 * 1024 && t !== "body") {
|
|
2424
2461
|
this.emitQwikLoaderInline();
|
|
2425
2462
|
}
|
|
2426
2463
|
}
|
|
@@ -2440,15 +2477,15 @@ var SSRContainer = class extends Bc {
|
|
|
2440
2477
|
if (r) {
|
|
2441
2478
|
l = this.writeAttrs(t, r, false, s, i, o);
|
|
2442
2479
|
}
|
|
2443
|
-
this.write(" " +
|
|
2480
|
+
this.write(" " + ti);
|
|
2444
2481
|
if (e !== null) {
|
|
2445
2482
|
this.write(ATTR_EQUALS_QUOTE);
|
|
2446
2483
|
this.write(escapeHTML(e));
|
|
2447
|
-
this.write(
|
|
2484
|
+
this.write(Gu);
|
|
2448
2485
|
} else if (qTest) {
|
|
2449
2486
|
this.write(EMPTY_ATTR);
|
|
2450
2487
|
}
|
|
2451
|
-
if (n && !
|
|
2488
|
+
if (n && !Ds(n)) {
|
|
2452
2489
|
l = this.writeAttrs(t, n, true, s, i, o) || l;
|
|
2453
2490
|
}
|
|
2454
2491
|
this.write(GT);
|
|
@@ -2462,7 +2499,7 @@ var SSRContainer = class extends Bc {
|
|
|
2462
2499
|
this.emitContainerDataFrame = null;
|
|
2463
2500
|
this.onRenderDone();
|
|
2464
2501
|
const t = createTimer();
|
|
2465
|
-
return
|
|
2502
|
+
return yi(yi(this.emitContainerData(), () => this._closeElement()), () => {
|
|
2466
2503
|
this.timing.snapshot = t();
|
|
2467
2504
|
});
|
|
2468
2505
|
}
|
|
@@ -2478,7 +2515,7 @@ var SSRContainer = class extends Bc {
|
|
|
2478
2515
|
for (let e = 0; e < t.length; e++) {
|
|
2479
2516
|
const r = t[e];
|
|
2480
2517
|
if (hasDestroy(r)) {
|
|
2481
|
-
r
|
|
2518
|
+
r.Xn();
|
|
2482
2519
|
}
|
|
2483
2520
|
}
|
|
2484
2521
|
t = this.cleanupQueue.pop();
|
|
@@ -2494,7 +2531,7 @@ var SSRContainer = class extends Bc {
|
|
|
2494
2531
|
}
|
|
2495
2532
|
this.lastNode = null;
|
|
2496
2533
|
if (NO_SCRIPT_HERE_ELEMENTS.has(e)) {
|
|
2497
|
-
this.
|
|
2534
|
+
this.Ot--;
|
|
2498
2535
|
}
|
|
2499
2536
|
}
|
|
2500
2537
|
/** Writes opening data to vNodeData for fragment boundaries */ openFragment(t) {
|
|
@@ -2560,7 +2597,7 @@ var SSRContainer = class extends Bc {
|
|
|
2560
2597
|
if (t.slots.length === 0) {
|
|
2561
2598
|
return;
|
|
2562
2599
|
}
|
|
2563
|
-
this.openElement(
|
|
2600
|
+
this.openElement(Nr, null, QTemplateProps, null);
|
|
2564
2601
|
const e = t.projectionScopedStyle;
|
|
2565
2602
|
for (let r = 0; r < t.slots.length; r += 2) {
|
|
2566
2603
|
const n = t.slots[r];
|
|
@@ -2569,12 +2606,12 @@ var SSRContainer = class extends Bc {
|
|
|
2569
2606
|
this.markVNodeRefForSerialization(t.componentNode);
|
|
2570
2607
|
}
|
|
2571
2608
|
this.openFragment(isDev8 ? {
|
|
2572
|
-
[
|
|
2573
|
-
[
|
|
2574
|
-
[
|
|
2609
|
+
[gi]: "P" /* Projection */ ,
|
|
2610
|
+
[$r]: t.componentNode.id,
|
|
2611
|
+
[pr]: n
|
|
2575
2612
|
} : {
|
|
2576
|
-
[
|
|
2577
|
-
[
|
|
2613
|
+
[$r]: t.componentNode.id,
|
|
2614
|
+
[pr]: n
|
|
2578
2615
|
});
|
|
2579
2616
|
const i = this.getOrCreateLastNode();
|
|
2580
2617
|
i.vnodeData[0] |= 16 /* SERIALIZE */;
|
|
@@ -2599,17 +2636,17 @@ var SSRContainer = class extends Bc {
|
|
|
2599
2636
|
this.write("\x3c!--" + t + "--\x3e");
|
|
2600
2637
|
}
|
|
2601
2638
|
addRoot(t) {
|
|
2602
|
-
if (this.
|
|
2603
|
-
const e = this.serializationCtx.
|
|
2639
|
+
if (this.m) {
|
|
2640
|
+
const e = this.serializationCtx.Ne(t);
|
|
2604
2641
|
return e;
|
|
2605
2642
|
}
|
|
2606
|
-
return this.serializationCtx.
|
|
2643
|
+
return this.serializationCtx.Pt(t);
|
|
2607
2644
|
}
|
|
2608
2645
|
getOrCreateLastNode() {
|
|
2609
2646
|
if (!this.lastNode) {
|
|
2610
2647
|
const t = this.currentElementFrame;
|
|
2611
2648
|
const e = t.depthFirstElementIdx + 1;
|
|
2612
|
-
const r = t.refBase ?? (this.vnodeSegment ?
|
|
2649
|
+
const r = t.refBase ?? (this.vnodeSegment ? Pi(this.vnodeSegment, e) : e + this.vNodeDataOffset);
|
|
2613
2650
|
this.lastNode = vNodeData_createSsrNodeReference(this.currentComponentNode, t.vNodeData, r, this.cleanupQueue, t.currentFile);
|
|
2614
2651
|
}
|
|
2615
2652
|
return this.lastNode;
|
|
@@ -2617,14 +2654,14 @@ var SSRContainer = class extends Bc {
|
|
|
2617
2654
|
addUnclaimedProjection(t, e, r) {
|
|
2618
2655
|
t.slots.push(e, r);
|
|
2619
2656
|
}
|
|
2620
|
-
|
|
2657
|
+
_() {
|
|
2621
2658
|
const t = this.resolvedManifest.manifest.injections;
|
|
2622
2659
|
if (!t) {
|
|
2623
2660
|
return;
|
|
2624
2661
|
}
|
|
2625
2662
|
for (let e = 0; e < t.length; e++) {
|
|
2626
2663
|
const r = t[e];
|
|
2627
|
-
const n =
|
|
2664
|
+
const n = no(r.tag, null, r.attributes || {}, null, 0, null);
|
|
2628
2665
|
if (r.location === "head") {
|
|
2629
2666
|
this.additionalHeadNodes.push(n);
|
|
2630
2667
|
} else {
|
|
@@ -2632,19 +2669,19 @@ var SSRContainer = class extends Bc {
|
|
|
2632
2669
|
}
|
|
2633
2670
|
}
|
|
2634
2671
|
}
|
|
2635
|
-
|
|
2672
|
+
Ze(t, e, r, n) {
|
|
2636
2673
|
if (n) {
|
|
2637
2674
|
const t = this.getComponentFrame(0);
|
|
2638
2675
|
t.scopedStyleIds.add(e);
|
|
2639
2676
|
const n = convertStyleIdsToString(t.scopedStyleIds);
|
|
2640
|
-
this.setHostProp(r,
|
|
2677
|
+
this.setHostProp(r, Er, n);
|
|
2641
2678
|
}
|
|
2642
2679
|
if (!this.styleIds.has(e)) {
|
|
2643
2680
|
this.styleIds.add(e);
|
|
2644
2681
|
if (this.currentElementFrame?.elementName === "html") {
|
|
2645
|
-
this.additionalHeadNodes.push(
|
|
2682
|
+
this.additionalHeadNodes.push(to("style", null, {
|
|
2646
2683
|
dangerouslySetInnerHTML: t,
|
|
2647
|
-
[
|
|
2684
|
+
[br]: e
|
|
2648
2685
|
}, null, 0, e));
|
|
2649
2686
|
} else {
|
|
2650
2687
|
this._styleNode(e, t);
|
|
@@ -2653,12 +2690,12 @@ var SSRContainer = class extends Bc {
|
|
|
2653
2690
|
}
|
|
2654
2691
|
_styleNode(t, e) {
|
|
2655
2692
|
this.openElement("style", null, {
|
|
2656
|
-
[
|
|
2693
|
+
[br]: t
|
|
2657
2694
|
});
|
|
2658
2695
|
this.write(e);
|
|
2659
2696
|
this.closeElement();
|
|
2660
2697
|
}
|
|
2661
|
-
|
|
2698
|
+
ht(t) {
|
|
2662
2699
|
if (this.isHtml && this.currentElementFrame?.elementName === "html") {
|
|
2663
2700
|
this.additionalHeadNodes.push(t);
|
|
2664
2701
|
return true;
|
|
@@ -2668,12 +2705,12 @@ var SSRContainer = class extends Bc {
|
|
|
2668
2705
|
////////////////////////////////////
|
|
2669
2706
|
emitContainerData() {
|
|
2670
2707
|
const t = this.renderOptions.streaming?.inOrder?.strategy === "disabled";
|
|
2671
|
-
const e = !t || __EXPERIMENTAL__.
|
|
2672
|
-
return
|
|
2673
|
-
this.
|
|
2674
|
-
return
|
|
2675
|
-
this.
|
|
2676
|
-
return
|
|
2708
|
+
const e = !t || __EXPERIMENTAL__.pendingBoundary && this.outOfOrderStreaming && this.outOfOrderUsed;
|
|
2709
|
+
return yi(yi(e ? this.streamHandler.flush() : void 0, () => this.resolvePromiseAttributes()), () => {
|
|
2710
|
+
this.v = 1 /* DataStreamStarted */;
|
|
2711
|
+
return yi(this.emitStateData(), () => {
|
|
2712
|
+
this.m = true;
|
|
2713
|
+
return yi(this.emitRestStateData(), () => this.emitOutOfOrderSegmentsAndData());
|
|
2677
2714
|
});
|
|
2678
2715
|
});
|
|
2679
2716
|
}
|
|
@@ -2681,7 +2718,7 @@ var SSRContainer = class extends Bc {
|
|
|
2681
2718
|
this.emitVNodeData();
|
|
2682
2719
|
this.emitDelayedOutOfOrderSegmentVNodeData();
|
|
2683
2720
|
if (!isDev8) {
|
|
2684
|
-
preloaderPost(this, this.renderOptions, this
|
|
2721
|
+
preloaderPost(this, this.renderOptions, this.$n?.nonce);
|
|
2685
2722
|
}
|
|
2686
2723
|
this.emitSyncFnsData();
|
|
2687
2724
|
this.emitPatchDataIfNeeded();
|
|
@@ -2689,24 +2726,24 @@ var SSRContainer = class extends Bc {
|
|
|
2689
2726
|
this.emitQwikLoaderAtBottomIfNeeded();
|
|
2690
2727
|
}
|
|
2691
2728
|
emitDelayedOutOfOrderSegmentVNodeData() {
|
|
2692
|
-
if (!__EXPERIMENTAL__.
|
|
2729
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming || !this.outOfOrderUsed) {
|
|
2693
2730
|
return;
|
|
2694
2731
|
}
|
|
2695
2732
|
for (let t = 0; t < this.outOfOrderSegments.length; t++) {
|
|
2696
2733
|
const e = this.outOfOrderSegments[t];
|
|
2697
|
-
if (e.
|
|
2698
|
-
e.
|
|
2734
|
+
if (e.lr === 1 /* EarlyFinalized */) {
|
|
2735
|
+
e.cr();
|
|
2699
2736
|
t--;
|
|
2700
2737
|
}
|
|
2701
2738
|
}
|
|
2702
2739
|
}
|
|
2703
2740
|
emitOutOfOrderSegmentsAndData() {
|
|
2704
|
-
if (!__EXPERIMENTAL__.
|
|
2741
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming || !this.outOfOrderUsed) {
|
|
2705
2742
|
return;
|
|
2706
2743
|
}
|
|
2707
2744
|
this.emitOutOfOrderExecutorIfNeeded();
|
|
2708
|
-
return
|
|
2709
|
-
this.
|
|
2745
|
+
return yi(this.streamHandler.flush(), async () => {
|
|
2746
|
+
this.ir();
|
|
2710
2747
|
if (this.outOfOrderPendingSegments.length) {
|
|
2711
2748
|
await Promise.all(this.outOfOrderPendingSegments);
|
|
2712
2749
|
}
|
|
@@ -2730,8 +2767,8 @@ var SSRContainer = class extends Bc {
|
|
|
2730
2767
|
* NOTE: Not every element will need vNodeData. So we need to encode how many elements should be
|
|
2731
2768
|
* skipped. By choosing different separators we can encode different numbers of elements to skip.
|
|
2732
2769
|
*/ emitVNodeData(t) {
|
|
2733
|
-
this.
|
|
2734
|
-
if (!t && !this.serializationCtx.
|
|
2770
|
+
this.ar().markVNodeDataOwnerEmitted(t);
|
|
2771
|
+
if (!t && !this.serializationCtx.le.length && !this.hasVNodeRefsForSerialization) {
|
|
2735
2772
|
return;
|
|
2736
2773
|
}
|
|
2737
2774
|
this.emitVNodeDataScript(t, this.vNodeDatas.entries());
|
|
@@ -2740,8 +2777,8 @@ var SSRContainer = class extends Bc {
|
|
|
2740
2777
|
const n = {
|
|
2741
2778
|
type: "qwik/vnode"
|
|
2742
2779
|
};
|
|
2743
|
-
if (__EXPERIMENTAL__.
|
|
2744
|
-
n[
|
|
2780
|
+
if (__EXPERIMENTAL__.pendingBoundary && this.outOfOrderStreaming && t) {
|
|
2781
|
+
n[vr] = t;
|
|
2745
2782
|
}
|
|
2746
2783
|
if (r) {
|
|
2747
2784
|
n[QStatePatchAttr] = true;
|
|
@@ -2775,7 +2812,7 @@ var SSRContainer = class extends Bc {
|
|
|
2775
2812
|
e--;
|
|
2776
2813
|
this.write(VNodeDataChar.CLOSE_CHAR);
|
|
2777
2814
|
} else if (i === WRITE_ELEMENT_ATTRS) {
|
|
2778
|
-
if (t && !
|
|
2815
|
+
if (t && !Ds(t)) {
|
|
2779
2816
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2780
2817
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2781
2818
|
this.writeFragmentAttrs(t);
|
|
@@ -2804,7 +2841,7 @@ var SSRContainer = class extends Bc {
|
|
|
2804
2841
|
this.emitInlineScript("document.qProcessVNodeDataPatch&&document.qProcessVNodeDataPatch(document.currentScript.previousElementSibling)");
|
|
2805
2842
|
}
|
|
2806
2843
|
}
|
|
2807
|
-
|
|
2844
|
+
Dt(t) {
|
|
2808
2845
|
if (t) {
|
|
2809
2846
|
this.addRoot(t);
|
|
2810
2847
|
this.markVNodeRefForSerialization(t);
|
|
@@ -2817,7 +2854,7 @@ var SSRContainer = class extends Bc {
|
|
|
2817
2854
|
}
|
|
2818
2855
|
}
|
|
2819
2856
|
markVNodeDataOwnerEmitted(t) {
|
|
2820
|
-
if (!__EXPERIMENTAL__.
|
|
2857
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming) {
|
|
2821
2858
|
return;
|
|
2822
2859
|
}
|
|
2823
2860
|
(this.emittedVNodeDataOwners ||= /* @__PURE__ */ new Set).add(t);
|
|
@@ -2849,31 +2886,31 @@ var SSRContainer = class extends Bc {
|
|
|
2849
2886
|
let n = r;
|
|
2850
2887
|
let s;
|
|
2851
2888
|
let i = null;
|
|
2852
|
-
if (e ===
|
|
2889
|
+
if (e === Dr && typeof r === "number") {
|
|
2853
2890
|
s = r;
|
|
2854
2891
|
n = String(r);
|
|
2855
2892
|
} else if (typeof r !== "string") {
|
|
2856
2893
|
s = this.addRoot(r);
|
|
2857
2894
|
if (s === void 0) {
|
|
2858
|
-
if (e ===
|
|
2895
|
+
if (e === fr) {
|
|
2859
2896
|
this.write(VNodeDataChar.RENDER_FN_CHAR);
|
|
2860
2897
|
this.write(VNodeDataChar.RENDER_HASH_PREFIX_CHAR);
|
|
2861
|
-
this.write(encodeVNodeDataString(encodeVNodeDataKey(r.
|
|
2898
|
+
this.write(encodeVNodeDataString(encodeVNodeDataKey(r.ut)));
|
|
2862
2899
|
}
|
|
2863
2900
|
continue;
|
|
2864
2901
|
}
|
|
2865
2902
|
n = String(s);
|
|
2866
2903
|
}
|
|
2867
2904
|
switch (e) {
|
|
2868
|
-
case
|
|
2905
|
+
case Er:
|
|
2869
2906
|
this.write(VNodeDataChar.SCOPED_STYLE_CHAR);
|
|
2870
2907
|
break;
|
|
2871
2908
|
|
|
2872
|
-
case
|
|
2909
|
+
case fr:
|
|
2873
2910
|
this.write(VNodeDataChar.RENDER_FN_CHAR);
|
|
2874
2911
|
break;
|
|
2875
2912
|
|
|
2876
|
-
case
|
|
2913
|
+
case Dr:
|
|
2877
2914
|
this.write(VNodeDataChar.ID_CHAR);
|
|
2878
2915
|
break;
|
|
2879
2916
|
|
|
@@ -2881,33 +2918,33 @@ var SSRContainer = class extends Bc {
|
|
|
2881
2918
|
this.write(VNodeDataChar.PROPS_CHAR);
|
|
2882
2919
|
break;
|
|
2883
2920
|
|
|
2884
|
-
case
|
|
2921
|
+
case Wr:
|
|
2885
2922
|
i = encodeVNodeDataKey;
|
|
2886
2923
|
this.write(VNodeDataChar.KEY_CHAR);
|
|
2887
2924
|
break;
|
|
2888
2925
|
|
|
2889
|
-
case
|
|
2926
|
+
case Vr:
|
|
2890
2927
|
this.write(VNodeDataChar.SEQ_CHAR);
|
|
2891
2928
|
break;
|
|
2892
2929
|
|
|
2893
|
-
case
|
|
2930
|
+
case Ur:
|
|
2894
2931
|
this.write(VNodeDataChar.SEQ_IDX_CHAR);
|
|
2895
2932
|
break;
|
|
2896
2933
|
|
|
2897
|
-
case
|
|
2934
|
+
case kr:
|
|
2898
2935
|
this.write(VNodeDataChar.BACK_REFS_CHAR);
|
|
2899
2936
|
break;
|
|
2900
2937
|
|
|
2901
|
-
case
|
|
2938
|
+
case $r:
|
|
2902
2939
|
this.write(VNodeDataChar.SLOT_PARENT_CHAR);
|
|
2903
2940
|
break;
|
|
2904
2941
|
|
|
2905
2942
|
// Skipping `\` character for now because it is used for escaping.
|
|
2906
|
-
case
|
|
2943
|
+
case Sr:
|
|
2907
2944
|
this.write(VNodeDataChar.CONTEXT_CHAR);
|
|
2908
2945
|
break;
|
|
2909
2946
|
|
|
2910
|
-
case
|
|
2947
|
+
case pr:
|
|
2911
2948
|
i = encodeVNodeDataKey;
|
|
2912
2949
|
this.write(VNodeDataChar.SLOT_CHAR);
|
|
2913
2950
|
break;
|
|
@@ -2934,29 +2971,29 @@ var SSRContainer = class extends Bc {
|
|
|
2934
2971
|
}
|
|
2935
2972
|
}
|
|
2936
2973
|
emitStateData() {
|
|
2937
|
-
if (!this.serializationCtx.
|
|
2974
|
+
if (!this.serializationCtx.le.length && !this.serializationCtx.Te.size) {
|
|
2938
2975
|
return;
|
|
2939
2976
|
}
|
|
2940
2977
|
const t = this.stateScriptAttrs();
|
|
2941
2978
|
this.openScript(t);
|
|
2942
|
-
this.serializationCtx.
|
|
2943
|
-
return
|
|
2979
|
+
this.serializationCtx.re(this.writer);
|
|
2980
|
+
return yi(this.serializationCtx.nn(), () => {
|
|
2944
2981
|
this.closeScript();
|
|
2945
2982
|
});
|
|
2946
2983
|
}
|
|
2947
2984
|
/** Add q-d:qidle attribute to eagerly resume some state if needed */ stateScriptAttrs() {
|
|
2948
2985
|
const t = {
|
|
2949
2986
|
type: "qwik/state",
|
|
2950
|
-
[QInstanceAttr]: this.
|
|
2987
|
+
[QInstanceAttr]: this.ln
|
|
2951
2988
|
};
|
|
2952
|
-
const e = this.serializationCtx.
|
|
2989
|
+
const e = this.serializationCtx.Te;
|
|
2953
2990
|
if (e.size > 0) {
|
|
2954
|
-
t["q-d:qidle"] =
|
|
2991
|
+
t["q-d:qidle"] = Aa(null, "_res", b, null, [ ...e ]);
|
|
2955
2992
|
}
|
|
2956
2993
|
return t;
|
|
2957
2994
|
}
|
|
2958
2995
|
emitSyncFnsData(t = false) {
|
|
2959
|
-
const e = this.serializationCtx.
|
|
2996
|
+
const e = this.serializationCtx.Re;
|
|
2960
2997
|
const r = t ? this.emittedSyncFnCount : 0;
|
|
2961
2998
|
if (e.length > r) {
|
|
2962
2999
|
const n = {
|
|
@@ -2967,17 +3004,17 @@ var SSRContainer = class extends Bc {
|
|
|
2967
3004
|
}
|
|
2968
3005
|
this.openScript(n);
|
|
2969
3006
|
if (t) {
|
|
2970
|
-
const t = Q_FUNCS_PREFIX.replace("HASH", this.
|
|
3007
|
+
const t = Q_FUNCS_PREFIX.replace("HASH", this.ln).slice(0, -1);
|
|
2971
3008
|
this.write(`(${t}||(${t}=[])).push(`);
|
|
2972
3009
|
} else {
|
|
2973
|
-
this.write(Q_FUNCS_PREFIX.replace("HASH", this.
|
|
3010
|
+
this.write(Q_FUNCS_PREFIX.replace("HASH", this.ln));
|
|
2974
3011
|
}
|
|
2975
3012
|
if (!t) {
|
|
2976
|
-
this.write(
|
|
3013
|
+
this.write(Zu);
|
|
2977
3014
|
}
|
|
2978
|
-
this.writeArray(e,
|
|
3015
|
+
this.writeArray(e, tc, t ? r : 0);
|
|
2979
3016
|
if (!t) {
|
|
2980
|
-
this.write(
|
|
3017
|
+
this.write(Ku);
|
|
2981
3018
|
}
|
|
2982
3019
|
if (t) {
|
|
2983
3020
|
this.write(")");
|
|
@@ -2996,7 +3033,7 @@ var SSRContainer = class extends Bc {
|
|
|
2996
3033
|
const [n, s] = e[r];
|
|
2997
3034
|
for (let e = 0; e < s.length; e++) {
|
|
2998
3035
|
const r = s[e];
|
|
2999
|
-
t.push(n, r.attrName,
|
|
3036
|
+
t.push(n, r.attrName, Iu(r.value) ? r.value.untrackedValue : r.value);
|
|
3000
3037
|
}
|
|
3001
3038
|
}
|
|
3002
3039
|
this.backpatchMap.clear();
|
|
@@ -3033,7 +3070,7 @@ var SSRContainer = class extends Bc {
|
|
|
3033
3070
|
this.writeScript(t, e);
|
|
3034
3071
|
}
|
|
3035
3072
|
emitOutOfOrderExecutorIfNeeded() {
|
|
3036
|
-
if (!__EXPERIMENTAL__.
|
|
3073
|
+
if (!__EXPERIMENTAL__.pendingBoundary || !this.outOfOrderStreaming || !this.outOfOrderUsed || this.isOutOfOrderExecutorEmitted) {
|
|
3037
3074
|
return;
|
|
3038
3075
|
}
|
|
3039
3076
|
this.isOutOfOrderExecutorEmitted = true;
|
|
@@ -3045,7 +3082,7 @@ var SSRContainer = class extends Bc {
|
|
|
3045
3082
|
}));
|
|
3046
3083
|
}
|
|
3047
3084
|
emitErrorSwapExecutorIfNeeded() {
|
|
3048
|
-
if (!__EXPERIMENTAL__.
|
|
3085
|
+
if (!__EXPERIMENTAL__.catchBoundary || this.isErrorSwapExecutorEmitted) {
|
|
3049
3086
|
return;
|
|
3050
3087
|
}
|
|
3051
3088
|
this.isErrorSwapExecutorEmitted = true;
|
|
@@ -3054,7 +3091,7 @@ var SSRContainer = class extends Bc {
|
|
|
3054
3091
|
}));
|
|
3055
3092
|
}
|
|
3056
3093
|
// Root containers emit qErr inline at the swap site; only segment containers defer ids.
|
|
3057
|
-
|
|
3094
|
+
C(t) {}
|
|
3058
3095
|
emitInlineScript(t) {
|
|
3059
3096
|
const e = {
|
|
3060
3097
|
type: "text/javascript"
|
|
@@ -3085,12 +3122,12 @@ var SSRContainer = class extends Bc {
|
|
|
3085
3122
|
}
|
|
3086
3123
|
}
|
|
3087
3124
|
isStatic() {
|
|
3088
|
-
return !(__EXPERIMENTAL__.
|
|
3125
|
+
return !(__EXPERIMENTAL__.pendingBoundary && this.outOfOrderStreaming && this.outOfOrderUsed) && this.serializationCtx.Ut.size === 0;
|
|
3089
3126
|
}
|
|
3090
3127
|
emitQwikLoaderAtTopIfNeeded() {
|
|
3091
3128
|
if (this.qlInclude === 0 /* Module */) {
|
|
3092
3129
|
this.qlInclude = 2 /* Done */;
|
|
3093
|
-
const t = this.
|
|
3130
|
+
const t = this.Ve + this.resolvedManifest.manifest.qwikLoader;
|
|
3094
3131
|
const e = {
|
|
3095
3132
|
rel: "modulepreload",
|
|
3096
3133
|
href: t
|
|
@@ -3137,14 +3174,14 @@ var SSRContainer = class extends Bc {
|
|
|
3137
3174
|
}
|
|
3138
3175
|
emitNewQwikEvents(t = false) {
|
|
3139
3176
|
const e = [];
|
|
3140
|
-
for (const t of this.serializationCtx.
|
|
3177
|
+
for (const t of this.serializationCtx.Vt) {
|
|
3141
3178
|
if (!this.emittedQwikEventNames.has(t)) {
|
|
3142
3179
|
this.emittedQwikEventNames.add(t);
|
|
3143
3180
|
e.push(JSON.stringify(t));
|
|
3144
3181
|
}
|
|
3145
3182
|
}
|
|
3146
3183
|
if (t) {
|
|
3147
|
-
e.push(`${QwikEvContainerReady}`, JSON.stringify(this.
|
|
3184
|
+
e.push(`${QwikEvContainerReady}`, JSON.stringify(this.ln));
|
|
3148
3185
|
}
|
|
3149
3186
|
this.emitQwikEvents(e);
|
|
3150
3187
|
}
|
|
@@ -3157,7 +3194,7 @@ var SSRContainer = class extends Bc {
|
|
|
3157
3194
|
}
|
|
3158
3195
|
this.openScript(e);
|
|
3159
3196
|
this.write(`(window._qwikEv||(window._qwikEv=[])).push(`);
|
|
3160
|
-
this.writeArray(t,
|
|
3197
|
+
this.writeArray(t, tc);
|
|
3161
3198
|
this.write(PAREN_CLOSE);
|
|
3162
3199
|
this.closeScript();
|
|
3163
3200
|
}
|
|
@@ -3269,94 +3306,94 @@ var SSRContainer = class extends Bc {
|
|
|
3269
3306
|
this.write(s);
|
|
3270
3307
|
}
|
|
3271
3308
|
}
|
|
3272
|
-
writeAttrs(
|
|
3273
|
-
let
|
|
3274
|
-
for (let
|
|
3275
|
-
let
|
|
3276
|
-
if (isSSRUnsafeAttr(
|
|
3309
|
+
writeAttrs(e, r, n, s, i, o) {
|
|
3310
|
+
let a = void 0;
|
|
3311
|
+
for (let l in r) {
|
|
3312
|
+
let c = r[l];
|
|
3313
|
+
if (isSSRUnsafeAttr(l)) {
|
|
3277
3314
|
if (isDev8) {
|
|
3278
|
-
throw
|
|
3315
|
+
throw er(32 /* unsafeAttr */ , [ l ]);
|
|
3279
3316
|
}
|
|
3280
3317
|
continue;
|
|
3281
3318
|
}
|
|
3282
|
-
if (
|
|
3283
|
-
|
|
3284
|
-
} else if (
|
|
3319
|
+
if (Mi(l)) {
|
|
3320
|
+
c = _setEvent(this.serializationCtx, l, c, o);
|
|
3321
|
+
} else if (l === "ref") {
|
|
3285
3322
|
const t = this.getOrCreateLastNode();
|
|
3286
|
-
if (
|
|
3287
|
-
|
|
3323
|
+
if (Iu(c)) {
|
|
3324
|
+
c.Qt = new DomRef(t);
|
|
3288
3325
|
continue;
|
|
3289
|
-
} else if (typeof
|
|
3290
|
-
|
|
3326
|
+
} else if (typeof c === "function") {
|
|
3327
|
+
c(new DomRef(t));
|
|
3291
3328
|
continue;
|
|
3292
|
-
} else if (
|
|
3329
|
+
} else if (c == null) {
|
|
3293
3330
|
continue;
|
|
3294
3331
|
} else {
|
|
3295
|
-
throw
|
|
3332
|
+
throw er(15 /* invalidRefValue */ , [ i ]);
|
|
3296
3333
|
}
|
|
3297
|
-
} else if (
|
|
3298
|
-
const t = this.addRoot(
|
|
3334
|
+
} else if (l === Br || l === Qr) {
|
|
3335
|
+
const t = this.addRoot(c);
|
|
3299
3336
|
if (t === void 0) {
|
|
3300
3337
|
continue;
|
|
3301
3338
|
}
|
|
3302
|
-
|
|
3303
|
-
} else if (
|
|
3304
|
-
const
|
|
3305
|
-
const
|
|
3306
|
-
|
|
3307
|
-
|
|
3339
|
+
c = typeof t === "number" ? [ t ] : String(t);
|
|
3340
|
+
} else if (Iu(c)) {
|
|
3341
|
+
const e = this.getOrCreateLastNode();
|
|
3342
|
+
const r = new Xs({
|
|
3343
|
+
X: s,
|
|
3344
|
+
st: n
|
|
3308
3345
|
});
|
|
3309
|
-
const
|
|
3310
|
-
|
|
3346
|
+
const i = c;
|
|
3347
|
+
c = t(() => this.trackSignalValue(i, e, l, r));
|
|
3311
3348
|
}
|
|
3312
|
-
if (
|
|
3349
|
+
if (pi(c)) {
|
|
3313
3350
|
const t = this.getOrCreateLastNode();
|
|
3314
|
-
this.addPromiseAttribute(
|
|
3315
|
-
|
|
3316
|
-
this.addBackpatchEntry(t.id,
|
|
3351
|
+
this.addPromiseAttribute(c);
|
|
3352
|
+
c.then(e => {
|
|
3353
|
+
this.addBackpatchEntry(t.id, l, P(l, e, s));
|
|
3317
3354
|
});
|
|
3318
3355
|
continue;
|
|
3319
3356
|
}
|
|
3320
|
-
if (
|
|
3321
|
-
if (
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3357
|
+
if (l === ni) {
|
|
3358
|
+
if (c) {
|
|
3359
|
+
a = String(c);
|
|
3360
|
+
l = Mr;
|
|
3361
|
+
c = "html" /* HTML */;
|
|
3325
3362
|
}
|
|
3326
|
-
if (
|
|
3363
|
+
if (e === "style") {
|
|
3327
3364
|
continue;
|
|
3328
3365
|
}
|
|
3329
|
-
} else if (isPreventDefault(
|
|
3330
|
-
addPreventDefaultEventToSerializationContext(this.serializationCtx,
|
|
3366
|
+
} else if (isPreventDefault(l)) {
|
|
3367
|
+
addPreventDefaultEventToSerializationContext(this.serializationCtx, l);
|
|
3331
3368
|
}
|
|
3332
|
-
if (
|
|
3333
|
-
if (
|
|
3369
|
+
if (e === "textarea" && l === "value") {
|
|
3370
|
+
if (c && typeof c !== "string") {
|
|
3334
3371
|
if (isDev8) {
|
|
3335
|
-
throw
|
|
3372
|
+
throw er(23 /* wrongTextareaValue */ , [ i, c ]);
|
|
3336
3373
|
}
|
|
3337
3374
|
continue;
|
|
3338
3375
|
}
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
}
|
|
3343
|
-
const
|
|
3344
|
-
if (
|
|
3345
|
-
this.write(
|
|
3346
|
-
this.write(
|
|
3347
|
-
if (
|
|
3376
|
+
a = escapeHTML(c || "");
|
|
3377
|
+
l = Mr;
|
|
3378
|
+
c = "text" /* TEXT */;
|
|
3379
|
+
}
|
|
3380
|
+
const u = P(l, c, s);
|
|
3381
|
+
if (u != null && u !== false) {
|
|
3382
|
+
this.write(gh);
|
|
3383
|
+
this.write(l);
|
|
3384
|
+
if (u !== true) {
|
|
3348
3385
|
this.write(ATTR_EQUALS_QUOTE);
|
|
3349
|
-
if (Array.isArray(
|
|
3350
|
-
this.writeEscapedChunks(
|
|
3386
|
+
if (Array.isArray(u)) {
|
|
3387
|
+
this.writeEscapedChunks(u);
|
|
3351
3388
|
} else {
|
|
3352
|
-
const t = escapeHTML(String(
|
|
3389
|
+
const t = escapeHTML(String(u));
|
|
3353
3390
|
this.write(t);
|
|
3354
3391
|
}
|
|
3355
|
-
this.write(
|
|
3392
|
+
this.write(Gu);
|
|
3356
3393
|
}
|
|
3357
3394
|
}
|
|
3358
3395
|
}
|
|
3359
|
-
return
|
|
3396
|
+
return a;
|
|
3360
3397
|
}
|
|
3361
3398
|
writeEscapedChunks(t) {
|
|
3362
3399
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -3387,43 +3424,43 @@ var SSRContainer = class extends Bc {
|
|
|
3387
3424
|
var SSRSegmentContainer = class extends SSRContainer {
|
|
3388
3425
|
constructor(t, e) {
|
|
3389
3426
|
super(t);
|
|
3390
|
-
this.
|
|
3427
|
+
this.yn = e;
|
|
3391
3428
|
}
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3429
|
+
yn;
|
|
3430
|
+
lr=0 /* Rendering */;
|
|
3431
|
+
ur=null;
|
|
3432
|
+
I=null;
|
|
3396
3433
|
subscriptionPatchRecords=[];
|
|
3397
3434
|
pendingVNodeDataPatches=null;
|
|
3398
3435
|
nextOutOfOrderId(t = true) {
|
|
3399
|
-
return this.
|
|
3436
|
+
return this.yn.nextOutOfOrderId(t);
|
|
3400
3437
|
}
|
|
3401
|
-
|
|
3402
|
-
(this.
|
|
3438
|
+
C(t) {
|
|
3439
|
+
(this.I ||= []).push(t);
|
|
3403
3440
|
}
|
|
3404
3441
|
emitErrorSwapExecutorIfNeeded() {
|
|
3405
|
-
this.
|
|
3442
|
+
this.yn.emitErrorSwapExecutorIfNeeded();
|
|
3406
3443
|
}
|
|
3407
|
-
|
|
3408
|
-
recordExternalRootEffect(this.
|
|
3444
|
+
vn(t, e, r, n) {
|
|
3445
|
+
recordExternalRootEffect(this.yn.serializationCtx, this.serializationCtx, this.yn.wt, this.subscriptionPatchRecords, t, e, r, n);
|
|
3409
3446
|
}
|
|
3410
|
-
async
|
|
3411
|
-
const r = this.
|
|
3412
|
-
const n = r.
|
|
3447
|
+
async P(t, e) {
|
|
3448
|
+
const r = this.yn;
|
|
3449
|
+
const n = r.rr();
|
|
3413
3450
|
const s = this.serializationCtx;
|
|
3414
3451
|
try {
|
|
3415
|
-
const i = this.
|
|
3416
|
-
this.
|
|
3417
|
-
const o = this.
|
|
3452
|
+
const i = this.dr(r, s);
|
|
3453
|
+
this.hr(r, s);
|
|
3454
|
+
const o = this.pr(r, n, s);
|
|
3418
3455
|
if (n && (i.newRootLocalIds.length > 0 || o !== void 0)) {
|
|
3419
|
-
s.
|
|
3456
|
+
s.me = r.serializationCtx.ee;
|
|
3420
3457
|
await this.emitStatePatchData(t, i.newRootStart, i.newRootLocalIds, o);
|
|
3421
|
-
r.serializationCtx.
|
|
3422
|
-
r.serializationCtx.
|
|
3458
|
+
r.serializationCtx.ge = r.serializationCtx.le.length + (r.serializationCtx._e ? 1 : 0);
|
|
3459
|
+
r.serializationCtx.ee += s.ee;
|
|
3423
3460
|
}
|
|
3424
3461
|
this.emitPendingVNodeDataPatches();
|
|
3425
3462
|
if (n) {
|
|
3426
|
-
this.
|
|
3463
|
+
this.m = true;
|
|
3427
3464
|
this.emitVNodeData(t);
|
|
3428
3465
|
const e = this.serializationCtx;
|
|
3429
3466
|
this.serializationCtx = r.serializationCtx;
|
|
@@ -3437,40 +3474,40 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3437
3474
|
this.drainCleanupQueue();
|
|
3438
3475
|
const a = i.rootIdMap;
|
|
3439
3476
|
if (n) {
|
|
3440
|
-
this.
|
|
3477
|
+
this.lr = 2 /* Done */;
|
|
3441
3478
|
} else {
|
|
3442
|
-
this.
|
|
3443
|
-
this.
|
|
3479
|
+
this.ur = a;
|
|
3480
|
+
this.lr = 1 /* EarlyFinalized */;
|
|
3444
3481
|
}
|
|
3445
3482
|
return {
|
|
3446
3483
|
html: renderSSRChunks(e.htmlChunks, a),
|
|
3447
3484
|
scripts: e.writer.toString(a)
|
|
3448
3485
|
};
|
|
3449
3486
|
} finally {
|
|
3450
|
-
if (this.
|
|
3451
|
-
s.
|
|
3487
|
+
if (this.lr !== 1 /* EarlyFinalized */) {
|
|
3488
|
+
s.qe = void 0;
|
|
3452
3489
|
r.removeOutOfOrderSegment(this);
|
|
3453
3490
|
}
|
|
3454
|
-
r.serializationCtx.
|
|
3491
|
+
r.serializationCtx.re(r.writer);
|
|
3455
3492
|
}
|
|
3456
3493
|
}
|
|
3457
|
-
|
|
3494
|
+
cr() {
|
|
3458
3495
|
try {
|
|
3459
3496
|
this.emitVNodeData(this.vnodeSegment);
|
|
3460
3497
|
this.emitPendingVNodeDataPatches();
|
|
3461
|
-
this.
|
|
3462
|
-
this.
|
|
3463
|
-
this.
|
|
3498
|
+
this.yn.emitOutOfOrderSegmentScripts(this.writer.toString(this.ur));
|
|
3499
|
+
this.lr = 2 /* Done */;
|
|
3500
|
+
this.yn.removeOutOfOrderSegment(this);
|
|
3464
3501
|
} finally {
|
|
3465
|
-
this.serializationCtx.
|
|
3502
|
+
this.serializationCtx.qe = void 0;
|
|
3466
3503
|
}
|
|
3467
3504
|
}
|
|
3468
|
-
markVNodeDataForSerialization(t, e = 16 /* SERIALIZE */) {
|
|
3469
|
-
const
|
|
3470
|
-
const
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
this.queueLateVNodeDataPatch(t,
|
|
3505
|
+
markVNodeDataForSerialization(t, e = 16 /* SERIALIZE */ , r = false) {
|
|
3506
|
+
const n = t.vnodeData[0];
|
|
3507
|
+
const s = n | e;
|
|
3508
|
+
t.vnodeData[0] = s;
|
|
3509
|
+
if (r || s !== n) {
|
|
3510
|
+
this.queueLateVNodeDataPatch(t, r ? s : s & ~n);
|
|
3474
3511
|
}
|
|
3475
3512
|
}
|
|
3476
3513
|
queueLateVNodeDataPatch(t, e) {
|
|
@@ -3478,7 +3515,7 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3478
3515
|
return;
|
|
3479
3516
|
}
|
|
3480
3517
|
const r = this.getVNodeDataOwnerFromNodeId(t.id);
|
|
3481
|
-
if (!this.
|
|
3518
|
+
if (!this.ar().isVNodeDataOwnerEmitted(r.owner)) {
|
|
3482
3519
|
return;
|
|
3483
3520
|
}
|
|
3484
3521
|
let n = (this.pendingVNodeDataPatches ||= /* @__PURE__ */ new Map).get(r.owner);
|
|
@@ -3501,24 +3538,24 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3501
3538
|
this.emitVNodeDataScript(e, t, true);
|
|
3502
3539
|
}
|
|
3503
3540
|
}
|
|
3504
|
-
|
|
3541
|
+
dr(t, e) {
|
|
3505
3542
|
const r = this.commitSegmentRoots(t, e);
|
|
3506
|
-
e.
|
|
3543
|
+
e.qe = (e, n, s) => {
|
|
3507
3544
|
this.commitSegmentRoot(t, e, n, s, r);
|
|
3508
3545
|
};
|
|
3509
3546
|
return r;
|
|
3510
3547
|
}
|
|
3511
|
-
|
|
3548
|
+
pr(t, e, r) {
|
|
3512
3549
|
let n = void 0;
|
|
3513
3550
|
const s = e ? this.collectSubscriptionPatches(t, t.rootContainerSerializedRootCount) : void 0;
|
|
3514
3551
|
if (s) {
|
|
3515
|
-
n = r.
|
|
3552
|
+
n = r.Pt(s);
|
|
3516
3553
|
}
|
|
3517
3554
|
return n;
|
|
3518
3555
|
}
|
|
3519
3556
|
commitSegmentRoots(t, e) {
|
|
3520
3557
|
const r = [];
|
|
3521
|
-
const n = t.
|
|
3558
|
+
const n = t.rr() ? t.serializationCtx.ge : t.serializationCtx.le.length;
|
|
3522
3559
|
const s = [];
|
|
3523
3560
|
const i = {
|
|
3524
3561
|
rootIdMap: r,
|
|
@@ -3526,8 +3563,8 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3526
3563
|
newRootLocalIds: s
|
|
3527
3564
|
};
|
|
3528
3565
|
this.promoteSharedSegmentRoots(t, e, i);
|
|
3529
|
-
const o = e.
|
|
3530
|
-
const a = e.
|
|
3566
|
+
const o = e.le;
|
|
3567
|
+
const a = e.Pe;
|
|
3531
3568
|
for (let e = 0; e < o.length; e++) {
|
|
3532
3569
|
const r = a[e];
|
|
3533
3570
|
this.commitSegmentRoot(t, e, o[e], r, i);
|
|
@@ -3535,8 +3572,8 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3535
3572
|
return i;
|
|
3536
3573
|
}
|
|
3537
3574
|
promoteSharedSegmentRoots(t, e, r) {
|
|
3538
|
-
const n = e.
|
|
3539
|
-
const s = e.
|
|
3575
|
+
const n = e.le;
|
|
3576
|
+
const s = e.Pe;
|
|
3540
3577
|
for (let e = 0; e < s.length; e++) {
|
|
3541
3578
|
const i = s[e];
|
|
3542
3579
|
if (this.isRootOrUsedByOtherLiveSegment(t, i)) {
|
|
@@ -3545,7 +3582,7 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3545
3582
|
}
|
|
3546
3583
|
}
|
|
3547
3584
|
isRootOrUsedByOtherLiveSegment(t, e) {
|
|
3548
|
-
if (t.serializationCtx.
|
|
3585
|
+
if (t.serializationCtx.Ne(e) !== void 0) {
|
|
3549
3586
|
return true;
|
|
3550
3587
|
}
|
|
3551
3588
|
const r = t.outOfOrderSegments;
|
|
@@ -3554,7 +3591,7 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3554
3591
|
if (n === this) {
|
|
3555
3592
|
continue;
|
|
3556
3593
|
}
|
|
3557
|
-
if (e === e && n.serializationCtx.
|
|
3594
|
+
if (e === e && n.serializationCtx.Ne(e) !== void 0) {
|
|
3558
3595
|
return true;
|
|
3559
3596
|
}
|
|
3560
3597
|
}
|
|
@@ -3564,30 +3601,30 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3564
3601
|
if (s.rootIdMap[e] !== void 0) {
|
|
3565
3602
|
return;
|
|
3566
3603
|
}
|
|
3567
|
-
let i = t.serializationCtx.
|
|
3604
|
+
let i = t.serializationCtx.Ne(n);
|
|
3568
3605
|
if (i === void 0) {
|
|
3569
|
-
i = t.serializationCtx.
|
|
3606
|
+
i = t.serializationCtx.xe(r, n);
|
|
3570
3607
|
s.newRootLocalIds.push(e);
|
|
3571
3608
|
this.seedCommittedRootForLiveSegments(t, n);
|
|
3572
3609
|
}
|
|
3573
3610
|
const o = t.serializationCtx;
|
|
3574
|
-
s.rootIdMap[e] = t.
|
|
3611
|
+
s.rootIdMap[e] = t.rr() && i >= o.be ? i + (o._e ? 1 : 0) : i;
|
|
3575
3612
|
}
|
|
3576
3613
|
seedCommittedRootForLiveSegments(t, e) {
|
|
3577
3614
|
const r = t.outOfOrderSegments;
|
|
3578
3615
|
for (let t = 0; t < r.length; t++) {
|
|
3579
3616
|
const n = r[t];
|
|
3580
|
-
if (n !== this && n.
|
|
3581
|
-
n.serializationCtx.
|
|
3617
|
+
if (n !== this && n.lr === 0 /* Rendering */) {
|
|
3618
|
+
n.serializationCtx.Pt(e);
|
|
3582
3619
|
}
|
|
3583
3620
|
}
|
|
3584
3621
|
}
|
|
3585
|
-
|
|
3586
|
-
for (const r of e.
|
|
3587
|
-
t.serializationCtx.
|
|
3622
|
+
hr(t, e) {
|
|
3623
|
+
for (const r of e.Vt) {
|
|
3624
|
+
t.serializationCtx.Vt.add(r);
|
|
3588
3625
|
}
|
|
3589
|
-
for (const r of e.
|
|
3590
|
-
t.serializationCtx.
|
|
3626
|
+
for (const r of e.Ut) {
|
|
3627
|
+
t.serializationCtx.Ut.add(r);
|
|
3591
3628
|
}
|
|
3592
3629
|
}
|
|
3593
3630
|
collectSubscriptionPatches(t, e) {
|
|
@@ -3596,9 +3633,9 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3596
3633
|
emitStatePatchData(t, e, r, n) {
|
|
3597
3634
|
const s = this.statePatchScriptAttrs(t);
|
|
3598
3635
|
this.openScript(s);
|
|
3599
|
-
this.serializationCtx.
|
|
3600
|
-
this.serializationCtx.
|
|
3601
|
-
return
|
|
3636
|
+
this.serializationCtx.re(this.writer);
|
|
3637
|
+
this.serializationCtx.ae = this.markVNodeDataForSerialization.bind(this);
|
|
3638
|
+
return yi(this.serializationCtx.Ie(e, r, n, 0), () => {
|
|
3602
3639
|
this.closeScript();
|
|
3603
3640
|
});
|
|
3604
3641
|
}
|
|
@@ -3606,7 +3643,7 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3606
3643
|
const e = this.stateScriptAttrs();
|
|
3607
3644
|
e[QStatePatchAttr] = true;
|
|
3608
3645
|
if (t) {
|
|
3609
|
-
e[
|
|
3646
|
+
e[vr] = t;
|
|
3610
3647
|
}
|
|
3611
3648
|
return e;
|
|
3612
3649
|
}
|
|
@@ -3614,17 +3651,17 @@ var SSRSegmentContainer = class extends SSRContainer {
|
|
|
3614
3651
|
|
|
3615
3652
|
var isQwikStyleElement = (t, e) => {
|
|
3616
3653
|
if (t === "style" && e != null) {
|
|
3617
|
-
return Object.prototype.hasOwnProperty.call(e,
|
|
3654
|
+
return Object.prototype.hasOwnProperty.call(e, br) || Object.prototype.hasOwnProperty.call(e, Er);
|
|
3618
3655
|
}
|
|
3619
3656
|
return false;
|
|
3620
3657
|
};
|
|
3621
3658
|
|
|
3622
3659
|
function newTagError(t) {
|
|
3623
|
-
return
|
|
3660
|
+
return er(12 /* tagError */ , [ t ]);
|
|
3624
3661
|
}
|
|
3625
3662
|
|
|
3626
3663
|
function hasDestroy(t) {
|
|
3627
|
-
return t && typeof t === "object" && typeof t
|
|
3664
|
+
return t && typeof t === "object" && typeof t.Xn === "function";
|
|
3628
3665
|
}
|
|
3629
3666
|
|
|
3630
3667
|
function isSSRUnsafeAttr(t) {
|
|
@@ -3644,7 +3681,7 @@ function randomStr() {
|
|
|
3644
3681
|
function addPreventDefaultEventToSerializationContext(t, e) {
|
|
3645
3682
|
const r = "e" + e.substring(14);
|
|
3646
3683
|
if (r) {
|
|
3647
|
-
t.
|
|
3684
|
+
t.Vt.add(r);
|
|
3648
3685
|
}
|
|
3649
3686
|
}
|
|
3650
3687
|
|
|
@@ -3682,7 +3719,7 @@ var StreamHandler = class {
|
|
|
3682
3719
|
let e;
|
|
3683
3720
|
switch (this.inOrderStreaming.strategy) {
|
|
3684
3721
|
case "disabled":
|
|
3685
|
-
e =
|
|
3722
|
+
e = Yu(e => {
|
|
3686
3723
|
if (e === void 0 || e === null) {
|
|
3687
3724
|
return;
|
|
3688
3725
|
}
|
|
@@ -3693,7 +3730,7 @@ var StreamHandler = class {
|
|
|
3693
3730
|
case "direct":
|
|
3694
3731
|
{
|
|
3695
3732
|
const r = this.nativeStream;
|
|
3696
|
-
e =
|
|
3733
|
+
e = Yu(e => {
|
|
3697
3734
|
if (e === void 0 || e === null) {
|
|
3698
3735
|
return;
|
|
3699
3736
|
}
|
|
@@ -3712,7 +3749,7 @@ var StreamHandler = class {
|
|
|
3712
3749
|
{
|
|
3713
3750
|
const r = this.inOrderStreaming.maximumChunk ?? 0;
|
|
3714
3751
|
const n = this.inOrderStreaming.maximumInitialChunk ?? 0;
|
|
3715
|
-
e =
|
|
3752
|
+
e = Yu(e => {
|
|
3716
3753
|
if (e === void 0 || e === null) {
|
|
3717
3754
|
return;
|
|
3718
3755
|
}
|
|
@@ -3740,7 +3777,7 @@ var StreamHandler = class {
|
|
|
3740
3777
|
}
|
|
3741
3778
|
}
|
|
3742
3779
|
trackPendingFlush(t) {
|
|
3743
|
-
if (!
|
|
3780
|
+
if (!pi(t)) {
|
|
3744
3781
|
return;
|
|
3745
3782
|
}
|
|
3746
3783
|
const e = Promise.resolve(t).finally(() => {
|
|
@@ -3825,7 +3862,7 @@ var renderToString = async (t, e = {}) => {
|
|
|
3825
3862
|
};
|
|
3826
3863
|
|
|
3827
3864
|
var renderToStream = async (t, e) => {
|
|
3828
|
-
if (__EXPERIMENTAL__.
|
|
3865
|
+
if (__EXPERIMENTAL__.pendingBoundary && e.streaming?.outOfOrder === void 0) {
|
|
3829
3866
|
e = {
|
|
3830
3867
|
...e,
|
|
3831
3868
|
streaming: {
|
|
@@ -3857,7 +3894,7 @@ var renderToStream = async (t, e) => {
|
|
|
3857
3894
|
const c = e.onBeforeFirstFlush;
|
|
3858
3895
|
if (c) {
|
|
3859
3896
|
a.onFirstWrite = () => c({
|
|
3860
|
-
|
|
3897
|
+
hasCaughtError: l.Xt === true
|
|
3861
3898
|
});
|
|
3862
3899
|
}
|
|
3863
3900
|
await setServerPlatform(e, i);
|
|
@@ -3870,13 +3907,13 @@ var renderToStream = async (t, e) => {
|
|
|
3870
3907
|
size: l.size,
|
|
3871
3908
|
isStatic: false,
|
|
3872
3909
|
timing: r,
|
|
3873
|
-
|
|
3910
|
+
hasCaughtError: l.Xt === true
|
|
3874
3911
|
};
|
|
3875
3912
|
return u;
|
|
3876
3913
|
};
|
|
3877
3914
|
|
|
3878
3915
|
function resolveManifest(t) {
|
|
3879
|
-
const e =
|
|
3916
|
+
const e = Qa();
|
|
3880
3917
|
const r = t ? {
|
|
3881
3918
|
...e,
|
|
3882
3919
|
...t
|
|
@@ -3888,7 +3925,7 @@ function resolveManifest(t) {
|
|
|
3888
3925
|
const t = {};
|
|
3889
3926
|
for (const e in r.mapping) {
|
|
3890
3927
|
const n = r.mapping[e];
|
|
3891
|
-
t[
|
|
3928
|
+
t[Ld(e)] = [ e, n ];
|
|
3892
3929
|
}
|
|
3893
3930
|
return {
|
|
3894
3931
|
mapper: t,
|
|
@@ -3903,7 +3940,7 @@ var Q_FUNCS_PREFIX = 'document["qFuncs_HASH"]=';
|
|
|
3903
3940
|
|
|
3904
3941
|
// packages/qwik/src/server/index.ts
|
|
3905
3942
|
async function setServerPlatform2(t) {
|
|
3906
|
-
const e =
|
|
3943
|
+
const e = ri({
|
|
3907
3944
|
manifest: t
|
|
3908
3945
|
}, resolveManifest(t));
|
|
3909
3946
|
setPlatform2(e);
|