@qwik.dev/core 2.0.0-beta.31 → 2.0.0-beta.34
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/dist/backpatch/index.mjs +2 -2
- package/dist/backpatch/package.json +1 -1
- package/dist/backpatch-executor.debug.js +12 -6
- package/dist/backpatch-executor.js +1 -1
- package/dist/build/package.json +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/core-internal.d.ts +182 -38
- package/dist/core.min.mjs +2 -2
- package/dist/core.mjs +790 -438
- package/dist/core.mjs.map +1 -1
- package/dist/core.prod.mjs +3405 -3161
- package/dist/loader/index.mjs +2 -2
- package/dist/loader/package.json +1 -1
- package/dist/optimizer.mjs +727 -722
- package/dist/preloader.mjs +64 -89
- package/dist/qwikloader.debug.js +237 -90
- package/dist/qwikloader.js +1 -1
- package/dist/server.d.ts +0 -54
- package/dist/server.mjs +119 -491
- package/dist/server.prod.mjs +625 -1033
- package/dist/starters/adapters/bun/src/entry.bun.ts +2 -8
- package/dist/starters/adapters/cloud-run/src/entry.cloud-run.tsx +2 -4
- package/dist/starters/adapters/deno/src/entry.deno.ts +2 -8
- package/dist/starters/adapters/express/src/entry.express.tsx +1 -4
- package/dist/starters/adapters/fastify/src/plugins/fastify-qwik.ts +1 -2
- package/dist/starters/adapters/node-server/src/entry.node-server.tsx +2 -4
- package/dist/testing/index.d.ts +7 -4
- package/dist/testing/index.mjs +1452 -3772
- package/dist/testing/package.json +1 -1
- package/package.json +3 -3
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.34-dev+8b055bb
|
|
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 Pr } from "@qwik.dev/core";
|
|
13
13
|
|
|
14
14
|
import { isDev as isDev5 } from "@qwik.dev/core/build";
|
|
15
15
|
|
|
@@ -17,123 +17,125 @@ import { isDev as isDev5 } 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 ne } from "@qwik.dev/core/build";
|
|
21
21
|
|
|
22
22
|
// packages/qwik/src/core/shared/utils/qdev.ts
|
|
23
|
-
var
|
|
23
|
+
var ee = globalThis;
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var re = ee.qDev !== false;
|
|
26
26
|
|
|
27
|
-
var qInspector =
|
|
27
|
+
var qInspector = ee.qInspector === true;
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var ie = ee.qDynamicPlatform !== false;
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var se = ee.qTest === true;
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var oe = ee.qRuntimeQrl === true;
|
|
34
34
|
|
|
35
35
|
// packages/qwik/src/core/shared/utils/log.ts
|
|
36
|
-
var
|
|
36
|
+
var ue = re ? `background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;` : "";
|
|
37
37
|
|
|
38
38
|
var throwErrorAndStop = (e, ...t) => {
|
|
39
|
-
const
|
|
39
|
+
const n = he(false, e, ...t);
|
|
40
40
|
debugger;
|
|
41
|
-
throw
|
|
41
|
+
throw n;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
var logErrorAndStop = (e, ...t) => {
|
|
45
|
-
const
|
|
45
|
+
const n = he(re, e, ...t);
|
|
46
46
|
debugger;
|
|
47
|
-
return
|
|
47
|
+
return n;
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
var
|
|
51
|
-
const
|
|
52
|
-
!
|
|
53
|
-
e && !
|
|
54
|
-
throw
|
|
50
|
+
var he = (e, t, ...n) => {
|
|
51
|
+
const r = t instanceof Error ? t : new Error(t);
|
|
52
|
+
!se && console.error("%cQWIK ERROR", ue, r.message, ...n, r.stack);
|
|
53
|
+
e && !se && setTimeout(() => {
|
|
54
|
+
throw r;
|
|
55
55
|
}, 0);
|
|
56
|
-
return
|
|
56
|
+
return r;
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
// packages/qwik/src/core/shared/error/assert.ts
|
|
60
60
|
var ASSERT_DISCLAIMER = "Internal assert, this is likely caused by a bug in Qwik: ";
|
|
61
61
|
|
|
62
|
-
function assertTrue(e, t, ...
|
|
63
|
-
if (
|
|
62
|
+
function assertTrue(e, t, ...n) {
|
|
63
|
+
if (ne) {
|
|
64
64
|
if (e === true) {
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
throwErrorAndStop(ASSERT_DISCLAIMER + t, ...
|
|
67
|
+
throwErrorAndStop(ASSERT_DISCLAIMER + t, ...n);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
// packages/qwik/src/core/client/util-mapArray.ts
|
|
72
|
-
var
|
|
73
|
-
isDev2 && assertTrue(
|
|
74
|
-
let
|
|
72
|
+
var de = (e, t, n) => {
|
|
73
|
+
isDev2 && assertTrue(n % 2 === 0, "Expecting even number.");
|
|
74
|
+
let r = n >> 1;
|
|
75
75
|
let s = e.length - 2 >> 1;
|
|
76
|
-
while (
|
|
77
|
-
const
|
|
78
|
-
const i = e[
|
|
76
|
+
while (r <= s) {
|
|
77
|
+
const n = r + (s - r >> 1);
|
|
78
|
+
const i = e[n << 1];
|
|
79
79
|
if (i === t) {
|
|
80
|
-
return
|
|
80
|
+
return n << 1;
|
|
81
81
|
}
|
|
82
82
|
if (i < t) {
|
|
83
|
-
|
|
83
|
+
r = n + 1;
|
|
84
84
|
} else {
|
|
85
|
-
s =
|
|
85
|
+
s = n - 1;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
return
|
|
88
|
+
return r << 1 ^ -1;
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
-
var
|
|
92
|
-
const i =
|
|
91
|
+
var pe = (e, t, n, r, s = false) => {
|
|
92
|
+
const i = de(e, t, r);
|
|
93
93
|
if (i >= 0) {
|
|
94
|
-
if (
|
|
94
|
+
if (n == null && !s) {
|
|
95
95
|
e.splice(i, 2);
|
|
96
96
|
} else {
|
|
97
|
-
e[i + 1] =
|
|
97
|
+
e[i + 1] = n;
|
|
98
98
|
}
|
|
99
|
-
} else if (
|
|
100
|
-
e.splice(i ^ -1, 0, t,
|
|
99
|
+
} else if (n != null || s) {
|
|
100
|
+
e.splice(i ^ -1, 0, t, n);
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
103
|
|
|
104
|
-
var mapApp_remove = (e, t,
|
|
105
|
-
const
|
|
104
|
+
var mapApp_remove = (e, t, n) => {
|
|
105
|
+
const r = de(e, t, n);
|
|
106
106
|
let s = null;
|
|
107
|
-
if (
|
|
108
|
-
s = e[
|
|
109
|
-
e.splice(
|
|
107
|
+
if (r >= 0) {
|
|
108
|
+
s = e[r + 1];
|
|
109
|
+
e.splice(r, 2);
|
|
110
110
|
return s;
|
|
111
111
|
}
|
|
112
112
|
return s;
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
-
var $e = (e, t,
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
118
|
-
return e[
|
|
115
|
+
var $e = (e, t, n) => {
|
|
116
|
+
const r = de(e, t, n);
|
|
117
|
+
if (r >= 0) {
|
|
118
|
+
return e[r + 1];
|
|
119
119
|
} else {
|
|
120
120
|
return null;
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
-
var
|
|
124
|
+
var me = (e, t, n) => de(e, t, n) >= 0;
|
|
125
125
|
|
|
126
126
|
// packages/qwik/src/core/shared/utils/types.ts
|
|
127
|
-
var
|
|
127
|
+
var we = e => typeof e === "object" && e !== null;
|
|
128
128
|
|
|
129
|
-
var
|
|
129
|
+
var be = e => Array.isArray(e);
|
|
130
130
|
|
|
131
|
-
var
|
|
131
|
+
var ve = e => typeof e === "string";
|
|
132
132
|
|
|
133
133
|
// packages/qwik/src/core/shared/error/error.ts
|
|
134
|
+
var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#q";
|
|
135
|
+
|
|
134
136
|
var codeToText = (e, ...t) => {
|
|
135
|
-
if (
|
|
136
|
-
const
|
|
137
|
+
if (re) {
|
|
138
|
+
const n = [ "Error while serializing class or style attributes",
|
|
137
139
|
// 0
|
|
138
140
|
"Scheduler not found",
|
|
139
141
|
// 1
|
|
@@ -201,40 +203,42 @@ var codeToText = (e, ...t) => {
|
|
|
201
203
|
// 32
|
|
202
204
|
"SerializerSymbol function returned rejected promise",
|
|
203
205
|
// 33
|
|
204
|
-
"Serialization Error: Cannot serialize function: {{0}}"
|
|
205
|
-
|
|
206
|
+
"Serialization Error: Cannot serialize function: {{0}}",
|
|
207
|
+
// 34
|
|
208
|
+
"Cannot read .value of a clientOnly async signal during SSR. Use .loading to check state, or provide an initial value." ];
|
|
209
|
+
let r = n[e] ?? "";
|
|
206
210
|
if (t.length) {
|
|
207
|
-
|
|
208
|
-
let
|
|
209
|
-
if (
|
|
210
|
-
|
|
211
|
+
r = r.replaceAll(/{{(\d+)}}/g, (e, n) => {
|
|
212
|
+
let r = t[n];
|
|
213
|
+
if (r && we(r) && r.constructor === Object) {
|
|
214
|
+
r = JSON.stringify(r).slice(0, 50);
|
|
211
215
|
}
|
|
212
|
-
return
|
|
216
|
+
return r;
|
|
213
217
|
});
|
|
214
218
|
}
|
|
215
|
-
return `Code(Q${e}): ${
|
|
219
|
+
return `Code(Q${e}): ${r}`;
|
|
216
220
|
} else {
|
|
217
|
-
return `Code(Q${e})
|
|
221
|
+
return `Code(Q${e}) ${baseUrl}${e}`;
|
|
218
222
|
}
|
|
219
223
|
};
|
|
220
224
|
|
|
221
|
-
var
|
|
222
|
-
const
|
|
223
|
-
return logErrorAndStop(
|
|
225
|
+
var Se = (e, t = []) => {
|
|
226
|
+
const n = codeToText(e, ...t);
|
|
227
|
+
return logErrorAndStop(n, ...t);
|
|
224
228
|
};
|
|
225
229
|
|
|
226
230
|
// packages/qwik/src/core/shared/qrl/qrl-utils.ts
|
|
227
231
|
import { isDev as isDev3 } from "@qwik.dev/core/build";
|
|
228
232
|
|
|
229
|
-
var
|
|
233
|
+
var ke = "<sync>";
|
|
230
234
|
|
|
231
|
-
var
|
|
235
|
+
var Na = e => {
|
|
232
236
|
const t = e.lastIndexOf("_") + 1;
|
|
233
237
|
return e.slice(t);
|
|
234
238
|
};
|
|
235
239
|
|
|
236
240
|
// packages/qwik/src/core/shared/types.ts
|
|
237
|
-
var
|
|
241
|
+
var qe = "q:type";
|
|
238
242
|
|
|
239
243
|
// packages/qwik/src/core/shared/vnode-data-types.ts
|
|
240
244
|
var VNodeDataSeparator = {
|
|
@@ -409,25 +413,25 @@ var VNodeDataChar = {
|
|
|
409
413
|
// packages/qwik/src/core/shared/utils/character-escaping.ts
|
|
410
414
|
function escapeHTML(e) {
|
|
411
415
|
let t = "";
|
|
412
|
-
const
|
|
413
|
-
let
|
|
414
|
-
let s =
|
|
415
|
-
for (;
|
|
416
|
-
const
|
|
417
|
-
if (
|
|
418
|
-
t += e.substring(s,
|
|
419
|
-
} else if (
|
|
420
|
-
t += e.substring(s,
|
|
421
|
-
} else if (
|
|
422
|
-
t += e.substring(s,
|
|
423
|
-
} else if (
|
|
424
|
-
t += e.substring(s,
|
|
425
|
-
} else if (
|
|
426
|
-
t += e.substring(s,
|
|
416
|
+
const n = e.length;
|
|
417
|
+
let r = 0;
|
|
418
|
+
let s = r;
|
|
419
|
+
for (;r < n; r++) {
|
|
420
|
+
const n = e.charCodeAt(r);
|
|
421
|
+
if (n === 60) {
|
|
422
|
+
t += e.substring(s, r) + "<";
|
|
423
|
+
} else if (n === 62) {
|
|
424
|
+
t += e.substring(s, r) + ">";
|
|
425
|
+
} else if (n === 38) {
|
|
426
|
+
t += e.substring(s, r) + "&";
|
|
427
|
+
} else if (n === 34) {
|
|
428
|
+
t += e.substring(s, r) + """;
|
|
429
|
+
} else if (n === 39) {
|
|
430
|
+
t += e.substring(s, r) + "'";
|
|
427
431
|
} else {
|
|
428
432
|
continue;
|
|
429
433
|
}
|
|
430
|
-
s =
|
|
434
|
+
s = r + 1;
|
|
431
435
|
}
|
|
432
436
|
if (s === 0) {
|
|
433
437
|
return e;
|
|
@@ -438,17 +442,17 @@ function escapeHTML(e) {
|
|
|
438
442
|
|
|
439
443
|
function encodeVNodeDataString(e) {
|
|
440
444
|
let t = "";
|
|
441
|
-
const
|
|
442
|
-
let
|
|
443
|
-
let s =
|
|
444
|
-
for (;
|
|
445
|
-
const
|
|
446
|
-
if (
|
|
447
|
-
t += e.substring(s,
|
|
445
|
+
const n = e.length;
|
|
446
|
+
let r = 0;
|
|
447
|
+
let s = r;
|
|
448
|
+
for (;r < n; r++) {
|
|
449
|
+
const n = e.charCodeAt(r);
|
|
450
|
+
if (n >= VNodeDataSeparator.ADVANCE_1 && n <= VNodeDataSeparator.ADVANCE_8192) {
|
|
451
|
+
t += e.substring(s, r) + "\\" + e.charAt(r);
|
|
448
452
|
} else {
|
|
449
453
|
continue;
|
|
450
454
|
}
|
|
451
|
-
s =
|
|
455
|
+
s = r + 1;
|
|
452
456
|
}
|
|
453
457
|
if (s === 0) {
|
|
454
458
|
return e;
|
|
@@ -458,9 +462,9 @@ function encodeVNodeDataString(e) {
|
|
|
458
462
|
}
|
|
459
463
|
|
|
460
464
|
// packages/qwik/src/core/shared/utils/markers.ts
|
|
461
|
-
var
|
|
465
|
+
var Ee = "q:renderFn";
|
|
462
466
|
|
|
463
|
-
var
|
|
467
|
+
var Pe = "q:slot";
|
|
464
468
|
|
|
465
469
|
var QSlotParent = "q:sparent";
|
|
466
470
|
|
|
@@ -476,7 +480,7 @@ var Ne = "q:sstyle";
|
|
|
476
480
|
|
|
477
481
|
var Ie = "q:ctx";
|
|
478
482
|
|
|
479
|
-
var
|
|
483
|
+
var Fe = "q:brefs";
|
|
480
484
|
|
|
481
485
|
var QRenderAttr = "q:render";
|
|
482
486
|
|
|
@@ -494,109 +498,109 @@ var QInstanceAttr = "q:instance";
|
|
|
494
498
|
|
|
495
499
|
var Le = "q:container-island";
|
|
496
500
|
|
|
497
|
-
var
|
|
501
|
+
var Ue = "/" + Le;
|
|
498
502
|
|
|
499
503
|
var We = "q:ignore";
|
|
500
504
|
|
|
501
|
-
var
|
|
505
|
+
var Ve = "/" + We;
|
|
502
506
|
|
|
503
|
-
var
|
|
507
|
+
var Qe = "q:container";
|
|
504
508
|
|
|
505
|
-
var
|
|
509
|
+
var Je = "/" + Qe;
|
|
506
510
|
|
|
507
|
-
var
|
|
511
|
+
var He = "q:template";
|
|
508
512
|
|
|
509
513
|
var QContainerSelector = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
|
|
510
514
|
|
|
511
|
-
var
|
|
515
|
+
var Ke = "";
|
|
512
516
|
|
|
513
517
|
var ELEMENT_ID = "q:id";
|
|
514
518
|
|
|
515
|
-
var
|
|
519
|
+
var Ze = "q:key";
|
|
516
520
|
|
|
517
|
-
var
|
|
521
|
+
var tr = "q:props";
|
|
518
522
|
|
|
519
|
-
var
|
|
523
|
+
var nr = "q:seq";
|
|
520
524
|
|
|
521
|
-
var
|
|
525
|
+
var er = "q:seqIdx";
|
|
522
526
|
|
|
523
527
|
var ELEMENT_BACKPATCH_DATA = "qwik/backpatch";
|
|
524
528
|
|
|
525
|
-
var
|
|
529
|
+
var rr = "q:p";
|
|
526
530
|
|
|
527
|
-
var
|
|
531
|
+
var ir = "q:ps";
|
|
528
532
|
|
|
529
|
-
var
|
|
533
|
+
var sr = ":";
|
|
530
534
|
|
|
531
|
-
var
|
|
535
|
+
var or = sr + "on";
|
|
532
536
|
|
|
533
|
-
var
|
|
537
|
+
var lr = sr + "onIdx";
|
|
534
538
|
|
|
535
|
-
var
|
|
539
|
+
var ur = sr + "onFlags";
|
|
536
540
|
|
|
537
541
|
var cr = ":";
|
|
538
542
|
|
|
539
|
-
var
|
|
543
|
+
var fr = "dangerouslySetInnerHTML";
|
|
540
544
|
|
|
541
545
|
// packages/qwik/src/core/shared/utils/promises.ts
|
|
542
|
-
import { isDev as isDev4, isServer as
|
|
546
|
+
import { isDev as isDev4, isServer as Zn } from "@qwik.dev/core/build";
|
|
543
547
|
|
|
544
|
-
var
|
|
548
|
+
var hr = 100;
|
|
545
549
|
|
|
546
|
-
var
|
|
550
|
+
var dr = e => !!e && typeof e == "object" && typeof e.then === "function";
|
|
547
551
|
|
|
548
|
-
var $r = (e, t) =>
|
|
552
|
+
var $r = (e, t) => dr(e) ? e.then(t) : t(e);
|
|
549
553
|
|
|
550
554
|
var checkError = e => {
|
|
551
|
-
if (
|
|
555
|
+
if (Zn && e instanceof ReferenceError && e.message.includes("window")) {
|
|
552
556
|
e.message = 'It seems like you forgot to add "if (isBrowser) {...}" here:' + e.message;
|
|
553
557
|
}
|
|
554
558
|
};
|
|
555
559
|
|
|
556
|
-
var
|
|
560
|
+
var mr = e => {
|
|
557
561
|
throw e;
|
|
558
562
|
};
|
|
559
563
|
|
|
560
|
-
function n(e, t =
|
|
561
|
-
let
|
|
562
|
-
let
|
|
564
|
+
function n(e, t = mr) {
|
|
565
|
+
let n = false;
|
|
566
|
+
let r;
|
|
563
567
|
try {
|
|
564
|
-
|
|
565
|
-
|
|
568
|
+
r = e();
|
|
569
|
+
n = true;
|
|
566
570
|
} catch (e) {
|
|
567
|
-
|
|
571
|
+
r = e;
|
|
568
572
|
}
|
|
569
|
-
if (!
|
|
570
|
-
if (
|
|
571
|
-
return
|
|
573
|
+
if (!dr(r)) {
|
|
574
|
+
if (n) {
|
|
575
|
+
return r;
|
|
572
576
|
}
|
|
573
|
-
isDev4 && checkError(
|
|
574
|
-
return t(
|
|
577
|
+
isDev4 && checkError(r);
|
|
578
|
+
return t(r);
|
|
575
579
|
}
|
|
576
|
-
let s =
|
|
577
|
-
const i = async
|
|
578
|
-
while (
|
|
580
|
+
let s = hr;
|
|
581
|
+
const i = async n => {
|
|
582
|
+
while (dr(n)) {
|
|
579
583
|
try {
|
|
580
|
-
await
|
|
584
|
+
await n;
|
|
581
585
|
return await e();
|
|
582
586
|
} catch (e) {
|
|
583
|
-
if (
|
|
587
|
+
if (dr(e)) {
|
|
584
588
|
if (! --s) {
|
|
585
|
-
|
|
589
|
+
n = new Error("Exceeded max retry count in retryOnPromise");
|
|
586
590
|
break;
|
|
587
591
|
} else {
|
|
588
|
-
|
|
592
|
+
n = e;
|
|
589
593
|
}
|
|
590
594
|
} else {
|
|
591
|
-
|
|
595
|
+
n = e;
|
|
592
596
|
break;
|
|
593
597
|
}
|
|
594
598
|
}
|
|
595
599
|
}
|
|
596
|
-
isDev4 && checkError(
|
|
597
|
-
return t(
|
|
600
|
+
isDev4 && checkError(n);
|
|
601
|
+
return t(n);
|
|
598
602
|
};
|
|
599
|
-
return
|
|
603
|
+
return n ? r.catch(i) : i(r);
|
|
600
604
|
}
|
|
601
605
|
|
|
602
606
|
// packages/qwik/src/core/shared/utils/scoped-styles.ts
|
|
@@ -609,67 +613,67 @@ function convertStyleIdsToString(e) {
|
|
|
609
613
|
}
|
|
610
614
|
|
|
611
615
|
// packages/qwik/src/core/shared/utils/event-names.ts
|
|
612
|
-
var
|
|
616
|
+
var br = e => e.charCodeAt(0) === 113 && e.charCodeAt(1) === 45 && (e.charCodeAt(3) === 58 || e.charCodeAt(3) === 112 && e.charCodeAt(4) === 58);
|
|
613
617
|
|
|
614
618
|
function isPreventDefault(e) {
|
|
615
619
|
return e.startsWith("preventdefault:");
|
|
616
620
|
}
|
|
617
621
|
|
|
618
622
|
// packages/qwik/src/core/shared/utils/unitless_number.ts
|
|
619
|
-
var
|
|
623
|
+
var kr = /* @__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",
|
|
620
624
|
// Known Prefixed Properties
|
|
621
625
|
"MozBoxFlex",
|
|
622
626
|
// TODO: Remove these since they shouldn't be used in modern code
|
|
623
627
|
"msFlex", "msFlexPositive", "WebkitAnimationIterationCount", "WebkitBoxFlex", "WebkitBoxOrdinalGroup", "WebkitColumnCount", "WebkitColumns", "WebkitFlex", "WebkitFlexGrow", "WebkitFlexShrink", "WebkitLineClamp" ]);
|
|
624
628
|
|
|
625
|
-
var isUnitlessNumber = e =>
|
|
629
|
+
var isUnitlessNumber = e => kr.has(e);
|
|
626
630
|
|
|
627
631
|
// packages/qwik/src/core/shared/utils/styles.ts
|
|
628
|
-
var
|
|
632
|
+
var qr = e => {
|
|
629
633
|
if (!e) {
|
|
630
634
|
return "";
|
|
631
635
|
}
|
|
632
|
-
if (
|
|
636
|
+
if (ve(e)) {
|
|
633
637
|
return e.trim();
|
|
634
638
|
}
|
|
635
639
|
const t = [];
|
|
636
|
-
if (
|
|
637
|
-
for (let
|
|
638
|
-
const
|
|
639
|
-
const s =
|
|
640
|
+
if (be(e)) {
|
|
641
|
+
for (let n = 0; n < e.length; n++) {
|
|
642
|
+
const r = e[n];
|
|
643
|
+
const s = qr(r);
|
|
640
644
|
if (s) {
|
|
641
645
|
t.push(s);
|
|
642
646
|
}
|
|
643
647
|
}
|
|
644
648
|
} else {
|
|
645
|
-
for (const [
|
|
646
|
-
if (
|
|
647
|
-
t.push(
|
|
649
|
+
for (const [n, r] of Object.entries(e)) {
|
|
650
|
+
if (r) {
|
|
651
|
+
t.push(n.trim());
|
|
648
652
|
}
|
|
649
653
|
}
|
|
650
654
|
}
|
|
651
655
|
return t.join(" ");
|
|
652
656
|
};
|
|
653
657
|
|
|
654
|
-
var
|
|
658
|
+
var _r = e => e.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
655
659
|
|
|
656
660
|
var stringifyStyle = e => {
|
|
657
661
|
if (e == null) {
|
|
658
662
|
return "";
|
|
659
663
|
}
|
|
660
664
|
if (typeof e == "object") {
|
|
661
|
-
if (
|
|
662
|
-
throw
|
|
665
|
+
if (be(e)) {
|
|
666
|
+
throw Se(0 /* stringifyClassOrStyle */ , [ e, "style" ]);
|
|
663
667
|
} else {
|
|
664
668
|
const t = [];
|
|
665
|
-
for (const
|
|
666
|
-
if (Object.prototype.hasOwnProperty.call(e,
|
|
667
|
-
const
|
|
668
|
-
if (
|
|
669
|
-
if (
|
|
670
|
-
t.push(
|
|
669
|
+
for (const n in e) {
|
|
670
|
+
if (Object.prototype.hasOwnProperty.call(e, n)) {
|
|
671
|
+
const r = e[n];
|
|
672
|
+
if (r != null && typeof r !== "function") {
|
|
673
|
+
if (n.startsWith("--")) {
|
|
674
|
+
t.push(n + ":" + r);
|
|
671
675
|
} else {
|
|
672
|
-
t.push(
|
|
676
|
+
t.push(_r(n) + ":" + Rr(n, r));
|
|
673
677
|
}
|
|
674
678
|
}
|
|
675
679
|
}
|
|
@@ -682,10 +686,10 @@ var stringifyStyle = e => {
|
|
|
682
686
|
|
|
683
687
|
var serializeBooleanOrNumberAttribute = e => e != null ? String(e) : null;
|
|
684
688
|
|
|
685
|
-
function r(e, t,
|
|
689
|
+
function r(e, t, n) {
|
|
686
690
|
if (isClassAttr(e)) {
|
|
687
|
-
const e =
|
|
688
|
-
t =
|
|
691
|
+
const e = qr(t);
|
|
692
|
+
t = n ? n + (e.length ? " " + e : e) : e;
|
|
689
693
|
} else if (e === "style") {
|
|
690
694
|
t = stringifyStyle(t);
|
|
691
695
|
} else if (isEnumeratedBooleanAttribute(e) || typeof t === "number") {
|
|
@@ -702,7 +706,7 @@ function isEnumeratedBooleanAttribute(e) {
|
|
|
702
706
|
return isAriaAttribute(e) || [ "spellcheck", "draggable", "contenteditable" ].includes(e);
|
|
703
707
|
}
|
|
704
708
|
|
|
705
|
-
var
|
|
709
|
+
var Rr = (e, t) => {
|
|
706
710
|
if (typeof t === "number" && t !== 0 && !isUnitlessNumber(e)) {
|
|
707
711
|
return t + "px";
|
|
708
712
|
}
|
|
@@ -713,39 +717,36 @@ function isAriaAttribute(e) {
|
|
|
713
717
|
return e.startsWith("aria-");
|
|
714
718
|
}
|
|
715
719
|
|
|
716
|
-
// packages/qwik/src/core/preloader/queue.ts
|
|
717
|
-
import { isBrowser as isBrowser3 } from "@qwik.dev/core/build";
|
|
718
|
-
|
|
719
720
|
// packages/qwik/src/core/preloader/bundle-graph.ts
|
|
720
|
-
import { isServer as
|
|
721
|
+
import { isServer as isServer3 } from "@qwik.dev/core/build";
|
|
721
722
|
|
|
722
723
|
// packages/qwik/src/core/shared/platform/platform.ts
|
|
723
724
|
import { isServer as isServer2 } from "@qwik.dev/core/build";
|
|
724
725
|
|
|
725
|
-
var
|
|
726
|
+
var Er = () => ({
|
|
726
727
|
isServer: isServer2,
|
|
727
|
-
importSymbol(e, t,
|
|
728
|
+
importSymbol(e, t, n) {
|
|
728
729
|
if (isServer2) {
|
|
729
|
-
const e =
|
|
730
|
+
const e = Na(n);
|
|
730
731
|
const t = globalThis.__qwik_reg_symbols?.get(e);
|
|
731
732
|
if (t) {
|
|
732
733
|
return t;
|
|
733
734
|
}
|
|
734
|
-
throw
|
|
735
|
+
throw Se(6 /* dynamicImportFailed */ , [ n ]);
|
|
735
736
|
}
|
|
736
737
|
if (!t) {
|
|
737
|
-
throw
|
|
738
|
+
throw Se(14 /* qrlMissingChunk */ , [ n ]);
|
|
738
739
|
}
|
|
739
740
|
if (!e) {
|
|
740
|
-
throw
|
|
741
|
+
throw Se(13 /* qrlMissingContainer */ , [ t, n ]);
|
|
741
742
|
}
|
|
742
|
-
const
|
|
743
|
-
const s = new URL(
|
|
743
|
+
const r = Cr(e.ownerDocument, e, t).toString();
|
|
744
|
+
const s = new URL(r);
|
|
744
745
|
s.hash = "";
|
|
745
746
|
const i = s.href;
|
|
746
747
|
return import(
|
|
747
748
|
/* @vite-ignore */
|
|
748
|
-
i).then(e => e[
|
|
749
|
+
i).then(e => e[n]);
|
|
749
750
|
},
|
|
750
751
|
raf: e => new Promise(t => {
|
|
751
752
|
requestAnimationFrame(() => {
|
|
@@ -757,139 +758,54 @@ var qr = () => ({
|
|
|
757
758
|
}
|
|
758
759
|
});
|
|
759
760
|
|
|
760
|
-
var
|
|
761
|
-
const
|
|
762
|
-
const s = new URL(t.getAttribute(ze) ??
|
|
763
|
-
return new URL(
|
|
761
|
+
var Cr = (e, t, n) => {
|
|
762
|
+
const r = e.baseURI;
|
|
763
|
+
const s = new URL(t.getAttribute(ze) ?? r, r);
|
|
764
|
+
return new URL(n, s);
|
|
764
765
|
};
|
|
765
766
|
|
|
766
|
-
var
|
|
767
|
+
var Tr = /* @__PURE__ */ Er();
|
|
767
768
|
|
|
768
|
-
var
|
|
769
|
-
if (
|
|
770
|
-
return
|
|
769
|
+
var Or = () => {
|
|
770
|
+
if (ie) {
|
|
771
|
+
return Tr.isServer;
|
|
771
772
|
}
|
|
772
773
|
return false;
|
|
773
774
|
};
|
|
774
775
|
|
|
775
|
-
// packages/qwik/src/core/shared/platform/next-tick.ts
|
|
776
|
-
var Pr = e => {
|
|
777
|
-
let t;
|
|
778
|
-
if (typeof MessageChannel !== "undefined") {
|
|
779
|
-
const r = new MessageChannel;
|
|
780
|
-
r.port1.onmessage = () => e();
|
|
781
|
-
t = () => r.port2.postMessage(null);
|
|
782
|
-
} else {
|
|
783
|
-
t = () => setTimeout(e);
|
|
784
|
-
}
|
|
785
|
-
return t;
|
|
786
|
-
};
|
|
787
|
-
|
|
788
|
-
// packages/qwik/src/core/preloader/constants.ts
|
|
789
|
-
import { isServer as isServer3 } from "@qwik.dev/core/build";
|
|
790
|
-
|
|
791
|
-
var Or = import.meta.env.TEST ? !_r() : !isServer3;
|
|
792
|
-
|
|
793
|
-
var Ar = Or ? document : void 0;
|
|
794
|
-
|
|
795
|
-
var config = {
|
|
796
|
-
t: false,
|
|
797
|
-
i: 25,
|
|
798
|
-
v: .65
|
|
799
|
-
};
|
|
800
|
-
|
|
801
|
-
var Mr = Or && Ar.createElement("link").relList?.supports?.("modulepreload") ? "modulePreload" : "preload";
|
|
802
|
-
|
|
803
|
-
var loadStart = performance.now();
|
|
804
|
-
|
|
805
|
-
var Nr = /\.[mc]?js$/;
|
|
806
|
-
|
|
807
|
-
var Ir = 1e3 / 60;
|
|
808
|
-
|
|
809
|
-
// packages/qwik/src/core/preloader/types.ts
|
|
810
|
-
var BundleImportState_None = 0;
|
|
811
|
-
|
|
812
|
-
var BundleImportState_Queued = 1;
|
|
813
|
-
|
|
814
|
-
var BundleImportState_Preload = 2;
|
|
815
|
-
|
|
816
|
-
var BundleImportState_Alias = 3;
|
|
817
|
-
|
|
818
|
-
var BundleImportState_Loaded = 4;
|
|
819
|
-
|
|
820
776
|
// packages/qwik/src/core/preloader/bundle-graph.ts
|
|
821
777
|
var base;
|
|
822
778
|
|
|
823
779
|
var graph;
|
|
824
780
|
|
|
825
|
-
var
|
|
826
|
-
|
|
827
|
-
var makeBundle = (e, t) => ({
|
|
828
|
-
Lt: e,
|
|
829
|
-
Mt: Nr.test(e) ? BundleImportState_None : BundleImportState_Alias,
|
|
830
|
-
Dt: shouldResetFactor ? t?.map(e => ({
|
|
831
|
-
...e,
|
|
832
|
-
Kt: 1
|
|
833
|
-
})) : t,
|
|
834
|
-
Wt: 1,
|
|
835
|
-
Ut: performance.now(),
|
|
836
|
-
Vt: 0,
|
|
837
|
-
Qt: 0
|
|
838
|
-
});
|
|
781
|
+
var Mr = import.meta.env.TEST ? !Or() : !isServer3;
|
|
839
782
|
|
|
840
783
|
var parseBundleGraph = e => {
|
|
841
784
|
const t = /* @__PURE__ */ new Map;
|
|
842
|
-
let
|
|
843
|
-
while (
|
|
844
|
-
const
|
|
785
|
+
let n = 0;
|
|
786
|
+
while (n < e.length) {
|
|
787
|
+
const r = e[n++];
|
|
845
788
|
const s = [];
|
|
846
789
|
let i;
|
|
847
790
|
let o = 1;
|
|
848
|
-
while (i = e[
|
|
791
|
+
while (i = e[n], typeof i === "number") {
|
|
849
792
|
if (i < 0) {
|
|
850
793
|
o = -i / 10;
|
|
851
794
|
} else {
|
|
852
795
|
s.push({
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
796
|
+
zt: e[i],
|
|
797
|
+
Bt: o,
|
|
798
|
+
Yt: 1
|
|
856
799
|
});
|
|
857
800
|
}
|
|
858
|
-
|
|
801
|
+
n++;
|
|
859
802
|
}
|
|
860
|
-
t.set(
|
|
803
|
+
t.set(r, s);
|
|
861
804
|
}
|
|
862
805
|
return t;
|
|
863
806
|
};
|
|
864
807
|
|
|
865
|
-
var
|
|
866
|
-
let t = Fr.get(e);
|
|
867
|
-
if (!t) {
|
|
868
|
-
let r;
|
|
869
|
-
if (graph) {
|
|
870
|
-
r = graph.get(e);
|
|
871
|
-
if (!r) {
|
|
872
|
-
return;
|
|
873
|
-
}
|
|
874
|
-
if (!r.length) {
|
|
875
|
-
r = void 0;
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
t = makeBundle(e, r);
|
|
879
|
-
Fr.set(e, t);
|
|
880
|
-
}
|
|
881
|
-
return t;
|
|
882
|
-
};
|
|
883
|
-
|
|
884
|
-
var initPreloader = (e, t) => {
|
|
885
|
-
if (t) {
|
|
886
|
-
if ("debug" in t) {
|
|
887
|
-
config.t = !!t.debug;
|
|
888
|
-
}
|
|
889
|
-
if (typeof t.preloadProbability === "number") {
|
|
890
|
-
config.v = 1 - t.preloadProbability;
|
|
891
|
-
}
|
|
892
|
-
}
|
|
808
|
+
var initPreloader = e => {
|
|
893
809
|
if (base != null || !e) {
|
|
894
810
|
return;
|
|
895
811
|
}
|
|
@@ -897,295 +813,8 @@ var initPreloader = (e, t) => {
|
|
|
897
813
|
graph = parseBundleGraph(e);
|
|
898
814
|
};
|
|
899
815
|
|
|
900
|
-
// packages/qwik/src/core/preloader/queue.ts
|
|
901
|
-
var Fr = /* @__PURE__ */ new Map;
|
|
902
|
-
|
|
903
|
-
var shouldResetFactor;
|
|
904
|
-
|
|
905
|
-
var queueDirty;
|
|
906
|
-
|
|
907
|
-
var zr = 0;
|
|
908
|
-
|
|
909
|
-
var Lr = [];
|
|
910
|
-
|
|
911
|
-
var Dr = Pr(_a);
|
|
912
|
-
|
|
913
|
-
var Wr = Pr(i);
|
|
914
|
-
|
|
915
|
-
var Ur = false;
|
|
916
|
-
|
|
917
|
-
var Vr = false;
|
|
918
|
-
|
|
919
|
-
var Qr = false;
|
|
920
|
-
|
|
921
|
-
var Jr = import.meta.env.TEST ? !_r() : isBrowser3;
|
|
922
|
-
|
|
923
|
-
var Br = [];
|
|
924
|
-
|
|
925
|
-
var log = (...e) => {
|
|
926
|
-
console.log(`Preloader ${performance.now() - loadStart}ms ${zr}/${Lr.length} queued>`, ...e);
|
|
927
|
-
};
|
|
928
|
-
|
|
929
|
-
var resetQueue = () => {
|
|
930
|
-
Fr.clear();
|
|
931
|
-
queueDirty = false;
|
|
932
|
-
shouldResetFactor = true;
|
|
933
|
-
zr = 0;
|
|
934
|
-
Lr.length = 0;
|
|
935
|
-
Br.length = 0;
|
|
936
|
-
Ur = false;
|
|
937
|
-
Vr = false;
|
|
938
|
-
Qr = false;
|
|
939
|
-
};
|
|
940
|
-
|
|
941
|
-
var sortQueue = () => {
|
|
942
|
-
if (queueDirty) {
|
|
943
|
-
Lr.sort((e, t) => e.Wt - t.Wt);
|
|
944
|
-
queueDirty = false;
|
|
945
|
-
}
|
|
946
|
-
};
|
|
947
|
-
|
|
948
|
-
var getQueue = () => {
|
|
949
|
-
sortQueue();
|
|
950
|
-
let e = .4;
|
|
951
|
-
const t = [];
|
|
952
|
-
for (let r = 0; r < Lr.length; r++) {
|
|
953
|
-
const n = Lr[r];
|
|
954
|
-
const s = Math.round((1 - n.Wt) * 10);
|
|
955
|
-
if (s !== e) {
|
|
956
|
-
e = s;
|
|
957
|
-
t.push(e);
|
|
958
|
-
}
|
|
959
|
-
t.push(n.Lt);
|
|
960
|
-
}
|
|
961
|
-
return t;
|
|
962
|
-
};
|
|
963
|
-
|
|
964
|
-
function _a() {
|
|
965
|
-
Ur = false;
|
|
966
|
-
if (!Lr.length) {
|
|
967
|
-
return;
|
|
968
|
-
}
|
|
969
|
-
sortQueue();
|
|
970
|
-
const e = performance.now() + Ir;
|
|
971
|
-
let t = false;
|
|
972
|
-
while (Lr.length) {
|
|
973
|
-
const r = Lr[0];
|
|
974
|
-
const n = r.Wt;
|
|
975
|
-
const s = 1 - n;
|
|
976
|
-
const i = graph ? config.i :
|
|
977
|
-
// While the graph is not available, we limit to 5 preloads
|
|
978
|
-
5;
|
|
979
|
-
if (s >= .99 || zr < i) {
|
|
980
|
-
Lr.shift();
|
|
981
|
-
Xr(r);
|
|
982
|
-
if (performance.now() >= e) {
|
|
983
|
-
t = true;
|
|
984
|
-
break;
|
|
985
|
-
}
|
|
986
|
-
} else {
|
|
987
|
-
break;
|
|
988
|
-
}
|
|
989
|
-
}
|
|
990
|
-
if (t && Lr.length && !Ur) {
|
|
991
|
-
Ur = true;
|
|
992
|
-
Dr();
|
|
993
|
-
}
|
|
994
|
-
if (config.t && !Lr.length) {
|
|
995
|
-
const e = [ ...Fr.values() ].filter(e => e.Mt > BundleImportState_None);
|
|
996
|
-
const t = e.reduce((e, t) => e + t.Vt, 0);
|
|
997
|
-
const r = e.reduce((e, t) => e + t.Qt, 0);
|
|
998
|
-
log(`>>>> done ${e.length}/${Fr.size} total: ${t}ms waited, ${r}ms loaded`);
|
|
999
|
-
}
|
|
1000
|
-
}
|
|
1001
|
-
|
|
1002
|
-
var Hr = (e, t, r, n) => {
|
|
1003
|
-
Br.unshift({
|
|
1004
|
-
Jt: e,
|
|
1005
|
-
Wt: t,
|
|
1006
|
-
Bt: n,
|
|
1007
|
-
Ht: r
|
|
1008
|
-
});
|
|
1009
|
-
};
|
|
1010
|
-
|
|
1011
|
-
var Yr = () => {
|
|
1012
|
-
const e = Br[Br.length - 1];
|
|
1013
|
-
const t = e.Jt;
|
|
1014
|
-
if (e.Dt) {
|
|
1015
|
-
const r = e.Yt;
|
|
1016
|
-
if (r >= e.Dt.length) {
|
|
1017
|
-
Br.pop();
|
|
1018
|
-
return false;
|
|
1019
|
-
}
|
|
1020
|
-
const n = e.Dt[r];
|
|
1021
|
-
e.Yt = r + 1;
|
|
1022
|
-
const s = Tr(n.Lt);
|
|
1023
|
-
if (s.Wt === 0) {
|
|
1024
|
-
return true;
|
|
1025
|
-
}
|
|
1026
|
-
const i = 1 - t.Wt;
|
|
1027
|
-
let o;
|
|
1028
|
-
if (i === 1 || i >= .99 && e.Ht.Xt < 100) {
|
|
1029
|
-
e.Ht.Xt++;
|
|
1030
|
-
o = Math.min(.01, 1 - n.Gt);
|
|
1031
|
-
} else {
|
|
1032
|
-
const e = 1 - n.Gt * i;
|
|
1033
|
-
const t = n.Kt;
|
|
1034
|
-
const r = e / t;
|
|
1035
|
-
o = Math.max(.02, s.Wt * r);
|
|
1036
|
-
n.Kt = r;
|
|
1037
|
-
}
|
|
1038
|
-
Br.push({
|
|
1039
|
-
Jt: s,
|
|
1040
|
-
Wt: o,
|
|
1041
|
-
Bt: e.Bt,
|
|
1042
|
-
Ht: e.Ht
|
|
1043
|
-
});
|
|
1044
|
-
return true;
|
|
1045
|
-
}
|
|
1046
|
-
if (e.Bt?.has(t)) {
|
|
1047
|
-
Br.pop();
|
|
1048
|
-
return false;
|
|
1049
|
-
}
|
|
1050
|
-
const r = t.Wt;
|
|
1051
|
-
t.Wt = e.Wt;
|
|
1052
|
-
if (r - t.Wt < .01) {
|
|
1053
|
-
Br.pop();
|
|
1054
|
-
return false;
|
|
1055
|
-
}
|
|
1056
|
-
if (
|
|
1057
|
-
// don't queue until we have initialized the preloader
|
|
1058
|
-
base != null && t.Mt < BundleImportState_Preload) {
|
|
1059
|
-
if (t.Mt === BundleImportState_None) {
|
|
1060
|
-
t.Mt = BundleImportState_Queued;
|
|
1061
|
-
Lr.push(t);
|
|
1062
|
-
config.t && log(`queued ${Math.round((1 - t.Wt) * 100)}%`, t.Lt);
|
|
1063
|
-
}
|
|
1064
|
-
queueDirty = true;
|
|
1065
|
-
}
|
|
1066
|
-
if (t.Dt?.length) {
|
|
1067
|
-
const r = e.Bt || /* @__PURE__ */ new Set;
|
|
1068
|
-
r.add(t);
|
|
1069
|
-
e.Bt = r;
|
|
1070
|
-
e.Dt = t.Dt;
|
|
1071
|
-
e.Yt = 0;
|
|
1072
|
-
return false;
|
|
1073
|
-
}
|
|
1074
|
-
Br.pop();
|
|
1075
|
-
return false;
|
|
1076
|
-
};
|
|
1077
|
-
|
|
1078
|
-
function i() {
|
|
1079
|
-
if (Qr || !Br.length) {
|
|
1080
|
-
return;
|
|
1081
|
-
}
|
|
1082
|
-
Vr = false;
|
|
1083
|
-
Qr = true;
|
|
1084
|
-
const e = Jr ? performance.now() + Ir : 0;
|
|
1085
|
-
let t = false;
|
|
1086
|
-
while (Br.length) {
|
|
1087
|
-
t = true;
|
|
1088
|
-
const r = Yr();
|
|
1089
|
-
if (Jr && r && performance.now() >= e) {
|
|
1090
|
-
if (!Vr) {
|
|
1091
|
-
Vr = true;
|
|
1092
|
-
Wr();
|
|
1093
|
-
}
|
|
1094
|
-
break;
|
|
1095
|
-
}
|
|
1096
|
-
}
|
|
1097
|
-
Qr = false;
|
|
1098
|
-
if (t && Jr) {
|
|
1099
|
-
Dr();
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
var Xr = e => {
|
|
1104
|
-
if (e.Mt >= BundleImportState_Preload) {
|
|
1105
|
-
return;
|
|
1106
|
-
}
|
|
1107
|
-
zr++;
|
|
1108
|
-
const t = performance.now();
|
|
1109
|
-
e.Vt = t - e.Ut;
|
|
1110
|
-
e.Mt = BundleImportState_Preload;
|
|
1111
|
-
config.t && log(`<< load ${Math.round((1 - e.Wt) * 100)}% after ${`${e.Vt}ms`}`, e.Lt);
|
|
1112
|
-
const r = Ar.createElement("link");
|
|
1113
|
-
r.href = new URL(`${base}${e.Lt}`, Ar.baseURI).toString();
|
|
1114
|
-
r.rel = Mr;
|
|
1115
|
-
r.as = "script";
|
|
1116
|
-
r.onload = r.onerror = () => {
|
|
1117
|
-
zr--;
|
|
1118
|
-
const n = performance.now();
|
|
1119
|
-
e.Qt = n - t;
|
|
1120
|
-
e.Mt = BundleImportState_Loaded;
|
|
1121
|
-
config.t && log(`>> done after ${e.Qt}ms`, e.Lt);
|
|
1122
|
-
r.remove();
|
|
1123
|
-
Dr();
|
|
1124
|
-
};
|
|
1125
|
-
Ar.head.appendChild(r);
|
|
1126
|
-
};
|
|
1127
|
-
|
|
1128
|
-
var adjustProbabilities = (e, t, r) => {
|
|
1129
|
-
Hr(e, t, {
|
|
1130
|
-
Xt: 0
|
|
1131
|
-
}, r);
|
|
1132
|
-
if (Jr) {
|
|
1133
|
-
Wr();
|
|
1134
|
-
} else {
|
|
1135
|
-
i();
|
|
1136
|
-
}
|
|
1137
|
-
};
|
|
1138
|
-
|
|
1139
|
-
var Gr = (e, t, r) => {
|
|
1140
|
-
const n = Tr(e);
|
|
1141
|
-
if (n && n.Wt > t) {
|
|
1142
|
-
if (r) {
|
|
1143
|
-
Hr(n, t, r);
|
|
1144
|
-
} else {
|
|
1145
|
-
adjustProbabilities(n, t);
|
|
1146
|
-
}
|
|
1147
|
-
}
|
|
1148
|
-
};
|
|
1149
|
-
|
|
1150
|
-
var preload = (e, t) => {
|
|
1151
|
-
if (!e?.length) {
|
|
1152
|
-
return;
|
|
1153
|
-
}
|
|
1154
|
-
let r = t ? 1 - t : .4;
|
|
1155
|
-
const n = {
|
|
1156
|
-
Xt: 0
|
|
1157
|
-
};
|
|
1158
|
-
if (Array.isArray(e)) {
|
|
1159
|
-
for (let t = e.length - 1; t >= 0; t--) {
|
|
1160
|
-
const s = e[t];
|
|
1161
|
-
if (typeof s === "number") {
|
|
1162
|
-
r = 1 - s / 10;
|
|
1163
|
-
} else {
|
|
1164
|
-
Gr(s, r, n);
|
|
1165
|
-
}
|
|
1166
|
-
}
|
|
1167
|
-
} else {
|
|
1168
|
-
Gr(e, r, n);
|
|
1169
|
-
}
|
|
1170
|
-
if (Jr) {
|
|
1171
|
-
Wr();
|
|
1172
|
-
} else {
|
|
1173
|
-
i();
|
|
1174
|
-
}
|
|
1175
|
-
};
|
|
1176
|
-
|
|
1177
|
-
if (import.meta.env.TEST ? !_r() : isBrowser3) {
|
|
1178
|
-
document.addEventListener("qsymbol", e => {
|
|
1179
|
-
const {symbol: t, href: r} = e.detail;
|
|
1180
|
-
if (r) {
|
|
1181
|
-
const e = t.slice(t.lastIndexOf("_") + 1);
|
|
1182
|
-
preload(e, 1);
|
|
1183
|
-
}
|
|
1184
|
-
});
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
816
|
// packages/qwik/src/core/shared/utils/objects.ts
|
|
1188
|
-
var
|
|
817
|
+
var ti = e => {
|
|
1189
818
|
for (const t in e) {
|
|
1190
819
|
if (Object.prototype.hasOwnProperty.call(e, t)) {
|
|
1191
820
|
return false;
|
|
@@ -1201,7 +830,7 @@ var GT = ">";
|
|
|
1201
830
|
|
|
1202
831
|
var CLOSE_TAG = "</";
|
|
1203
832
|
|
|
1204
|
-
var
|
|
833
|
+
var zf = " ";
|
|
1205
834
|
|
|
1206
835
|
var ATTR_EQUALS_QUOTE = '="';
|
|
1207
836
|
|
|
@@ -1215,71 +844,71 @@ var BRACKET_CLOSE = "]";
|
|
|
1215
844
|
|
|
1216
845
|
var PAREN_CLOSE = ")";
|
|
1217
846
|
|
|
1218
|
-
var
|
|
847
|
+
var ni = ",";
|
|
1219
848
|
|
|
1220
849
|
// packages/qwik/src/server/platform.ts
|
|
1221
|
-
var getDevSegmentPath = (e, t,
|
|
850
|
+
var getDevSegmentPath = (e, t, n, r) => {
|
|
1222
851
|
const s = e?.[t];
|
|
1223
852
|
if (s) {
|
|
1224
853
|
return s;
|
|
1225
854
|
}
|
|
1226
|
-
if (
|
|
1227
|
-
return [
|
|
855
|
+
if (n === ke) {
|
|
856
|
+
return [ n, "" ];
|
|
1228
857
|
}
|
|
1229
|
-
if (!
|
|
1230
|
-
if (
|
|
1231
|
-
return [
|
|
858
|
+
if (!r) {
|
|
859
|
+
if (n.startsWith("_") && n.length < 6) {
|
|
860
|
+
return [ n, `${import.meta.env.BASE_URL}@qwik-handlers` ];
|
|
1232
861
|
}
|
|
1233
|
-
console.error("qwik symbolMapper: unknown qrl requested without parent:",
|
|
1234
|
-
return [
|
|
862
|
+
console.error("qwik symbolMapper: unknown qrl requested without parent:", n);
|
|
863
|
+
return [ n, `${import.meta.env.BASE_URL}${n}.js` ];
|
|
1235
864
|
}
|
|
1236
|
-
const i = `${import.meta.env.BASE_URL}${
|
|
1237
|
-
return [
|
|
865
|
+
const i = `${import.meta.env.BASE_URL}${r.startsWith("/") ? r.slice(1) : r}_${n}.js`;
|
|
866
|
+
return [ n, i ];
|
|
1238
867
|
};
|
|
1239
868
|
|
|
1240
869
|
function createPlatform2(e, t) {
|
|
1241
|
-
const
|
|
1242
|
-
const
|
|
1243
|
-
if (
|
|
870
|
+
const n = t?.mapper;
|
|
871
|
+
const r = e.symbolMapper ? e.symbolMapper : (e, t, r) => {
|
|
872
|
+
if (n || isDev5 && import.meta.env.MODE !== "test") {
|
|
1244
873
|
const t = getSymbolHash2(e);
|
|
1245
|
-
const s = !isDev5 ?
|
|
874
|
+
const s = !isDev5 ? n[t] : getDevSegmentPath(n, t, e, r);
|
|
1246
875
|
if (!s) {
|
|
1247
|
-
if (t ===
|
|
876
|
+
if (t === ke) {
|
|
1248
877
|
return [ t, "" ];
|
|
1249
878
|
}
|
|
1250
879
|
const s = globalThis.__qwik_reg_symbols?.has(t);
|
|
1251
880
|
if (s) {
|
|
1252
881
|
return [ e, "_" ];
|
|
1253
882
|
}
|
|
1254
|
-
console.error("Cannot resolve symbol", e, "in",
|
|
883
|
+
console.error("Cannot resolve symbol", e, "in", n, r);
|
|
1255
884
|
}
|
|
1256
885
|
return s;
|
|
1257
886
|
}
|
|
1258
887
|
};
|
|
1259
888
|
const s = {
|
|
1260
889
|
isServer: true,
|
|
1261
|
-
async importSymbol(e, t,
|
|
1262
|
-
const
|
|
1263
|
-
const s = globalThis.__qwik_reg_symbols?.get(
|
|
890
|
+
async importSymbol(e, t, n) {
|
|
891
|
+
const r = getSymbolHash2(n);
|
|
892
|
+
const s = globalThis.__qwik_reg_symbols?.get(r);
|
|
1264
893
|
if (s) {
|
|
1265
894
|
return s;
|
|
1266
895
|
}
|
|
1267
|
-
throw
|
|
896
|
+
throw Se(6 /* dynamicImportFailed */ , [ n ]);
|
|
1268
897
|
},
|
|
1269
898
|
raf: () => {
|
|
1270
899
|
console.error("server can not rerender");
|
|
1271
900
|
return Promise.resolve();
|
|
1272
901
|
},
|
|
1273
902
|
chunkForSymbol(e, t, s) {
|
|
1274
|
-
return
|
|
903
|
+
return r(e, n, s);
|
|
1275
904
|
}
|
|
1276
905
|
};
|
|
1277
906
|
return s;
|
|
1278
907
|
}
|
|
1279
908
|
|
|
1280
909
|
async function setServerPlatform(e, t) {
|
|
1281
|
-
const
|
|
1282
|
-
|
|
910
|
+
const n = createPlatform2(e, t);
|
|
911
|
+
Pr(n);
|
|
1283
912
|
}
|
|
1284
913
|
|
|
1285
914
|
var getSymbolHash2 = e => {
|
|
@@ -1298,8 +927,8 @@ function createTimer() {
|
|
|
1298
927
|
const e = performance.now();
|
|
1299
928
|
return () => {
|
|
1300
929
|
const t = performance.now();
|
|
1301
|
-
const
|
|
1302
|
-
return
|
|
930
|
+
const n = t - e;
|
|
931
|
+
return n / 1e6;
|
|
1303
932
|
};
|
|
1304
933
|
}
|
|
1305
934
|
|
|
@@ -1318,110 +947,33 @@ function getBuildBase(e) {
|
|
|
1318
947
|
}
|
|
1319
948
|
|
|
1320
949
|
var versions = {
|
|
1321
|
-
qwik: "2.0.0-beta.
|
|
950
|
+
qwik: "2.0.0-beta.34-dev+8b055bb",
|
|
1322
951
|
qwikDom: "2.1.19"
|
|
1323
952
|
};
|
|
1324
953
|
|
|
1325
954
|
// packages/qwik/src/server/ssr-container.ts
|
|
1326
955
|
import { isDev as isDev7 } from "@qwik.dev/core/build";
|
|
1327
956
|
|
|
1328
|
-
import { _SubscriptionData as
|
|
957
|
+
import { _SubscriptionData as cs, _SharedContainer as Ou, _jsxSorted as ks, _jsxSplit as xs, _res as w, _setEvent, _walkJSX as Rn, _createQRL as Xc, isSignal as Fl } from "@qwik.dev/core/internal";
|
|
1329
958
|
|
|
1330
|
-
// packages/qwik/src/server/preload-
|
|
959
|
+
// packages/qwik/src/server/preload-impl.ts
|
|
1331
960
|
import { getPlatform as jr } from "@qwik.dev/core";
|
|
1332
961
|
|
|
1333
|
-
// packages/qwik/src/server/preload-utils.ts
|
|
1334
|
-
function flattenPrefetchResources(e) {
|
|
1335
|
-
const t = [];
|
|
1336
|
-
const r = e => {
|
|
1337
|
-
if (e) {
|
|
1338
|
-
for (let n = 0; n < e.length; n++) {
|
|
1339
|
-
const s = e[n];
|
|
1340
|
-
if (!t.includes(s.url)) {
|
|
1341
|
-
t.push(s.url);
|
|
1342
|
-
if (s.imports) {
|
|
1343
|
-
r(s.imports);
|
|
1344
|
-
}
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1347
|
-
}
|
|
1348
|
-
};
|
|
1349
|
-
r(e);
|
|
1350
|
-
return t;
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
// packages/qwik/src/server/preload-strategy.ts
|
|
1354
|
-
var getBundles = e => {
|
|
1355
|
-
const t = jr();
|
|
1356
|
-
const r = e?.map(e => {
|
|
1357
|
-
const r = e.bt;
|
|
1358
|
-
const n = e.vt;
|
|
1359
|
-
const s = t.chunkForSymbol(r, n, e.dev?.file);
|
|
1360
|
-
if (s) {
|
|
1361
|
-
return s[1];
|
|
1362
|
-
}
|
|
1363
|
-
return n;
|
|
1364
|
-
}).filter(Boolean);
|
|
1365
|
-
return [ ...new Set(r) ];
|
|
1366
|
-
};
|
|
1367
|
-
|
|
1368
|
-
function getPreloadPaths(e, t, r) {
|
|
1369
|
-
const n = t.prefetchStrategy;
|
|
1370
|
-
if (n === null) {
|
|
1371
|
-
return [];
|
|
1372
|
-
}
|
|
1373
|
-
if (!r?.manifest.bundleGraph) {
|
|
1374
|
-
return getBundles(e);
|
|
1375
|
-
}
|
|
1376
|
-
if (typeof n?.symbolsToPrefetch === "function") {
|
|
1377
|
-
try {
|
|
1378
|
-
const e = n.symbolsToPrefetch({
|
|
1379
|
-
manifest: r.manifest
|
|
1380
|
-
});
|
|
1381
|
-
return flattenPrefetchResources(e);
|
|
1382
|
-
} catch (e) {
|
|
1383
|
-
console.error("getPrefetchUrls, symbolsToPrefetch()", e);
|
|
1384
|
-
}
|
|
1385
|
-
}
|
|
1386
|
-
const s = /* @__PURE__ */ new Set;
|
|
1387
|
-
for (let t = 0; t < e.length; t++) {
|
|
1388
|
-
const r = getSymbolHash2(e[t].bt);
|
|
1389
|
-
if (r && r.length >= 10) {
|
|
1390
|
-
s.add(r);
|
|
1391
|
-
}
|
|
1392
|
-
}
|
|
1393
|
-
return [ ...s ];
|
|
1394
|
-
}
|
|
1395
|
-
|
|
1396
|
-
var expandBundles = (e, t) => {
|
|
1397
|
-
if (!t?.manifest.bundleGraph) {
|
|
1398
|
-
return [ ...new Set(e) ];
|
|
1399
|
-
}
|
|
1400
|
-
resetQueue();
|
|
1401
|
-
let r = .99;
|
|
1402
|
-
for (let t = 0; t < e.length; t++) {
|
|
1403
|
-
preload(e[t], r);
|
|
1404
|
-
r *= .95;
|
|
1405
|
-
}
|
|
1406
|
-
return getQueue();
|
|
1407
|
-
};
|
|
1408
|
-
|
|
1409
|
-
// packages/qwik/src/server/preload-impl.ts
|
|
1410
962
|
var simplifyPath = (e, t) => {
|
|
1411
963
|
if (t == null) {
|
|
1412
964
|
return null;
|
|
1413
965
|
}
|
|
1414
|
-
const
|
|
1415
|
-
const
|
|
1416
|
-
for (let e = 0; e <
|
|
1417
|
-
const t =
|
|
1418
|
-
if (t === ".." &&
|
|
1419
|
-
|
|
966
|
+
const n = `${e}${t}`.split("/");
|
|
967
|
+
const r = [];
|
|
968
|
+
for (let e = 0; e < n.length; e++) {
|
|
969
|
+
const t = n[e];
|
|
970
|
+
if (t === ".." && r.length > 0) {
|
|
971
|
+
r.pop();
|
|
1420
972
|
} else {
|
|
1421
|
-
|
|
973
|
+
r.push(t);
|
|
1422
974
|
}
|
|
1423
975
|
}
|
|
1424
|
-
return
|
|
976
|
+
return r.join("/");
|
|
1425
977
|
};
|
|
1426
978
|
|
|
1427
979
|
var getBase = e => {
|
|
@@ -1432,42 +984,32 @@ var getBase = e => {
|
|
|
1432
984
|
return t;
|
|
1433
985
|
};
|
|
1434
986
|
|
|
1435
|
-
var preloaderPre = (e, t,
|
|
1436
|
-
const {resolvedManifest:
|
|
987
|
+
var preloaderPre = (e, t, n) => {
|
|
988
|
+
const {resolvedManifest: r} = e;
|
|
1437
989
|
const s = getBase(e);
|
|
1438
|
-
const i = simplifyPath(s,
|
|
1439
|
-
let o =
|
|
990
|
+
const i = simplifyPath(s, r?.manifest?.preloader);
|
|
991
|
+
let o = r?.manifest.bundleGraphAsset;
|
|
1440
992
|
if (o) {
|
|
1441
993
|
o = (import.meta.env.BASE_URL || "/") + o;
|
|
1442
994
|
}
|
|
1443
995
|
if (i && o && t !== false) {
|
|
1444
|
-
const
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
} : void 0;
|
|
1448
|
-
const a = e.resolvedManifest?.manifest.bundleGraph;
|
|
1449
|
-
initPreloader(a, n);
|
|
1450
|
-
const l = [];
|
|
996
|
+
const r = e.resolvedManifest?.manifest.bundleGraph;
|
|
997
|
+
initPreloader(r);
|
|
998
|
+
const a = [];
|
|
1451
999
|
if (t) {
|
|
1452
|
-
if (t.debug) {
|
|
1453
|
-
l.push("d:1");
|
|
1454
|
-
}
|
|
1455
1000
|
if (t.maxIdlePreloads) {
|
|
1456
|
-
|
|
1457
|
-
}
|
|
1458
|
-
if (t.preloadProbability) {
|
|
1459
|
-
l.push(`Q:${t.preloadProbability}`);
|
|
1001
|
+
a.push(`P:${t.maxIdlePreloads}`);
|
|
1460
1002
|
}
|
|
1461
1003
|
}
|
|
1462
|
-
const
|
|
1463
|
-
const
|
|
1004
|
+
const l = a.length ? `,{${a.join(",")}}` : "";
|
|
1005
|
+
const c = {
|
|
1464
1006
|
rel: "modulepreload",
|
|
1465
1007
|
href: i
|
|
1466
1008
|
};
|
|
1467
|
-
if (
|
|
1468
|
-
|
|
1009
|
+
if (n) {
|
|
1010
|
+
c["nonce"] = n;
|
|
1469
1011
|
}
|
|
1470
|
-
e.openElement("link", null,
|
|
1012
|
+
e.openElement("link", null, c, null, null, null);
|
|
1471
1013
|
e.closeElement();
|
|
1472
1014
|
e.openElement("link", null, {
|
|
1473
1015
|
rel: "preload",
|
|
@@ -1476,76 +1018,66 @@ var preloaderPre = (e, t, r) => {
|
|
|
1476
1018
|
crossorigin: "anonymous"
|
|
1477
1019
|
}, null, null, null);
|
|
1478
1020
|
e.closeElement();
|
|
1479
|
-
const
|
|
1021
|
+
const u = `let b=fetch("${o}");import("${i}").then(({l})=>l(${JSON.stringify(s)},b${l}));`;
|
|
1480
1022
|
const h = {
|
|
1481
1023
|
type: "module",
|
|
1482
1024
|
async: true,
|
|
1483
1025
|
crossorigin: "anonymous"
|
|
1484
1026
|
};
|
|
1485
|
-
if (
|
|
1486
|
-
h["nonce"] =
|
|
1027
|
+
if (n) {
|
|
1028
|
+
h["nonce"] = n;
|
|
1487
1029
|
}
|
|
1488
1030
|
e.openElement("script", null, h, null, null, null);
|
|
1489
|
-
e.write(
|
|
1031
|
+
e.write(u);
|
|
1490
1032
|
e.closeElement();
|
|
1491
1033
|
}
|
|
1492
|
-
const a = simplifyPath(s,
|
|
1034
|
+
const a = simplifyPath(s, r?.manifest.core);
|
|
1493
1035
|
if (a) {
|
|
1494
1036
|
const t = {
|
|
1495
1037
|
rel: "modulepreload",
|
|
1496
1038
|
href: a
|
|
1497
1039
|
};
|
|
1498
|
-
if (
|
|
1499
|
-
t["nonce"] =
|
|
1040
|
+
if (n) {
|
|
1041
|
+
t["nonce"] = n;
|
|
1500
1042
|
}
|
|
1501
1043
|
e.openElement("link", null, t, null, null, null);
|
|
1502
1044
|
e.closeElement();
|
|
1503
1045
|
}
|
|
1504
1046
|
};
|
|
1505
1047
|
|
|
1506
|
-
var includePreloader = (e, t,
|
|
1507
|
-
if (
|
|
1048
|
+
var includePreloader = (e, t, n, r) => {
|
|
1049
|
+
if (n.length === 0 || t === false) {
|
|
1508
1050
|
return null;
|
|
1509
1051
|
}
|
|
1510
|
-
const {ssrPreloads: s
|
|
1511
|
-
let
|
|
1512
|
-
const
|
|
1513
|
-
const
|
|
1514
|
-
const {resolvedManifest:
|
|
1515
|
-
if (
|
|
1516
|
-
const e =
|
|
1517
|
-
const t =
|
|
1518
|
-
const n = expandBundles(r, c);
|
|
1519
|
-
let s = 4;
|
|
1520
|
-
const a = i * 10;
|
|
1052
|
+
const {ssrPreloads: s} = normalizePreLoaderOptions(typeof t === "boolean" ? void 0 : t);
|
|
1053
|
+
let i = s;
|
|
1054
|
+
const o = getBase(e);
|
|
1055
|
+
const a = [];
|
|
1056
|
+
const {resolvedManifest: l} = e;
|
|
1057
|
+
if (i) {
|
|
1058
|
+
const e = l?.manifest.preloader;
|
|
1059
|
+
const t = l?.manifest.core;
|
|
1521
1060
|
for (let r = 0; r < n.length; r++) {
|
|
1522
|
-
const
|
|
1523
|
-
if (
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
}
|
|
1530
|
-
l.push(i);
|
|
1531
|
-
if (--o === 0) {
|
|
1532
|
-
break;
|
|
1533
|
-
}
|
|
1534
|
-
} else {
|
|
1535
|
-
s = i;
|
|
1061
|
+
const s = n[r];
|
|
1062
|
+
if (s === e || s === t) {
|
|
1063
|
+
continue;
|
|
1064
|
+
}
|
|
1065
|
+
a.push(s);
|
|
1066
|
+
if (--i === 0) {
|
|
1067
|
+
break;
|
|
1536
1068
|
}
|
|
1537
1069
|
}
|
|
1538
1070
|
}
|
|
1539
|
-
const
|
|
1540
|
-
const
|
|
1071
|
+
const c = simplifyPath(o, l?.manifest.preloader);
|
|
1072
|
+
const u = a.length ?
|
|
1541
1073
|
/**
|
|
1542
1074
|
* We only use modulepreload links because they behave best. Older browsers can rely on the
|
|
1543
1075
|
* preloader which does feature detection and which will be available soon after inserting these
|
|
1544
1076
|
* links.
|
|
1545
|
-
*/ `${JSON.stringify(
|
|
1546
|
-
let h =
|
|
1547
|
-
if (
|
|
1548
|
-
h += `window.addEventListener('load',f=>{f=_=>import("${
|
|
1077
|
+
*/ `${JSON.stringify(a)}.map((l,e)=>{e=document.createElement('link');e.rel='modulepreload';e.href=${JSON.stringify(o)}+l;document.head.appendChild(e)});` : "";
|
|
1078
|
+
let h = u;
|
|
1079
|
+
if (c) {
|
|
1080
|
+
h += `window.addEventListener('load',f=>{f=_=>import("${c}").then(({p})=>p(${JSON.stringify(n)}));try{requestIdleCallback(f,{timeout:2000})}catch(e){setTimeout(f,200)}})`;
|
|
1549
1081
|
}
|
|
1550
1082
|
if (h) {
|
|
1551
1083
|
const t = {
|
|
@@ -1553,8 +1085,8 @@ var includePreloader = (e, t, r, n) => {
|
|
|
1553
1085
|
async: "true",
|
|
1554
1086
|
"q:type": "preload"
|
|
1555
1087
|
};
|
|
1556
|
-
if (
|
|
1557
|
-
t["nonce"] =
|
|
1088
|
+
if (r) {
|
|
1089
|
+
t["nonce"] = r;
|
|
1558
1090
|
}
|
|
1559
1091
|
e.openElement("script", null, t, null, null, null);
|
|
1560
1092
|
e.write(h);
|
|
@@ -1563,13 +1095,11 @@ var includePreloader = (e, t, r, n) => {
|
|
|
1563
1095
|
return null;
|
|
1564
1096
|
};
|
|
1565
1097
|
|
|
1566
|
-
var preloaderPost = (e, t,
|
|
1098
|
+
var preloaderPost = (e, t, n) => {
|
|
1567
1099
|
if (t.preloader !== false) {
|
|
1568
|
-
const
|
|
1569
|
-
const s =
|
|
1570
|
-
|
|
1571
|
-
includePreloader(e, t.preloader, s, r);
|
|
1572
|
-
}
|
|
1100
|
+
const r = Array.from(e.serializationCtx.Pt);
|
|
1101
|
+
const s = getBundles(r);
|
|
1102
|
+
includePreloader(e, t.preloader, s, n);
|
|
1573
1103
|
}
|
|
1574
1104
|
};
|
|
1575
1105
|
|
|
@@ -1580,22 +1110,33 @@ function normalizePreLoaderOptions(e) {
|
|
|
1580
1110
|
};
|
|
1581
1111
|
}
|
|
1582
1112
|
|
|
1113
|
+
var getBundles = e => {
|
|
1114
|
+
const t = jr();
|
|
1115
|
+
const n = e?.map(e => {
|
|
1116
|
+
const n = e.bt;
|
|
1117
|
+
const r = e.vt;
|
|
1118
|
+
const s = t.chunkForSymbol(n, r, e.dev?.file);
|
|
1119
|
+
if (s) {
|
|
1120
|
+
return s[1];
|
|
1121
|
+
}
|
|
1122
|
+
return r;
|
|
1123
|
+
}).filter(Boolean);
|
|
1124
|
+
return [ ...new Set(n) ];
|
|
1125
|
+
};
|
|
1126
|
+
|
|
1583
1127
|
var preLoaderOptionsDefault = {
|
|
1584
1128
|
ssrPreloads: 7,
|
|
1585
|
-
|
|
1586
|
-
debug: false,
|
|
1587
|
-
maxIdlePreloads: 25,
|
|
1588
|
-
preloadProbability: .35
|
|
1129
|
+
maxIdlePreloads: 25
|
|
1589
1130
|
};
|
|
1590
1131
|
|
|
1591
1132
|
// packages/qwik/src/server/scripts.ts
|
|
1592
|
-
var QWIK_LOADER_DEFAULT_MINIFIED = 'const e=document,t=window,
|
|
1133
|
+
var QWIK_LOADER_DEFAULT_MINIFIED = 'const e=document,t=window,r="w",n="wp",o="d",s="dp",i="e",c="ep",l="capture:",a=new Set,p=new Set([e]),q=new Map;let u,f,h;const d=(e,t)=>Array.from(e.querySelectorAll(t)),b=e=>{const t=[];return p.forEach(r=>t.push(...d(r,e))),t},m=(e,t,r,n=!1,o=!1)=>e.addEventListener(t,r,{capture:n,passive:o}),g=e=>{J(e);const t=d(e,"[q\\\\:shadowroot]");for(let e=0;e<t.length;e++){const r=t[e].shadowRoot;r&&g(r)}},v=e=>e&&"function"==typeof e.then,y=async e=>{for(let t=0;t<e.length;t++)await e[t]()},w=e=>{if(e.length){const t=()=>y(e);h=h?h.then(t,t):t()}},E=t=>{if(void 0===t._qwikjson_){let r=(t===e.documentElement?e.body:t).lastElementChild;for(;r;){if("SCRIPT"===r.tagName&&"qwik/json"===r.getAttribute("type")){t._qwikjson_=JSON.parse(r.textContent.replace(/\\\\x3C(\\/?script)/gi,"<$1"));break}r=r.previousElementSibling}}},A=(e,t)=>new CustomEvent(e,{detail:t}),C=(t,r)=>{e.dispatchEvent(A(t,r))},_=e=>e.replace(/([A-Z-])/g,e=>"-"+e.toLowerCase()),k=e=>e.replace(/-./g,e=>e[1].toUpperCase()),B=e=>{const t=e.indexOf(":");return{scope:e.slice(0,t),eventName:k(e.slice(t+1))}},S=e=>2===e.length,I=e=>e.charAt(0),N=e=>!!e&&1===e.nodeType,T=(e,t,r)=>e.hasAttribute(r)&&(!!e._qDispatch?.[t]||e.hasAttribute("q-"+t)),$=(t,r,n,o,s,i,c)=>{const l={qBase:n,symbol:i,element:r,reqTime:c};if(""===s){const r=t.getAttribute("q:instance"),n=(e["qFuncs_"+r]||[])[Number.parseInt(i)];if(!n){const e=Error("sym:"+i);C("qerror",{importError:"sync",error:e,...l}),console.error(e)}return n}const a=`${i}|${n}|${s}`,p=q.get(a);if(p)return p;const u=new URL(s,o).href,f=import(u);return E(t),f.then(e=>{const t=e[i];if(t)q.set(a,t),C("qsymbol",l);else{const e=Error(`${i} not in ${u}`);C("qerror",{importError:"no-symbol",error:e,...l}),console.error(e)}return t},e=>{C("qerror",{importError:"async",error:e,...l}),console.error(e)})},R=(t,r,n,o,s,i=!0)=>{let c=!1;s&&(i&&t.hasAttribute("preventdefault:"+s)&&r.preventDefault(),t.hasAttribute("stoppropagation:"+s)&&r.stopPropagation());const l=t._qDispatch?.[n];if(l){if("function"==typeof l){const e=()=>l(r,t);if(c)o.push(async()=>{const t=e();v(t)&&await t});else{const t=e();v(t)&&(c=!0,o.push(()=>t))}}else if(l.length)for(let e=0;e<l.length;e++){const n=l[e];if(n){const e=()=>n(r,t);if(c)o.push(async()=>{const t=e();v(t)&&await t});else{const t=e();v(t)&&(c=!0,o.push(()=>t))}}}return}const a=t.getAttribute("q-"+n);if(a){const n=t.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"),s=n.getAttribute("q:base"),i=new URL(s,e.baseURI),l=a.split("|");for(let e=0;e<l.length;e++){const a=l[e],p=performance.now(),[q,u,f]=a.split("#"),h=e=>{if(e&&t.isConnected)try{const n=e.call(f,r,t);if(v(n))return n.catch(e=>{C("qerror",{error:e,qBase:s,symbol:u,element:t,reqTime:p})})}catch(e){C("qerror",{error:e,qBase:s,symbol:u,element:t,reqTime:p})}},d=$(n,t,s,i,q,u,p);if(c||v(d))c=!0,o.push(async()=>{await h(v(d)?await d:d)});else{const e=h(d);v(e)&&(c=!0,o.push(()=>e))}}}},x=(e,t=i,r=!0)=>{const n=_(e.type),o=t+":"+n,s=l+n,c=[],a=[],p=[];let q=e.target;for(;q;)N(q)?(c.push(q),a.push(T(q,o,s)),q=q.parentElement):q=q.parentElement;for(let t=c.length-1;t>=0;t--)if(a[t]&&(R(c[t],e,o,p,n,r),e.cancelBubble||e.cancelBubble))return void w(p);for(let t=0;t<c.length;t++)if(!a[t]&&(R(c[t],e,o,p,n,r),!e.bubbles||e.cancelBubble||e.cancelBubble))return void w(p);w(p)},L=e=>x(e,c,!1),U=(e,t,r=!0)=>{const n=_(t.type),o=e+":"+n,s=b("[q-"+e+"\\\\:"+n+"]"),i=[];for(let e=0;e<s.length;e++){const c=s[e];R(c,t,o,i,n,r)}w(i)},j=e=>{U(o,e)},D=e=>{U(s,e,!1)},O=e=>{U(r,e)},P=e=>{U(n,e,!1)},F=()=>{const r=e.readyState;if("interactive"==r||"complete"==r){if(f=1,p.forEach(g),a.has("d:qinit")){a.delete("d:qinit");const e=A("qinit"),t=b("[q-d\\\\:qinit]"),r=[];for(let n=0;n<t.length;n++){const o=t[n];R(o,e,"d:qinit",r),o.removeAttribute("q-d:qinit")}w(r)}if(a.has("d:qidle")&&(a.delete("d:qidle"),(t.requestIdleCallback??t.setTimeout).bind(t)(()=>{const e=A("qidle"),t=b("[q-d\\\\:qidle]"),r=[];for(let n=0;n<t.length;n++){const o=t[n];R(o,e,"d:qidle",r),o.removeAttribute("q-d:qidle")}w(r)})),a.has("e:qvisible")){u||(u=new IntersectionObserver(e=>{const t=[];for(let r=0;r<e.length;r++){const n=e[r];n.isIntersecting&&(u.unobserve(n.target),R(n.target,A("qvisible",n),"e:qvisible",t))}w(t)}));const e=b("[q-e\\\\:qvisible]:not([q\\\\:observed])");for(let t=0;t<e.length;t++){const r=e[t];u.observe(r),r.setAttribute("q:observed","true")}}}},J=(...e)=>{for(let n=0;n<e.length;n++){const s=e[n];if("string"==typeof s){if(!a.has(s)){a.add(s);const{scope:e,eventName:n}=B(s),i=S(e),c=I(e);c===r?m(t,n,i?P:O,!0,i):p.forEach(e=>m(e,n,c===o?i?D:j:i?L:x,!0,i)),1!==f||"e:qvisible"!==s&&"d:qinit"!==s&&"d:qidle"!==s||F()}}else p.has(s)||(a.forEach(e=>{const{scope:t,eventName:n}=B(e),i=S(t),c=I(t);c!==r&&m(s,n,c===o?i?D:j:i?L:x,!0,i)}),p.add(s))}},M=t._qwikEv;M?.roots||(Array.isArray(M)?J(...M):J("e:click","e:input"),t._qwikEv={events:a,roots:p,push:J},m(e,"readystatechange",F),F())';
|
|
1593
1134
|
|
|
1594
|
-
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst windowPrefix = "w";\nconst documentPrefix = "d";\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = /* @__PURE__ */ new Map();\nlet observer;\nlet hasInitialized;\nconst nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nconst querySelectorAll = (query) => {\n const elements = [];\n roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n return elements;\n};\nconst addEventListener = (el, eventName, handler, capture = false) => el.addEventListener(eventName, handler, { capture, passive: false });\nconst findShadowRoots = (fragment) => {\n addEventOrRoot(fragment);\n const shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n for (let i = 0; i < shadowRoots.length; i++) {\n const parent = shadowRoots[i];\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst resolveContainer = (containerEl) => {\n if (containerEl._qwikjson_ === void 0) {\n const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;\n let script = parentJSON.lastElementChild;\n while (script) {\n if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n containerEl._qwikjson_ = JSON.parse(\n script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1")\n );\n break;\n }\n script = script.previousElementSibling;\n }\n }\n};\nconst createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst parseKebabEvent = (event) => ({\n scope: event.charAt(0),\n eventName: kebabToCamel(event.slice(2))\n});\nconst dispatch = async (element, ev, scopedKebabName, kebabName) => {\n if (kebabName) {\n if (element.hasAttribute("preventdefault:" + kebabName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + kebabName)) {\n ev.stopPropagation();\n }\n }\n const handlers = element._qDispatch?.[scopedKebabName];\n if (handlers) {\n if (typeof handlers === "function") {\n const result = handlers(ev, element);\n if (isPromise(result)) {\n await result;\n }\n } else if (handlers.length) {\n for (let i = 0; i < handlers.length; i++) {\n const handler = handlers[i];\n const result = handler?.(ev, element);\n if (isPromise(result)) {\n await result;\n }\n }\n }\n return;\n }\n const attrValue = element.getAttribute("q-" + scopedKebabName);\n if (attrValue) {\n const container = element.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n const qBase = container.getAttribute("q:base");\n const base = new URL(qBase, doc.baseURI);\n const qrls = attrValue.split("|");\n for (let i = 0; i < qrls.length; i++) {\n const qrl = qrls[i];\n const reqTime = performance.now();\n const [chunk, symbol, capturedIds] = qrl.split("#");\n const eventData = {\n qBase,\n symbol,\n element,\n reqTime\n };\n let handler;\n let importError;\n let error;\n if (chunk === "") {\n const hash = container.getAttribute("q:instance");\n handler = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler) {\n importError = "sync";\n error = new Error("sym:" + symbol);\n }\n } else {\n const key = `${symbol}|${qBase}|${chunk}`;\n handler = symbols.get(key);\n if (!handler) {\n const href = new URL(chunk, base).href;\n try {\n const module = import(\n href\n );\n resolveContainer(container);\n handler = (await module)[symbol];\n if (!handler) {\n importError = "no-symbol";\n error = new Error(`${symbol} not in ${href}`);\n } else {\n symbols.set(key, handler);\n emitEvent("qsymbol", eventData);\n }\n } catch (err) {\n importError = "async";\n error = err;\n }\n }\n }\n if (!handler) {\n emitEvent("qerror", {\n importError,\n error,\n ...eventData\n });\n console.error(error);\n continue;\n }\n if (element.isConnected) {\n try {\n const result = handler.call(capturedIds, ev, element);\n if (isPromise(result)) {\n await result;\n }\n } catch (error2) {\n emitEvent("qerror", { error: error2, ...eventData });\n }\n }\n }\n }\n};\nconst processElementEvent = async (ev) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = "e:" + kebabName;\n let element = ev.target;\n while (element && element.getAttribute) {\n const results = dispatch(element, ev, scopedKebabName, kebabName);\n const doBubble = ev.bubbles && !ev.cancelBubble;\n if (isPromise(results)) {\n await results;\n }\n element = doBubble && ev.bubbles && !ev.cancelBubble ? element.parentElement : null;\n }\n};\nconst broadcast = (infix, ev) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = infix + ":" + kebabName;\n const elements = querySelectorAll("[q-" + infix + "\\\\:" + kebabName + "]");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, scopedKebabName, kebabName);\n }\n};\nconst processDocumentEvent = async (ev) => {\n broadcast(documentPrefix, ev);\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev);\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (readyState == "interactive" || readyState == "complete") {\n hasInitialized = 1;\n roots.forEach(findShadowRoots);\n if (events.has("d:qinit")) {\n events.delete("d:qinit");\n const ev = createEvent("qinit");\n const elements = querySelectorAll("[q-d\\\\:qinit]");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qinit");\n el.removeAttribute("q-d:qinit");\n }\n }\n if (events.has("d:qidle")) {\n events.delete("d:qidle");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => {\n const ev = createEvent("qidle");\n const elements = querySelectorAll("[q-d\\\\:qidle]");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qidle");\n el.removeAttribute("q-d:qidle");\n }\n });\n }\n if (events.has("e:qvisible")) {\n observer || (observer = new IntersectionObserver((entries) => {\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(entry.target, createEvent("qvisible", entry), "e:qvisible");\n }\n }\n }));\n const elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n observer.observe(el);\n el.setAttribute("q:observed", "true");\n }\n }\n }\n};\nconst addEventOrRoot = (...eventNames) => {\n for (let i = 0; i < eventNames.length; i++) {\n const eventNameOrRoot = eventNames[i];\n if (typeof eventNameOrRoot === "string") {\n if (!events.has(eventNameOrRoot)) {\n events.add(eventNameOrRoot);\n const { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n if (scope === windowPrefix) {\n addEventListener(win, eventName, processWindowEvent, true);\n } else {\n roots.forEach(\n (root) => addEventListener(\n root,\n eventName,\n scope === documentPrefix ? processDocumentEvent : processElementEvent,\n true\n )\n );\n }\n if (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) {\n processReadyStateChange();\n }\n }\n } else {\n if (!roots.has(eventNameOrRoot)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = parseKebabEvent(kebabEventName);\n if (scope !== windowPrefix) {\n addEventListener(\n eventNameOrRoot,\n eventName,\n scope === documentPrefix ? processDocumentEvent : processElementEvent,\n true\n );\n }\n });\n roots.add(eventNameOrRoot);\n }\n }\n }\n};\nconst _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n if (Array.isArray(_qwikEv)) {\n addEventOrRoot(..._qwikEv);\n } else {\n addEventOrRoot("e:click", "e:input");\n }\n win._qwikEv = {\n events,\n roots,\n push: addEventOrRoot\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1135
|
+
var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst windowPrefix = "w";\nconst passiveWindowPrefix = "wp";\nconst documentPrefix = "d";\nconst passiveDocumentPrefix = "dp";\nconst elementPrefix = "e";\nconst passiveElementPrefix = "ep";\nconst capturePrefix = "capture:";\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = /* @__PURE__ */ new Map();\nlet observer;\nlet hasInitialized;\nlet queuedTasks;\nconst nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nconst querySelectorAll = (query) => {\n const elements = [];\n roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n return elements;\n};\nconst addEventListener = (el, eventName, handler, capture = false, passive = false) => el.addEventListener(eventName, handler, { capture, passive });\nconst findShadowRoots = (fragment) => {\n addEventOrRoot(fragment);\n const shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n for (let i = 0; i < shadowRoots.length; i++) {\n const parent = shadowRoots[i];\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst runTasks = async (tasks) => {\n for (let i = 0; i < tasks.length; i++) {\n await tasks[i]();\n }\n};\nconst queueTasks = (tasks) => {\n if (tasks.length) {\n const run = () => runTasks(tasks);\n queuedTasks = queuedTasks ? queuedTasks.then(run, run) : run();\n }\n};\nconst resolveContainer = (containerEl) => {\n if (containerEl._qwikjson_ === void 0) {\n const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;\n let script = parentJSON.lastElementChild;\n while (script) {\n if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n containerEl._qwikjson_ = JSON.parse(\n script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1")\n );\n break;\n }\n script = script.previousElementSibling;\n }\n }\n};\nconst createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst parseKebabEvent = (event) => {\n const separatorIndex = event.indexOf(":");\n const scope = event.slice(0, separatorIndex);\n return {\n scope,\n eventName: kebabToCamel(event.slice(separatorIndex + 1))\n };\n};\nconst isPassiveScope = (scope) => scope.length === 2;\nconst getRootScope = (scope) => scope.charAt(0);\nconst isElementNode = (node) => !!node && node.nodeType === 1;\nconst isCaptureHandlerElement = (element, scopedKebabName, captureAttribute) => element.hasAttribute(captureAttribute) && (!!element._qDispatch?.[scopedKebabName] || element.hasAttribute("q-" + scopedKebabName));\nconst resolveHandler = (container, element, qBase, base, chunk, symbol, reqTime) => {\n const eventData = {\n qBase,\n symbol,\n element,\n reqTime\n };\n if (chunk === "") {\n const hash = container.getAttribute("q:instance");\n const handler2 = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler2) {\n const error = new Error("sym:" + symbol);\n emitEvent("qerror", {\n importError: "sync",\n error,\n ...eventData\n });\n console.error(error);\n }\n return handler2;\n }\n const key = `${symbol}|${qBase}|${chunk}`;\n const handler = symbols.get(key);\n if (handler) {\n return handler;\n }\n const href = new URL(chunk, base).href;\n const module = import(\n href\n );\n resolveContainer(container);\n return module.then(\n (module2) => {\n const handler2 = module2[symbol];\n if (!handler2) {\n const error = new Error(`${symbol} not in ${href}`);\n emitEvent("qerror", {\n importError: "no-symbol",\n error,\n ...eventData\n });\n console.error(error);\n } else {\n symbols.set(key, handler2);\n emitEvent("qsymbol", eventData);\n }\n return handler2;\n },\n (error) => {\n emitEvent("qerror", {\n importError: "async",\n error,\n ...eventData\n });\n console.error(error);\n return void 0;\n }\n );\n};\nconst dispatch = (element, ev, scopedKebabName, tasks, kebabName, allowPreventDefault = true) => {\n let defer = false;\n if (kebabName) {\n if (allowPreventDefault && element.hasAttribute("preventdefault:" + kebabName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + kebabName)) {\n ev.stopPropagation();\n }\n }\n const handlers = element._qDispatch?.[scopedKebabName];\n if (handlers) {\n if (typeof handlers === "function") {\n const run = () => handlers(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n } else if (handlers.length) {\n for (let i = 0; i < handlers.length; i++) {\n const handler = handlers[i];\n if (handler) {\n const run = () => handler(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n }\n return;\n }\n const attrValue = element.getAttribute("q-" + scopedKebabName);\n if (attrValue) {\n const container = element.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n const qBase = container.getAttribute("q:base");\n const base = new URL(qBase, doc.baseURI);\n const qrls = attrValue.split("|");\n for (let i = 0; i < qrls.length; i++) {\n const qrl = qrls[i];\n const reqTime = performance.now();\n const [chunk, symbol, capturedIds] = qrl.split("#");\n const run = (handler2) => {\n if (handler2 && element.isConnected) {\n try {\n const result = handler2.call(capturedIds, ev, element);\n if (isPromise(result)) {\n return result.catch((error) => {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n });\n }\n } catch (error) {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n }\n }\n };\n const handler = resolveHandler(container, element, qBase, base, chunk, symbol, reqTime);\n if (defer || isPromise(handler)) {\n defer = true;\n tasks.push(async () => {\n await run(isPromise(handler) ? await handler : handler);\n });\n } else {\n const result = run(handler);\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n};\nconst processElementEvent = (ev, scope = elementPrefix, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const captureAttribute = capturePrefix + kebabName;\n const elements = [];\n const captureHandlers = [];\n const tasks = [];\n let current = ev.target;\n while (current) {\n if (isElementNode(current)) {\n elements.push(current);\n captureHandlers.push(isCaptureHandlerElement(current, scopedKebabName, captureAttribute));\n current = current.parentElement;\n } else {\n current = current.parentElement;\n }\n }\n for (let i = elements.length - 1; i >= 0; i--) {\n if (captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const continuePropagation = !ev.cancelBubble;\n if (!continuePropagation || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n for (let i = 0; i < elements.length; i++) {\n if (!captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const doBubble = ev.bubbles && !ev.cancelBubble;\n if (!doBubble || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n queueTasks(tasks);\n};\nconst processPassiveElementEvent = (ev) => processElementEvent(ev, passiveElementPrefix, false);\nconst broadcast = (scope, ev, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const elements = querySelectorAll("[q-" + scope + "\\\\:" + kebabName + "]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n }\n queueTasks(tasks);\n};\nconst processDocumentEvent = (ev) => {\n broadcast(documentPrefix, ev);\n};\nconst processPassiveDocumentEvent = (ev) => {\n broadcast(passiveDocumentPrefix, ev, false);\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev);\n};\nconst processPassiveWindowEvent = (ev) => {\n broadcast(passiveWindowPrefix, ev, false);\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (readyState == "interactive" || readyState == "complete") {\n hasInitialized = 1;\n roots.forEach(findShadowRoots);\n if (events.has("d:qinit")) {\n events.delete("d:qinit");\n const ev = createEvent("qinit");\n const elements = querySelectorAll("[q-d\\\\:qinit]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qinit", tasks);\n el.removeAttribute("q-d:qinit");\n }\n queueTasks(tasks);\n }\n if (events.has("d:qidle")) {\n events.delete("d:qidle");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => {\n const ev = createEvent("qidle");\n const elements = querySelectorAll("[q-d\\\\:qidle]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qidle", tasks);\n el.removeAttribute("q-d:qidle");\n }\n queueTasks(tasks);\n });\n }\n if (events.has("e:qvisible")) {\n observer || (observer = new IntersectionObserver((entries) => {\n const tasks = [];\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(\n entry.target,\n createEvent("qvisible", entry),\n "e:qvisible",\n tasks\n );\n }\n }\n queueTasks(tasks);\n }));\n const elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n observer.observe(el);\n el.setAttribute("q:observed", "true");\n }\n }\n }\n};\nconst addEventOrRoot = (...eventNames) => {\n for (let i = 0; i < eventNames.length; i++) {\n const eventNameOrRoot = eventNames[i];\n if (typeof eventNameOrRoot === "string") {\n if (!events.has(eventNameOrRoot)) {\n events.add(eventNameOrRoot);\n const { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope === windowPrefix) {\n addEventListener(\n win,\n eventName,\n passive ? processPassiveWindowEvent : processWindowEvent,\n true,\n passive\n );\n } else {\n roots.forEach(\n (root) => addEventListener(\n root,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n )\n );\n }\n if (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) {\n processReadyStateChange();\n }\n }\n } else {\n if (!roots.has(eventNameOrRoot)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = parseKebabEvent(kebabEventName);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope !== windowPrefix) {\n addEventListener(\n eventNameOrRoot,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n );\n }\n });\n roots.add(eventNameOrRoot);\n }\n }\n }\n};\nconst _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n if (Array.isArray(_qwikEv)) {\n addEventOrRoot(..._qwikEv);\n } else {\n addEventOrRoot("e:click", "e:input");\n }\n win._qwikEv = {\n events,\n roots,\n push: addEventOrRoot\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
|
|
1595
1136
|
|
|
1596
|
-
var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const t='script[type="qwik/backpatch"]'
|
|
1137
|
+
var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const 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.querySelector(t);if(n){const t=JSON.parse(n.textContent||"[]"),r=e.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);let c=r.currentNode,i=c.hasAttribute(":")?0:-1;for(let e=0;e<t.length;e+=3){const n=t[e],o=t[e+1];let s=t[e+2];for(;i<n&&(c=r.nextNode(),c);)c.hasAttribute(":")&&i++;const a=c;null==s||!1===s?a.removeAttribute(o):("boolean"==typeof s&&(s=""),a.setAttribute(o,s))}}}}const n=document.currentScript;if(n){const t=n.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");t&&e(document,t)}`;
|
|
1597
1138
|
|
|
1598
|
-
var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';\
|
|
1139
|
+
var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';\nfunction executeBackpatch(doc, containerElement) {\n const container = containerElement || doc.querySelector("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n if (container) {\n const script = container.querySelector(BACKPATCH_DATA_SELECTOR);\n if (script) {\n const data = JSON.parse(script.textContent || "[]");\n const walker = doc.createTreeWalker(container, NodeFilter.SHOW_ELEMENT);\n let currentNode = walker.currentNode;\n let currentNodeIdx = currentNode.hasAttribute(":") ? 0 : -1;\n for (let i = 0; i < data.length; i += 3) {\n const elementIdx = data[i];\n const attrName = data[i + 1];\n let value = data[i + 2];\n while (currentNodeIdx < elementIdx) {\n currentNode = walker.nextNode();\n if (!currentNode) {\n break;\n }\n if (currentNode.hasAttribute(":")) {\n currentNodeIdx++;\n }\n }\n const element = currentNode;\n if (value == null || value === false) {\n element.removeAttribute(attrName);\n } else {\n if (typeof value === "boolean") {\n value = "";\n }\n element.setAttribute(attrName, value);\n }\n }\n }\n }\n}\nconst executorScript = document.currentScript;\nif (executorScript) {\n const container = executorScript.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n if (container) {\n executeBackpatch(document, container);\n }\n}`;
|
|
1599
1140
|
|
|
1600
1141
|
function getQwikLoaderScript(e = {}) {
|
|
1601
1142
|
return e.debug ? QWIK_LOADER_DEFAULT_DEBUG : QWIK_LOADER_DEFAULT_MINIFIED;
|
|
@@ -1614,15 +1155,15 @@ function getQwikBackpatchExecutorScript(e = {}) {
|
|
|
1614
1155
|
}
|
|
1615
1156
|
|
|
1616
1157
|
// packages/qwik/src/server/ssr-node.ts
|
|
1617
|
-
import { _isJSXNode as
|
|
1158
|
+
import { _isJSXNode as ps, _EMPTY_OBJ, _EFFECT_BACK_REF as ii } from "@qwik.dev/core/internal";
|
|
1618
1159
|
|
|
1619
1160
|
import { isDev as isDev6 } from "@qwik.dev/core/build";
|
|
1620
1161
|
|
|
1621
1162
|
var SsrNode = class {
|
|
1622
|
-
constructor(e, t,
|
|
1163
|
+
constructor(e, t, n, r, s, i) {
|
|
1623
1164
|
this.parentComponent = e;
|
|
1624
|
-
this.attributesIndex =
|
|
1625
|
-
this.cleanupQueue =
|
|
1165
|
+
this.attributesIndex = n;
|
|
1166
|
+
this.cleanupQueue = r;
|
|
1626
1167
|
this.vnodeData = s;
|
|
1627
1168
|
this.currentFile = i;
|
|
1628
1169
|
this.id = t;
|
|
@@ -1646,19 +1187,19 @@ var SsrNode = class {
|
|
|
1646
1187
|
attrs;
|
|
1647
1188
|
/** Local props which don't serialize; */
|
|
1648
1189
|
localProps=null;
|
|
1649
|
-
get [
|
|
1650
|
-
return this.getProp(
|
|
1190
|
+
get [ii]() {
|
|
1191
|
+
return this.getProp(Fe);
|
|
1651
1192
|
}
|
|
1652
1193
|
setProp(e, t) {
|
|
1653
1194
|
if (this.attrs === _EMPTY_OBJ) {
|
|
1654
1195
|
this.setEmptyArrayAsVNodeDataAttributes();
|
|
1655
1196
|
}
|
|
1656
|
-
if (e.startsWith(
|
|
1197
|
+
if (e.startsWith(sr)) {
|
|
1657
1198
|
(this.localProps ||= {})[e] = t;
|
|
1658
1199
|
} else {
|
|
1659
1200
|
this.attrs[e] = t;
|
|
1660
1201
|
}
|
|
1661
|
-
if (e ==
|
|
1202
|
+
if (e == nr && t) {
|
|
1662
1203
|
this.cleanupQueue.push(t);
|
|
1663
1204
|
}
|
|
1664
1205
|
}
|
|
@@ -1674,14 +1215,14 @@ var SsrNode = class {
|
|
|
1674
1215
|
}
|
|
1675
1216
|
}
|
|
1676
1217
|
getProp(e) {
|
|
1677
|
-
if (e.startsWith(
|
|
1218
|
+
if (e.startsWith(sr)) {
|
|
1678
1219
|
return this.localProps ? this.localProps[e] ?? null : null;
|
|
1679
1220
|
} else {
|
|
1680
1221
|
return this.attrs[e] ?? null;
|
|
1681
1222
|
}
|
|
1682
1223
|
}
|
|
1683
1224
|
removeProp(e) {
|
|
1684
|
-
if (e.startsWith(
|
|
1225
|
+
if (e.startsWith(sr)) {
|
|
1685
1226
|
if (this.localProps) {
|
|
1686
1227
|
delete this.localProps[e];
|
|
1687
1228
|
}
|
|
@@ -1710,9 +1251,9 @@ var SsrNode = class {
|
|
|
1710
1251
|
if (isDev6) {
|
|
1711
1252
|
let e = "";
|
|
1712
1253
|
for (const t in this.attrs) {
|
|
1713
|
-
const
|
|
1254
|
+
const n = this.attrs[t];
|
|
1714
1255
|
e += `${t}=`;
|
|
1715
|
-
e += `${typeof
|
|
1256
|
+
e += `${typeof n === "string" || typeof n === "number" ? JSON.stringify(n) : "*"}`;
|
|
1716
1257
|
e += ", ";
|
|
1717
1258
|
}
|
|
1718
1259
|
return `<SSRNode id="${this.id}" ${e} />`;
|
|
@@ -1724,7 +1265,7 @@ var SsrNode = class {
|
|
|
1724
1265
|
|
|
1725
1266
|
var DomRef = class {
|
|
1726
1267
|
constructor(e) {
|
|
1727
|
-
this.
|
|
1268
|
+
this.Jn = e;
|
|
1728
1269
|
}
|
|
1729
1270
|
__brand__="DomRef";
|
|
1730
1271
|
};
|
|
@@ -1738,57 +1279,57 @@ var SsrComponentFrame = class {
|
|
|
1738
1279
|
scopedStyleIds=/* @__PURE__ */ new Set;
|
|
1739
1280
|
projectionScopedStyle=null;
|
|
1740
1281
|
projectionComponentFrame=null;
|
|
1741
|
-
distributeChildrenIntoSlots(e, t,
|
|
1282
|
+
distributeChildrenIntoSlots(e, t, n) {
|
|
1742
1283
|
this.projectionScopedStyle = t;
|
|
1743
|
-
this.projectionComponentFrame =
|
|
1744
|
-
if (
|
|
1284
|
+
this.projectionComponentFrame = n;
|
|
1285
|
+
if (ps(e)) {
|
|
1745
1286
|
const t = this.getSlotName(e);
|
|
1746
|
-
|
|
1287
|
+
pe(this.slots, t, e, 0);
|
|
1747
1288
|
} else if (Array.isArray(e) && e.length > 0) {
|
|
1748
1289
|
const t = [];
|
|
1749
|
-
for (let
|
|
1750
|
-
const
|
|
1751
|
-
if (
|
|
1752
|
-
const e = this.getSlotName(
|
|
1753
|
-
if (e ===
|
|
1754
|
-
t.push(
|
|
1290
|
+
for (let n = 0; n < e.length; n++) {
|
|
1291
|
+
const r = e[n];
|
|
1292
|
+
if (ps(r)) {
|
|
1293
|
+
const e = this.getSlotName(r);
|
|
1294
|
+
if (e === Ke) {
|
|
1295
|
+
t.push(r);
|
|
1755
1296
|
} else {
|
|
1756
|
-
this.updateSlot(e,
|
|
1297
|
+
this.updateSlot(e, r);
|
|
1757
1298
|
}
|
|
1758
1299
|
} else {
|
|
1759
|
-
t.push(
|
|
1300
|
+
t.push(r);
|
|
1760
1301
|
}
|
|
1761
1302
|
}
|
|
1762
|
-
t.length > 0 &&
|
|
1303
|
+
t.length > 0 && pe(this.slots, Ke, t, 0);
|
|
1763
1304
|
} else {
|
|
1764
|
-
|
|
1305
|
+
pe(this.slots, Ke, e, 0);
|
|
1765
1306
|
}
|
|
1766
1307
|
}
|
|
1767
1308
|
updateSlot(e, t) {
|
|
1768
|
-
let
|
|
1769
|
-
if (
|
|
1770
|
-
|
|
1771
|
-
} else if (Array.isArray(
|
|
1772
|
-
|
|
1309
|
+
let n = $e(this.slots, e, 0);
|
|
1310
|
+
if (n === null) {
|
|
1311
|
+
n = t;
|
|
1312
|
+
} else if (Array.isArray(n)) {
|
|
1313
|
+
n.push(t);
|
|
1773
1314
|
} else {
|
|
1774
|
-
|
|
1315
|
+
n = [ n, t ];
|
|
1775
1316
|
}
|
|
1776
|
-
|
|
1317
|
+
pe(this.slots, e, n, 0);
|
|
1777
1318
|
}
|
|
1778
1319
|
getSlotName(e) {
|
|
1779
|
-
if (e.props[
|
|
1780
|
-
return e.props[
|
|
1320
|
+
if (e.props[Pe]) {
|
|
1321
|
+
return e.props[Pe];
|
|
1781
1322
|
}
|
|
1782
|
-
return
|
|
1323
|
+
return Ke;
|
|
1783
1324
|
}
|
|
1784
1325
|
hasSlot(e) {
|
|
1785
|
-
return
|
|
1326
|
+
return me(this.slots, e, 0);
|
|
1786
1327
|
}
|
|
1787
1328
|
consumeChildrenForSlot(e, t) {
|
|
1788
|
-
const
|
|
1329
|
+
const n = mapApp_remove(this.slots, t, 0);
|
|
1789
1330
|
this.componentNode.setProp(t, e.id);
|
|
1790
1331
|
e.setProp(QSlotParent, this.componentNode.id);
|
|
1791
|
-
return
|
|
1332
|
+
return n;
|
|
1792
1333
|
}
|
|
1793
1334
|
};
|
|
1794
1335
|
|
|
@@ -2189,18 +1730,18 @@ var WRITE_ELEMENT_ATTRS = Number.MAX_SAFE_INTEGER - 2;
|
|
|
2189
1730
|
|
|
2190
1731
|
function vNodeData_incrementElementCount(e) {
|
|
2191
1732
|
const t = e.length;
|
|
2192
|
-
const
|
|
2193
|
-
if (
|
|
1733
|
+
const n = t > 1 ? e[t - 1] : 0;
|
|
1734
|
+
if (n >= 0) {
|
|
2194
1735
|
e.push(-1);
|
|
2195
1736
|
} else {
|
|
2196
|
-
e[t - 1] =
|
|
1737
|
+
e[t - 1] = n - 1;
|
|
2197
1738
|
}
|
|
2198
1739
|
}
|
|
2199
1740
|
|
|
2200
1741
|
function vNodeData_addTextSize(e, t) {
|
|
2201
|
-
const
|
|
2202
|
-
const
|
|
2203
|
-
if (
|
|
1742
|
+
const n = e.length;
|
|
1743
|
+
const r = n > 1 ? e[n - 1] : 0;
|
|
1744
|
+
if (n > 1 && r >= 0) {
|
|
2204
1745
|
e[0] |= 1 /* TEXT_DATA */;
|
|
2205
1746
|
}
|
|
2206
1747
|
e.push(t);
|
|
@@ -2223,29 +1764,29 @@ function vNodeData_openElement(e) {
|
|
|
2223
1764
|
e[0] |= 4 /* ELEMENT_NODE */;
|
|
2224
1765
|
}
|
|
2225
1766
|
|
|
2226
|
-
function vNodeData_createSsrNodeReference(e, t,
|
|
1767
|
+
function vNodeData_createSsrNodeReference(e, t, n, r, s) {
|
|
2227
1768
|
t[0] |= 8 /* REFERENCE */;
|
|
2228
1769
|
const i = [ -1 ];
|
|
2229
1770
|
let o = -1;
|
|
2230
1771
|
for (let e = 1; e < t.length; e++) {
|
|
2231
|
-
const
|
|
2232
|
-
if (typeof
|
|
1772
|
+
const n = t[e];
|
|
1773
|
+
if (typeof n === "object" && n !== null) {
|
|
2233
1774
|
o = e;
|
|
2234
1775
|
e++;
|
|
2235
1776
|
if (t[e] !== WRITE_ELEMENT_ATTRS) {
|
|
2236
1777
|
i[i.length - 1]++;
|
|
2237
1778
|
i.push(-1);
|
|
2238
1779
|
}
|
|
2239
|
-
} else if (
|
|
1780
|
+
} else if (n === CLOSE_FRAGMENT) {
|
|
2240
1781
|
i.pop();
|
|
2241
|
-
} else if (
|
|
2242
|
-
const e = 0 -
|
|
1782
|
+
} else if (n < 0) {
|
|
1783
|
+
const e = 0 - n;
|
|
2243
1784
|
i[i.length - 1] += e;
|
|
2244
1785
|
} else {
|
|
2245
1786
|
i[i.length - 1]++;
|
|
2246
1787
|
}
|
|
2247
1788
|
}
|
|
2248
|
-
let a =
|
|
1789
|
+
let a = n + "";
|
|
2249
1790
|
if (t[0] & (2 /* VIRTUAL_NODE */ | 1 /* TEXT_DATA */)) {
|
|
2250
1791
|
for (let e = 0; e < i.length; e++) {
|
|
2251
1792
|
const t = i[e];
|
|
@@ -2254,7 +1795,7 @@ function vNodeData_createSsrNodeReference(e, t, r, n, s) {
|
|
|
2254
1795
|
}
|
|
2255
1796
|
}
|
|
2256
1797
|
}
|
|
2257
|
-
return new SsrNode(e, a, o,
|
|
1798
|
+
return new SsrNode(e, a, o, r, t, s);
|
|
2258
1799
|
}
|
|
2259
1800
|
|
|
2260
1801
|
var ALPHANUMERIC = [];
|
|
@@ -2309,14 +1850,14 @@ var StringBufferWriter = class {
|
|
|
2309
1850
|
}
|
|
2310
1851
|
};
|
|
2311
1852
|
|
|
2312
|
-
var
|
|
1853
|
+
var Fi = {};
|
|
2313
1854
|
|
|
2314
1855
|
var QTemplateProps = {
|
|
2315
1856
|
hidden: true,
|
|
2316
1857
|
"aria-hidden": true
|
|
2317
1858
|
};
|
|
2318
1859
|
|
|
2319
|
-
var SSRContainer = class extends
|
|
1860
|
+
var SSRContainer = class extends Ou {
|
|
2320
1861
|
tag;
|
|
2321
1862
|
isHtml;
|
|
2322
1863
|
writer;
|
|
@@ -2358,17 +1899,17 @@ var SSRContainer = class extends qc {
|
|
|
2358
1899
|
componentStack=[];
|
|
2359
1900
|
cleanupQueue=[];
|
|
2360
1901
|
emitContainerDataFrame=null;
|
|
2361
|
-
|
|
1902
|
+
ue=randomStr();
|
|
2362
1903
|
// Temporary flag to find missing roots after the state was serialized
|
|
2363
|
-
|
|
1904
|
+
t=false;
|
|
2364
1905
|
qlInclude;
|
|
2365
1906
|
promiseAttributes=null;
|
|
2366
1907
|
constructor(e) {
|
|
2367
|
-
super(e.renderOptions.serverData ??
|
|
1908
|
+
super(e.renderOptions.serverData ?? Fi, e.locale);
|
|
2368
1909
|
this.symbolToChunkResolver = e => {
|
|
2369
1910
|
const t = e.lastIndexOf("_");
|
|
2370
|
-
const
|
|
2371
|
-
return
|
|
1911
|
+
const n = this.resolvedManifest.mapper[t == -1 ? e : e.substring(t + 1)];
|
|
1912
|
+
return n ? n[1] : "";
|
|
2372
1913
|
};
|
|
2373
1914
|
this.serializationCtx = this.serializationCtxFactory(SsrNode, DomRef, this.symbolToChunkResolver, e.writer);
|
|
2374
1915
|
this.renderTimer = createTimer();
|
|
@@ -2380,7 +1921,7 @@ var SSRContainer = class extends qc {
|
|
|
2380
1921
|
this.ce = e.buildBase;
|
|
2381
1922
|
this.resolvedManifest = e.resolvedManifest;
|
|
2382
1923
|
this.renderOptions = e.renderOptions;
|
|
2383
|
-
this.
|
|
1924
|
+
this.le = 1e5;
|
|
2384
1925
|
const t = this.renderOptions.qwikLoader;
|
|
2385
1926
|
this.qlInclude = t ? typeof t === "object" ? t.include === "never" ? 2 /* Done */ : 0 /* Module */ : t === "inline" ? 1 /* Inline */ : t === "never" ? 2 /* Done */ : 0 /* Module */ : 0 /* Module */;
|
|
2386
1927
|
if (this.qlInclude === 0 /* Module */) {
|
|
@@ -2389,21 +1930,21 @@ var SSRContainer = class extends qc {
|
|
|
2389
1930
|
this.qlInclude = 1 /* Inline */;
|
|
2390
1931
|
}
|
|
2391
1932
|
}
|
|
2392
|
-
this.
|
|
1933
|
+
this.i();
|
|
2393
1934
|
}
|
|
2394
1935
|
ensureProjectionResolved(e) {}
|
|
2395
1936
|
handleError(e, t) {
|
|
2396
1937
|
throw e;
|
|
2397
1938
|
}
|
|
2398
|
-
addBackpatchEntry(e, t,
|
|
2399
|
-
const
|
|
1939
|
+
addBackpatchEntry(e, t, n) {
|
|
1940
|
+
const r = parseInt(e, 10);
|
|
2400
1941
|
const s = {
|
|
2401
1942
|
attrName: t,
|
|
2402
|
-
value:
|
|
1943
|
+
value: n
|
|
2403
1944
|
};
|
|
2404
|
-
const i = this.backpatchMap.get(
|
|
1945
|
+
const i = this.backpatchMap.get(r) || [];
|
|
2405
1946
|
i.push(s);
|
|
2406
|
-
this.backpatchMap.set(
|
|
1947
|
+
this.backpatchMap.set(r, i);
|
|
2407
1948
|
}
|
|
2408
1949
|
async render(e) {
|
|
2409
1950
|
this.openContainer();
|
|
@@ -2416,23 +1957,23 @@ var SSRContainer = class extends qc {
|
|
|
2416
1957
|
async renderJSX(e, t) {
|
|
2417
1958
|
await Rn(this, e, t);
|
|
2418
1959
|
}
|
|
2419
|
-
setContext(e, t,
|
|
2420
|
-
const
|
|
2421
|
-
let s =
|
|
1960
|
+
setContext(e, t, n) {
|
|
1961
|
+
const r = e;
|
|
1962
|
+
let s = r.getProp(Ie);
|
|
2422
1963
|
if (s == null) {
|
|
2423
|
-
|
|
1964
|
+
r.setProp(Ie, s = []);
|
|
2424
1965
|
}
|
|
2425
|
-
|
|
2426
|
-
this.addRoot(
|
|
1966
|
+
pe(s, t.id, n, 0, true);
|
|
1967
|
+
this.addRoot(r);
|
|
2427
1968
|
}
|
|
2428
1969
|
resolveContext(e, t) {
|
|
2429
|
-
let
|
|
2430
|
-
while (
|
|
2431
|
-
const e =
|
|
2432
|
-
if (e != null &&
|
|
1970
|
+
let n = e;
|
|
1971
|
+
while (n) {
|
|
1972
|
+
const e = n.getProp(Ie);
|
|
1973
|
+
if (e != null && me(e, t.id, 0)) {
|
|
2433
1974
|
return $e(e, t.id, 0);
|
|
2434
1975
|
}
|
|
2435
|
-
|
|
1976
|
+
n = n.parentComponent;
|
|
2436
1977
|
}
|
|
2437
1978
|
return void 0;
|
|
2438
1979
|
}
|
|
@@ -2440,13 +1981,13 @@ var SSRContainer = class extends qc {
|
|
|
2440
1981
|
const t = e;
|
|
2441
1982
|
return t.parentComponent;
|
|
2442
1983
|
}
|
|
2443
|
-
setHostProp(e, t,
|
|
2444
|
-
const
|
|
2445
|
-
return
|
|
1984
|
+
setHostProp(e, t, n) {
|
|
1985
|
+
const r = e;
|
|
1986
|
+
return r.setProp(t, n);
|
|
2446
1987
|
}
|
|
2447
1988
|
getHostProp(e, t) {
|
|
2448
|
-
const
|
|
2449
|
-
return
|
|
1989
|
+
const n = e;
|
|
1990
|
+
return n.getProp(t);
|
|
2450
1991
|
}
|
|
2451
1992
|
/**
|
|
2452
1993
|
* Renders opening tag for container. It could be a html tag for regular apps or custom element
|
|
@@ -2457,15 +1998,15 @@ var SSRContainer = class extends qc {
|
|
|
2457
1998
|
}
|
|
2458
1999
|
const e = this.renderOptions.containerAttributes || {};
|
|
2459
2000
|
const t = e[QRenderAttr];
|
|
2460
|
-
e[
|
|
2001
|
+
e[Qe] = "paused" /* PAUSED */;
|
|
2461
2002
|
e[QRuntimeAttr] = "2";
|
|
2462
|
-
e[QVersionAttr] = this.
|
|
2003
|
+
e[QVersionAttr] = this.oe ?? "dev";
|
|
2463
2004
|
e[QRenderAttr] = (t ? t + "-" : "") + (isDev7 ? "ssr-dev" : "ssr");
|
|
2464
2005
|
e[ze] = this.ce || "";
|
|
2465
|
-
e[QLocaleAttr] = this.
|
|
2006
|
+
e[QLocaleAttr] = this.Mt;
|
|
2466
2007
|
e[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
|
|
2467
|
-
e[QInstanceAttr] = this.
|
|
2468
|
-
this.
|
|
2008
|
+
e[QInstanceAttr] = this.ue;
|
|
2009
|
+
this.Dt.containerAttributes = e;
|
|
2469
2010
|
this.openElement(this.tag, null, e);
|
|
2470
2011
|
if (!this.isHtml) {
|
|
2471
2012
|
this.emitContainerDataFrame = this.currentElementFrame;
|
|
@@ -2476,8 +2017,8 @@ var SSRContainer = class extends qc {
|
|
|
2476
2017
|
}
|
|
2477
2018
|
Et=0;
|
|
2478
2019
|
/** Renders opening tag for DOM element */
|
|
2479
|
-
openElement(e, t,
|
|
2480
|
-
const a = isQwikStyleElement(e,
|
|
2020
|
+
openElement(e, t, n, r = null, s = null, i = null, o = true) {
|
|
2021
|
+
const a = isQwikStyleElement(e, n) || isQwikStyleElement(e, r);
|
|
2481
2022
|
if (e === "noscript" || e === "template" || e === "script") {
|
|
2482
2023
|
this.Et++;
|
|
2483
2024
|
}
|
|
@@ -2502,8 +2043,8 @@ var SSRContainer = class extends qc {
|
|
|
2502
2043
|
this.write(LT);
|
|
2503
2044
|
this.write(e);
|
|
2504
2045
|
const c = this.getOrCreateLastNode();
|
|
2505
|
-
if (
|
|
2506
|
-
l = this.writeAttrs(e,
|
|
2046
|
+
if (n) {
|
|
2047
|
+
l = this.writeAttrs(e, n, false, s, i, o);
|
|
2507
2048
|
}
|
|
2508
2049
|
this.write(" " + cr);
|
|
2509
2050
|
if (t !== null) {
|
|
@@ -2511,8 +2052,8 @@ var SSRContainer = class extends qc {
|
|
|
2511
2052
|
} else if (import.meta.env.TEST) {
|
|
2512
2053
|
this.write(EMPTY_ATTR);
|
|
2513
2054
|
}
|
|
2514
|
-
if (
|
|
2515
|
-
l = this.writeAttrs(e,
|
|
2055
|
+
if (r && !ti(r)) {
|
|
2056
|
+
l = this.writeAttrs(e, r, true, s, i, o) || l;
|
|
2516
2057
|
}
|
|
2517
2058
|
this.write(GT);
|
|
2518
2059
|
if (c) {
|
|
@@ -2539,9 +2080,9 @@ var SSRContainer = class extends qc {
|
|
|
2539
2080
|
let e = this.cleanupQueue.pop();
|
|
2540
2081
|
while (e) {
|
|
2541
2082
|
for (let t = 0; t < e.length; t++) {
|
|
2542
|
-
const
|
|
2543
|
-
if (hasDestroy(
|
|
2544
|
-
|
|
2083
|
+
const n = e[t];
|
|
2084
|
+
if (hasDestroy(n)) {
|
|
2085
|
+
n.qn();
|
|
2545
2086
|
}
|
|
2546
2087
|
}
|
|
2547
2088
|
e = this.cleanupQueue.pop();
|
|
@@ -2600,8 +2141,8 @@ var SSRContainer = class extends qc {
|
|
|
2600
2141
|
* @returns
|
|
2601
2142
|
*/ getComponentFrame(e = 0) {
|
|
2602
2143
|
const t = this.componentStack.length;
|
|
2603
|
-
const
|
|
2604
|
-
return
|
|
2144
|
+
const n = t - e - 1;
|
|
2145
|
+
return n >= 0 ? this.componentStack[n] : null;
|
|
2605
2146
|
}
|
|
2606
2147
|
getParentComponentFrame() {
|
|
2607
2148
|
const e = this.getComponentFrame()?.projectionDepth || 0;
|
|
@@ -2617,13 +2158,13 @@ var SSRContainer = class extends qc {
|
|
|
2617
2158
|
if (e.slots.length === 0) {
|
|
2618
2159
|
return;
|
|
2619
2160
|
}
|
|
2620
|
-
this.openElement(
|
|
2161
|
+
this.openElement(He, null, QTemplateProps, null);
|
|
2621
2162
|
const t = e.projectionScopedStyle;
|
|
2622
|
-
for (let
|
|
2623
|
-
const
|
|
2624
|
-
const s = e.slots[
|
|
2163
|
+
for (let n = 0; n < e.slots.length; n += 2) {
|
|
2164
|
+
const r = e.slots[n];
|
|
2165
|
+
const s = e.slots[n + 1];
|
|
2625
2166
|
this.openFragment(isDev7 ? {
|
|
2626
|
-
[
|
|
2167
|
+
[qe]: "P" /* Projection */ ,
|
|
2627
2168
|
[QSlotParent]: e.componentNode.id
|
|
2628
2169
|
} : {
|
|
2629
2170
|
[QSlotParent]: e.componentNode.id
|
|
@@ -2632,7 +2173,7 @@ var SSRContainer = class extends qc {
|
|
|
2632
2173
|
if (i.vnodeData) {
|
|
2633
2174
|
i.vnodeData[0] |= 16 /* SERIALIZE */;
|
|
2634
2175
|
}
|
|
2635
|
-
e.componentNode.setProp(
|
|
2176
|
+
e.componentNode.setProp(r, i.id);
|
|
2636
2177
|
await this.renderJSX(s, {
|
|
2637
2178
|
currentStyleScoped: t,
|
|
2638
2179
|
parentComponentFrame: e.projectionComponentFrame
|
|
@@ -2653,8 +2194,8 @@ var SSRContainer = class extends qc {
|
|
|
2653
2194
|
this.write("\x3c!--" + e + "--\x3e");
|
|
2654
2195
|
}
|
|
2655
2196
|
addRoot(e) {
|
|
2656
|
-
if (this.
|
|
2657
|
-
return this.serializationCtx.
|
|
2197
|
+
if (this.t) {
|
|
2198
|
+
return this.serializationCtx.ie(e);
|
|
2658
2199
|
}
|
|
2659
2200
|
return this.serializationCtx.kt(e);
|
|
2660
2201
|
}
|
|
@@ -2666,35 +2207,35 @@ var SSRContainer = class extends qc {
|
|
|
2666
2207
|
}
|
|
2667
2208
|
return this.lastNode;
|
|
2668
2209
|
}
|
|
2669
|
-
addUnclaimedProjection(e, t,
|
|
2670
|
-
e.slots.push(t,
|
|
2210
|
+
addUnclaimedProjection(e, t, n) {
|
|
2211
|
+
e.slots.push(t, n);
|
|
2671
2212
|
}
|
|
2672
|
-
|
|
2213
|
+
i() {
|
|
2673
2214
|
const e = this.resolvedManifest.manifest.injections;
|
|
2674
2215
|
if (!e) {
|
|
2675
2216
|
return;
|
|
2676
2217
|
}
|
|
2677
2218
|
for (let t = 0; t < e.length; t++) {
|
|
2678
|
-
const
|
|
2679
|
-
const
|
|
2680
|
-
if (
|
|
2681
|
-
this.additionalHeadNodes.push(
|
|
2219
|
+
const n = e[t];
|
|
2220
|
+
const r = xs(n.tag, null, n.attributes || {}, null, 0, null);
|
|
2221
|
+
if (n.location === "head") {
|
|
2222
|
+
this.additionalHeadNodes.push(r);
|
|
2682
2223
|
} else {
|
|
2683
|
-
this.additionalBodyNodes.push(
|
|
2224
|
+
this.additionalBodyNodes.push(r);
|
|
2684
2225
|
}
|
|
2685
2226
|
}
|
|
2686
2227
|
}
|
|
2687
|
-
|
|
2688
|
-
if (
|
|
2228
|
+
we(e, t, n, r) {
|
|
2229
|
+
if (r) {
|
|
2689
2230
|
const e = this.getComponentFrame(0);
|
|
2690
2231
|
e.scopedStyleIds.add(t);
|
|
2691
|
-
const
|
|
2692
|
-
this.setHostProp(
|
|
2232
|
+
const r = convertStyleIdsToString(e.scopedStyleIds);
|
|
2233
|
+
this.setHostProp(n, Ne, r);
|
|
2693
2234
|
}
|
|
2694
2235
|
if (!this.styleIds.has(t)) {
|
|
2695
2236
|
this.styleIds.add(t);
|
|
2696
2237
|
if (this.currentElementFrame?.elementName === "html") {
|
|
2697
|
-
this.additionalHeadNodes.push(
|
|
2238
|
+
this.additionalHeadNodes.push(ks("style", null, {
|
|
2698
2239
|
dangerouslySetInnerHTML: e,
|
|
2699
2240
|
[Oe]: t
|
|
2700
2241
|
}, null, 0, t));
|
|
@@ -2713,9 +2254,9 @@ var SSRContainer = class extends qc {
|
|
|
2713
2254
|
////////////////////////////////////
|
|
2714
2255
|
emitContainerData() {
|
|
2715
2256
|
return $r(this.resolvePromiseAttributes(), () => $r(this.emitStateData(), () => {
|
|
2716
|
-
this.
|
|
2257
|
+
this.t = true;
|
|
2717
2258
|
this.emitVNodeData();
|
|
2718
|
-
preloaderPost(this, this.renderOptions, this.
|
|
2259
|
+
preloaderPost(this, this.renderOptions, this.Dt?.nonce);
|
|
2719
2260
|
this.emitSyncFnsData();
|
|
2720
2261
|
this.emitPatchDataIfNeeded();
|
|
2721
2262
|
this.emitExecutorIfNeeded();
|
|
@@ -2740,7 +2281,7 @@ var SSRContainer = class extends qc {
|
|
|
2740
2281
|
* NOTE: Not every element will need vNodeData. So we need to encode how many elements should be
|
|
2741
2282
|
* skipped. By choosing different separators we can encode different numbers of elements to skip.
|
|
2742
2283
|
*/ emitVNodeData() {
|
|
2743
|
-
if (!this.serializationCtx.
|
|
2284
|
+
if (!this.serializationCtx.Un.length) {
|
|
2744
2285
|
return;
|
|
2745
2286
|
}
|
|
2746
2287
|
this.openElement("script", null, {
|
|
@@ -2748,35 +2289,35 @@ var SSRContainer = class extends qc {
|
|
|
2748
2289
|
});
|
|
2749
2290
|
const e = [];
|
|
2750
2291
|
const t = this.vNodeDatas;
|
|
2751
|
-
let
|
|
2752
|
-
for (let
|
|
2753
|
-
const s = t[
|
|
2292
|
+
let n = 0;
|
|
2293
|
+
for (let r = 0; r < t.length; r++) {
|
|
2294
|
+
const s = t[r];
|
|
2754
2295
|
const i = s[0];
|
|
2755
2296
|
if (i & 16 /* SERIALIZE */) {
|
|
2756
|
-
|
|
2297
|
+
n = this.emitVNodeSeparators(n, r);
|
|
2757
2298
|
if (i & 8 /* REFERENCE */) {
|
|
2758
2299
|
this.write(VNodeDataSeparator.REFERENCE_CH);
|
|
2759
2300
|
}
|
|
2760
2301
|
if (i & (1 /* TEXT_DATA */ | 2 /* VIRTUAL_NODE */ | 4 /* ELEMENT_NODE */)) {
|
|
2761
2302
|
let t = null;
|
|
2762
|
-
let
|
|
2763
|
-
for (let
|
|
2764
|
-
const i = s[
|
|
2303
|
+
let n = 0;
|
|
2304
|
+
for (let r = 1; r < s.length; r++) {
|
|
2305
|
+
const i = s[r];
|
|
2765
2306
|
if (typeof i === "object" && i !== null) {
|
|
2766
2307
|
e.push(t);
|
|
2767
2308
|
t = i;
|
|
2768
2309
|
} else if (i === OPEN_FRAGMENT) {
|
|
2769
|
-
|
|
2310
|
+
n++;
|
|
2770
2311
|
this.write(VNodeDataChar.OPEN_CHAR);
|
|
2771
2312
|
} else if (i === CLOSE_FRAGMENT) {
|
|
2772
2313
|
if (t) {
|
|
2773
2314
|
this.writeFragmentAttrs(t);
|
|
2774
2315
|
t = e.pop();
|
|
2775
2316
|
}
|
|
2776
|
-
|
|
2317
|
+
n--;
|
|
2777
2318
|
this.write(VNodeDataChar.CLOSE_CHAR);
|
|
2778
2319
|
} else if (i === WRITE_ELEMENT_ATTRS) {
|
|
2779
|
-
if (t && !
|
|
2320
|
+
if (t && !ti(t)) {
|
|
2780
2321
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2781
2322
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2782
2323
|
this.writeFragmentAttrs(t);
|
|
@@ -2790,7 +2331,7 @@ var SSRContainer = class extends qc {
|
|
|
2790
2331
|
this.write(String(0 - i));
|
|
2791
2332
|
}
|
|
2792
2333
|
}
|
|
2793
|
-
while (
|
|
2334
|
+
while (n-- > 0) {
|
|
2794
2335
|
if (t) {
|
|
2795
2336
|
this.writeFragmentAttrs(t);
|
|
2796
2337
|
t = e.pop();
|
|
@@ -2804,21 +2345,21 @@ var SSRContainer = class extends qc {
|
|
|
2804
2345
|
}
|
|
2805
2346
|
writeFragmentAttrs(e) {
|
|
2806
2347
|
for (const t in e) {
|
|
2807
|
-
let
|
|
2808
|
-
let
|
|
2809
|
-
if (typeof
|
|
2810
|
-
const e = this.addRoot(
|
|
2348
|
+
let n = e[t];
|
|
2349
|
+
let r = false;
|
|
2350
|
+
if (typeof n !== "string") {
|
|
2351
|
+
const e = this.addRoot(n);
|
|
2811
2352
|
if (e === void 0) {
|
|
2812
2353
|
continue;
|
|
2813
2354
|
}
|
|
2814
|
-
|
|
2355
|
+
n = String(e);
|
|
2815
2356
|
}
|
|
2816
2357
|
switch (t) {
|
|
2817
2358
|
case Ne:
|
|
2818
2359
|
this.write(VNodeDataChar.SCOPED_STYLE_CHAR);
|
|
2819
2360
|
break;
|
|
2820
2361
|
|
|
2821
|
-
case
|
|
2362
|
+
case Ee:
|
|
2822
2363
|
this.write(VNodeDataChar.RENDER_FN_CHAR);
|
|
2823
2364
|
break;
|
|
2824
2365
|
|
|
@@ -2826,24 +2367,24 @@ var SSRContainer = class extends qc {
|
|
|
2826
2367
|
this.write(VNodeDataChar.ID_CHAR);
|
|
2827
2368
|
break;
|
|
2828
2369
|
|
|
2829
|
-
case
|
|
2370
|
+
case tr:
|
|
2830
2371
|
this.write(VNodeDataChar.PROPS_CHAR);
|
|
2831
2372
|
break;
|
|
2832
2373
|
|
|
2833
|
-
case
|
|
2834
|
-
|
|
2374
|
+
case Ze:
|
|
2375
|
+
r = true;
|
|
2835
2376
|
this.write(VNodeDataChar.KEY_CHAR);
|
|
2836
2377
|
break;
|
|
2837
2378
|
|
|
2838
|
-
case
|
|
2379
|
+
case nr:
|
|
2839
2380
|
this.write(VNodeDataChar.SEQ_CHAR);
|
|
2840
2381
|
break;
|
|
2841
2382
|
|
|
2842
|
-
case
|
|
2383
|
+
case er:
|
|
2843
2384
|
this.write(VNodeDataChar.SEQ_IDX_CHAR);
|
|
2844
2385
|
break;
|
|
2845
2386
|
|
|
2846
|
-
case
|
|
2387
|
+
case Fe:
|
|
2847
2388
|
this.write(VNodeDataChar.BACK_REFS_CHAR);
|
|
2848
2389
|
break;
|
|
2849
2390
|
|
|
@@ -2856,36 +2397,36 @@ var SSRContainer = class extends qc {
|
|
|
2856
2397
|
this.write(VNodeDataChar.CONTEXT_CHAR);
|
|
2857
2398
|
break;
|
|
2858
2399
|
|
|
2859
|
-
case
|
|
2400
|
+
case Pe:
|
|
2860
2401
|
this.write(VNodeDataChar.SLOT_CHAR);
|
|
2861
2402
|
break;
|
|
2862
2403
|
|
|
2863
2404
|
default:
|
|
2864
2405
|
{
|
|
2865
|
-
|
|
2406
|
+
r = true;
|
|
2866
2407
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2867
2408
|
this.write(encodeVNodeDataString(t));
|
|
2868
2409
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2869
2410
|
}
|
|
2870
2411
|
}
|
|
2871
|
-
const s = encodeVNodeDataString(
|
|
2872
|
-
const i =
|
|
2412
|
+
const s = encodeVNodeDataString(r ? encodeURI(n) : n);
|
|
2413
|
+
const i = r ? s !== n : false;
|
|
2873
2414
|
if (i) {
|
|
2874
2415
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2875
2416
|
this.write(s);
|
|
2876
2417
|
this.write(VNodeDataChar.SEPARATOR_CHAR);
|
|
2877
2418
|
} else {
|
|
2878
|
-
this.write(
|
|
2419
|
+
this.write(n);
|
|
2879
2420
|
}
|
|
2880
2421
|
}
|
|
2881
2422
|
}
|
|
2882
2423
|
emitStateData() {
|
|
2883
|
-
if (!this.serializationCtx.
|
|
2424
|
+
if (!this.serializationCtx.Un.length) {
|
|
2884
2425
|
return;
|
|
2885
2426
|
}
|
|
2886
2427
|
const e = this.stateScriptAttrs();
|
|
2887
2428
|
this.openElement("script", null, e);
|
|
2888
|
-
return $r(this.serializationCtx.
|
|
2429
|
+
return $r(this.serializationCtx.jt(), () => {
|
|
2889
2430
|
this.closeElement();
|
|
2890
2431
|
});
|
|
2891
2432
|
}
|
|
@@ -2893,14 +2434,14 @@ var SSRContainer = class extends qc {
|
|
|
2893
2434
|
const e = {
|
|
2894
2435
|
type: "qwik/state"
|
|
2895
2436
|
};
|
|
2896
|
-
const t = this.serializationCtx.
|
|
2437
|
+
const t = this.serializationCtx.Rt;
|
|
2897
2438
|
if (t.size > 0) {
|
|
2898
|
-
e["q-d:qidle"] =
|
|
2439
|
+
e["q-d:qidle"] = Xc(null, "_res", w, null, [ ...t ]);
|
|
2899
2440
|
}
|
|
2900
2441
|
return e;
|
|
2901
2442
|
}
|
|
2902
2443
|
emitSyncFnsData() {
|
|
2903
|
-
const e = this.serializationCtx.
|
|
2444
|
+
const e = this.serializationCtx.ne;
|
|
2904
2445
|
if (e.length) {
|
|
2905
2446
|
const t = {
|
|
2906
2447
|
"q:func": "qwik/json"
|
|
@@ -2909,19 +2450,19 @@ var SSRContainer = class extends qc {
|
|
|
2909
2450
|
t["nonce"] = this.renderOptions.serverData.nonce;
|
|
2910
2451
|
}
|
|
2911
2452
|
this.openElement("script", null, t);
|
|
2912
|
-
this.write(Q_FUNCS_PREFIX.replace("HASH", this.
|
|
2453
|
+
this.write(Q_FUNCS_PREFIX.replace("HASH", this.ue));
|
|
2913
2454
|
this.write(BRACKET_OPEN);
|
|
2914
|
-
this.writeArray(e,
|
|
2455
|
+
this.writeArray(e, ni);
|
|
2915
2456
|
this.write(BRACKET_CLOSE);
|
|
2916
2457
|
this.closeElement();
|
|
2917
2458
|
}
|
|
2918
2459
|
}
|
|
2919
2460
|
emitPatchDataIfNeeded() {
|
|
2920
2461
|
const e = [];
|
|
2921
|
-
for (const [t,
|
|
2922
|
-
for (let
|
|
2923
|
-
const s = r
|
|
2924
|
-
e.push(t, s.attrName,
|
|
2462
|
+
for (const [t, n] of this.backpatchMap) {
|
|
2463
|
+
for (let r = 0; r < n.length; r++) {
|
|
2464
|
+
const s = n[r];
|
|
2465
|
+
e.push(t, s.attrName, Fl(s.value) ? s.value.untrackedValue : s.value);
|
|
2925
2466
|
}
|
|
2926
2467
|
}
|
|
2927
2468
|
this.backpatchMap.clear();
|
|
@@ -2969,21 +2510,21 @@ var SSRContainer = class extends qc {
|
|
|
2969
2510
|
rel: "modulepreload",
|
|
2970
2511
|
href: e
|
|
2971
2512
|
};
|
|
2972
|
-
const
|
|
2973
|
-
if (
|
|
2974
|
-
t["nonce"] =
|
|
2513
|
+
const n = this.renderOptions.serverData?.nonce;
|
|
2514
|
+
if (n) {
|
|
2515
|
+
t["nonce"] = n;
|
|
2975
2516
|
}
|
|
2976
2517
|
this.openElement("link", null, t);
|
|
2977
2518
|
this.closeElement();
|
|
2978
|
-
const
|
|
2519
|
+
const r = {
|
|
2979
2520
|
async: true,
|
|
2980
2521
|
type: "module",
|
|
2981
2522
|
src: e
|
|
2982
2523
|
};
|
|
2983
|
-
if (
|
|
2984
|
-
|
|
2524
|
+
if (n) {
|
|
2525
|
+
r["nonce"] = n;
|
|
2985
2526
|
}
|
|
2986
|
-
this.openElement("script", null,
|
|
2527
|
+
this.openElement("script", null, r);
|
|
2987
2528
|
this.closeElement();
|
|
2988
2529
|
}
|
|
2989
2530
|
}
|
|
@@ -3009,76 +2550,76 @@ var SSRContainer = class extends qc {
|
|
|
3009
2550
|
if (this.qlInclude !== 2 /* Done */) {
|
|
3010
2551
|
this.emitQwikLoaderInline();
|
|
3011
2552
|
}
|
|
3012
|
-
this.emitQwikEvents(Array.from(this.serializationCtx.
|
|
2553
|
+
this.emitQwikEvents(Array.from(this.serializationCtx.Tt, e => JSON.stringify(e)));
|
|
3013
2554
|
}
|
|
3014
2555
|
}
|
|
3015
2556
|
emitQwikEvents(e) {
|
|
3016
2557
|
if (e.length > 0) {
|
|
3017
2558
|
const t = {};
|
|
3018
|
-
const
|
|
3019
|
-
if (
|
|
3020
|
-
t["nonce"] =
|
|
2559
|
+
const n = this.renderOptions.serverData?.nonce;
|
|
2560
|
+
if (n) {
|
|
2561
|
+
t["nonce"] = n;
|
|
3021
2562
|
}
|
|
3022
2563
|
this.openElement("script", null, t);
|
|
3023
2564
|
this.write(`(window._qwikEv||(window._qwikEv=[])).push(`);
|
|
3024
|
-
this.writeArray(e,
|
|
2565
|
+
this.writeArray(e, ni);
|
|
3025
2566
|
this.write(PAREN_CLOSE);
|
|
3026
2567
|
this.closeElement();
|
|
3027
2568
|
}
|
|
3028
2569
|
}
|
|
3029
2570
|
// Keep in sync with process-vnode-data.unit.ts
|
|
3030
2571
|
emitVNodeSeparators(e, t) {
|
|
3031
|
-
let
|
|
3032
|
-
while (
|
|
3033
|
-
if (
|
|
2572
|
+
let n = t - e;
|
|
2573
|
+
while (n != 0) {
|
|
2574
|
+
if (n >= 8192) {
|
|
3034
2575
|
this.write(VNodeDataSeparator.ADVANCE_8192_CH);
|
|
3035
|
-
|
|
2576
|
+
n -= 8192;
|
|
3036
2577
|
} else {
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
2578
|
+
n & 4096 && this.write(VNodeDataSeparator.ADVANCE_4096_CH);
|
|
2579
|
+
n & 2048 && this.write(VNodeDataSeparator.ADVANCE_2048_CH);
|
|
2580
|
+
n & 1024 && this.write(VNodeDataSeparator.ADVANCE_1024_CH);
|
|
2581
|
+
n & 512 && this.write(VNodeDataSeparator.ADVANCE_512_CH);
|
|
2582
|
+
n & 256 && this.write(VNodeDataSeparator.ADVANCE_256_CH);
|
|
2583
|
+
n & 128 && this.write(VNodeDataSeparator.ADVANCE_128_CH);
|
|
2584
|
+
n & 64 && this.write(VNodeDataSeparator.ADVANCE_64_CH);
|
|
2585
|
+
n & 32 && this.write(VNodeDataSeparator.ADVANCE_32_CH);
|
|
2586
|
+
n & 16 && this.write(VNodeDataSeparator.ADVANCE_16_CH);
|
|
2587
|
+
n & 8 && this.write(VNodeDataSeparator.ADVANCE_8_CH);
|
|
2588
|
+
n & 4 && this.write(VNodeDataSeparator.ADVANCE_4_CH);
|
|
2589
|
+
n & 2 && this.write(VNodeDataSeparator.ADVANCE_2_CH);
|
|
2590
|
+
n & 1 && this.write(VNodeDataSeparator.ADVANCE_1_CH);
|
|
2591
|
+
n = 0;
|
|
3051
2592
|
}
|
|
3052
2593
|
}
|
|
3053
2594
|
return t;
|
|
3054
2595
|
}
|
|
3055
|
-
createAndPushFrame(e, t,
|
|
3056
|
-
let
|
|
2596
|
+
createAndPushFrame(e, t, n) {
|
|
2597
|
+
let r = 10 /* ANYTHING */;
|
|
3057
2598
|
if (isDev7) {
|
|
3058
2599
|
if (!this.currentElementFrame) {
|
|
3059
|
-
|
|
2600
|
+
r = initialTag(e);
|
|
3060
2601
|
} else {
|
|
3061
2602
|
let t = this.currentElementFrame;
|
|
3062
2603
|
const s = t.tagNesting;
|
|
3063
|
-
|
|
3064
|
-
if (
|
|
3065
|
-
const
|
|
2604
|
+
r = isTagAllowed(s, e);
|
|
2605
|
+
if (r === 0 /* NOT_ALLOWED */) {
|
|
2606
|
+
const r = [];
|
|
3066
2607
|
while (t) {
|
|
3067
|
-
|
|
2608
|
+
r.unshift(t);
|
|
3068
2609
|
t = t.parent;
|
|
3069
2610
|
}
|
|
3070
2611
|
const i = [];
|
|
3071
|
-
if (
|
|
3072
|
-
i.push(`Error found in file: ${
|
|
2612
|
+
if (n) {
|
|
2613
|
+
i.push(`Error found in file: ${n}`);
|
|
3073
2614
|
}
|
|
3074
2615
|
i.push(`HTML rules do not allow '<${e}>' at this location.`, ` (The HTML parser will try to recover by auto-closing or inserting additional tags which will confuse Qwik when it resumes.)`, ` Offending tag: <${e}>`, ` Existing tag context:`);
|
|
3075
2616
|
let o = " ";
|
|
3076
2617
|
let a = "";
|
|
3077
|
-
for (let e = 0; e <
|
|
3078
|
-
const t =
|
|
3079
|
-
const [
|
|
3080
|
-
i.push(`${o}<${t.elementName}>${a !==
|
|
3081
|
-
a =
|
|
2618
|
+
for (let e = 0; e < r.length; e++) {
|
|
2619
|
+
const t = r[e];
|
|
2620
|
+
const [n, s] = allowedContent(t.tagNesting);
|
|
2621
|
+
i.push(`${o}<${t.elementName}>${a !== n ? ` [${n}]${s ? ` -> ${s}` : ""}` : ""}`);
|
|
2622
|
+
a = n;
|
|
3082
2623
|
o += " ";
|
|
3083
2624
|
}
|
|
3084
2625
|
i.push(`${o}<${e}> <= is not allowed as a child of ${allowedContent(s)[0]}.`);
|
|
@@ -3087,12 +2628,12 @@ var SSRContainer = class extends qc {
|
|
|
3087
2628
|
}
|
|
3088
2629
|
}
|
|
3089
2630
|
const s = {
|
|
3090
|
-
tagNesting:
|
|
2631
|
+
tagNesting: r,
|
|
3091
2632
|
parent: this.currentElementFrame,
|
|
3092
2633
|
elementName: e,
|
|
3093
2634
|
depthFirstElementIdx: t,
|
|
3094
2635
|
vNodeData: [ 0 /* NONE */ ],
|
|
3095
|
-
currentFile: isDev7 ?
|
|
2636
|
+
currentFile: isDev7 ? n || null : null
|
|
3096
2637
|
};
|
|
3097
2638
|
this.currentElementFrame = s;
|
|
3098
2639
|
this.vNodeDatas.push(s.vNodeData);
|
|
@@ -3108,12 +2649,12 @@ var SSRContainer = class extends qc {
|
|
|
3108
2649
|
this.writer.write(e);
|
|
3109
2650
|
}
|
|
3110
2651
|
writeArray(e, t) {
|
|
3111
|
-
for (let
|
|
3112
|
-
const
|
|
3113
|
-
if (
|
|
2652
|
+
for (let n = 0; n < e.length; n++) {
|
|
2653
|
+
const r = e[n];
|
|
2654
|
+
if (n > 0) {
|
|
3114
2655
|
this.write(t);
|
|
3115
2656
|
}
|
|
3116
|
-
this.write(
|
|
2657
|
+
this.write(r);
|
|
3117
2658
|
}
|
|
3118
2659
|
}
|
|
3119
2660
|
writeAttrs(e, t, s, i, o, a) {
|
|
@@ -3122,16 +2663,16 @@ var SSRContainer = class extends qc {
|
|
|
3122
2663
|
let u = t[c];
|
|
3123
2664
|
if (isSSRUnsafeAttr(c)) {
|
|
3124
2665
|
if (isDev7) {
|
|
3125
|
-
throw
|
|
2666
|
+
throw Se(32 /* unsafeAttr */ , [ c ]);
|
|
3126
2667
|
}
|
|
3127
2668
|
continue;
|
|
3128
2669
|
}
|
|
3129
|
-
if (
|
|
2670
|
+
if (br(c)) {
|
|
3130
2671
|
u = _setEvent(this.serializationCtx, c, u, a);
|
|
3131
2672
|
} else if (c === "ref") {
|
|
3132
2673
|
const e = this.getOrCreateLastNode();
|
|
3133
|
-
if (
|
|
3134
|
-
u.
|
|
2674
|
+
if (Fl(u)) {
|
|
2675
|
+
u.Gt = new DomRef(e);
|
|
3135
2676
|
continue;
|
|
3136
2677
|
} else if (typeof u === "function") {
|
|
3137
2678
|
u(new DomRef(e));
|
|
@@ -3139,20 +2680,20 @@ var SSRContainer = class extends qc {
|
|
|
3139
2680
|
} else if (u == null) {
|
|
3140
2681
|
continue;
|
|
3141
2682
|
} else {
|
|
3142
|
-
throw
|
|
2683
|
+
throw Se(15 /* invalidRefValue */ , [ o ]);
|
|
3143
2684
|
}
|
|
3144
|
-
} else if (c ===
|
|
2685
|
+
} else if (c === rr || c === ir) {
|
|
3145
2686
|
u = this.serializationCtx.kt(u);
|
|
3146
|
-
} else if (
|
|
2687
|
+
} else if (Fl(u)) {
|
|
3147
2688
|
const e = this.getOrCreateLastNode();
|
|
3148
|
-
const t = new
|
|
3149
|
-
|
|
2689
|
+
const t = new cs({
|
|
2690
|
+
M: i,
|
|
3150
2691
|
et: s
|
|
3151
2692
|
});
|
|
3152
2693
|
const r = u;
|
|
3153
2694
|
u = n(() => this.trackSignalValue(r, e, c, t));
|
|
3154
2695
|
}
|
|
3155
|
-
if (
|
|
2696
|
+
if (dr(u)) {
|
|
3156
2697
|
const e = this.getOrCreateLastNode();
|
|
3157
2698
|
this.addPromiseAttribute(u);
|
|
3158
2699
|
u.then(t => {
|
|
@@ -3160,10 +2701,10 @@ var SSRContainer = class extends qc {
|
|
|
3160
2701
|
});
|
|
3161
2702
|
continue;
|
|
3162
2703
|
}
|
|
3163
|
-
if (c ===
|
|
2704
|
+
if (c === fr) {
|
|
3164
2705
|
if (u) {
|
|
3165
2706
|
l = String(u);
|
|
3166
|
-
c =
|
|
2707
|
+
c = Qe;
|
|
3167
2708
|
u = "html" /* HTML */;
|
|
3168
2709
|
}
|
|
3169
2710
|
if (e === "style") {
|
|
@@ -3175,21 +2716,21 @@ var SSRContainer = class extends qc {
|
|
|
3175
2716
|
if (e === "textarea" && c === "value") {
|
|
3176
2717
|
if (u && typeof u !== "string") {
|
|
3177
2718
|
if (isDev7) {
|
|
3178
|
-
throw
|
|
2719
|
+
throw Se(23 /* wrongTextareaValue */ , [ o, u ]);
|
|
3179
2720
|
}
|
|
3180
2721
|
continue;
|
|
3181
2722
|
}
|
|
3182
2723
|
l = escapeHTML(u || "");
|
|
3183
|
-
c =
|
|
2724
|
+
c = Qe;
|
|
3184
2725
|
u = "text" /* TEXT */;
|
|
3185
2726
|
}
|
|
3186
|
-
const
|
|
3187
|
-
if (
|
|
3188
|
-
this.write(
|
|
2727
|
+
const h = r(c, u, i);
|
|
2728
|
+
if (h != null && h !== false) {
|
|
2729
|
+
this.write(zf);
|
|
3189
2730
|
this.write(c);
|
|
3190
|
-
if (
|
|
2731
|
+
if (h !== true) {
|
|
3191
2732
|
this.write(ATTR_EQUALS_QUOTE);
|
|
3192
|
-
const e = escapeHTML(String(
|
|
2733
|
+
const e = escapeHTML(String(h));
|
|
3193
2734
|
this.write(e);
|
|
3194
2735
|
this.write(QUOTE);
|
|
3195
2736
|
}
|
|
@@ -3217,7 +2758,7 @@ var isQwikStyleElement = (e, t) => {
|
|
|
3217
2758
|
};
|
|
3218
2759
|
|
|
3219
2760
|
function newTagError(e) {
|
|
3220
|
-
return
|
|
2761
|
+
return Se(12 /* tagError */ , [ e ]);
|
|
3221
2762
|
}
|
|
3222
2763
|
|
|
3223
2764
|
function hasDestroy(e) {
|
|
@@ -3226,8 +2767,8 @@ function hasDestroy(e) {
|
|
|
3226
2767
|
|
|
3227
2768
|
function isSSRUnsafeAttr(e) {
|
|
3228
2769
|
for (let t = 0; t < e.length; t++) {
|
|
3229
|
-
const
|
|
3230
|
-
if (
|
|
2770
|
+
const n = e.charCodeAt(t);
|
|
2771
|
+
if (n === 62 || n === 47 || n === 61 || n === 34 || n === 39 || n === 9 || n === 10 || n === 12 || n === 32) {
|
|
3231
2772
|
return true;
|
|
3232
2773
|
}
|
|
3233
2774
|
}
|
|
@@ -3239,9 +2780,9 @@ function randomStr() {
|
|
|
3239
2780
|
}
|
|
3240
2781
|
|
|
3241
2782
|
function addPreventDefaultEventToSerializationContext(e, t) {
|
|
3242
|
-
const
|
|
3243
|
-
if (
|
|
3244
|
-
e.
|
|
2783
|
+
const n = "e" + t.substring(14);
|
|
2784
|
+
if (n) {
|
|
2785
|
+
e.Tt.add(n);
|
|
3245
2786
|
}
|
|
3246
2787
|
}
|
|
3247
2788
|
|
|
@@ -3270,6 +2811,8 @@ var StreamHandler = class {
|
|
|
3270
2811
|
streamBlockBufferSize=0;
|
|
3271
2812
|
nativeStream;
|
|
3272
2813
|
firstFlushTimer=createTimer();
|
|
2814
|
+
pendingFlush;
|
|
2815
|
+
flushQueued=false;
|
|
3273
2816
|
stream;
|
|
3274
2817
|
setupStreamWriter() {
|
|
3275
2818
|
const e = this;
|
|
@@ -3282,19 +2825,29 @@ var StreamHandler = class {
|
|
|
3282
2825
|
return;
|
|
3283
2826
|
}
|
|
3284
2827
|
e.enqueue(t);
|
|
2828
|
+
},
|
|
2829
|
+
waitForDrain() {
|
|
2830
|
+
return e.waitForPendingFlush();
|
|
3285
2831
|
}
|
|
3286
2832
|
};
|
|
3287
2833
|
break;
|
|
3288
2834
|
|
|
3289
2835
|
case "direct":
|
|
3290
2836
|
{
|
|
3291
|
-
const
|
|
2837
|
+
const n = this.nativeStream;
|
|
3292
2838
|
t = {
|
|
3293
2839
|
write(t) {
|
|
3294
2840
|
if (t === void 0 || t === null) {
|
|
3295
2841
|
return;
|
|
3296
2842
|
}
|
|
3297
|
-
e.
|
|
2843
|
+
if (e.pendingFlush) {
|
|
2844
|
+
const r = e.pendingFlush.then(() => n.write(t));
|
|
2845
|
+
return e.trackPendingFlush(r);
|
|
2846
|
+
}
|
|
2847
|
+
return e.trackPendingFlush(n.write(t));
|
|
2848
|
+
},
|
|
2849
|
+
waitForDrain() {
|
|
2850
|
+
return e.waitForPendingFlush();
|
|
3298
2851
|
}
|
|
3299
2852
|
};
|
|
3300
2853
|
break;
|
|
@@ -3303,8 +2856,8 @@ var StreamHandler = class {
|
|
|
3303
2856
|
default:
|
|
3304
2857
|
case "auto":
|
|
3305
2858
|
{
|
|
3306
|
-
const
|
|
3307
|
-
const
|
|
2859
|
+
const n = this.inOrderStreaming.maximumChunk ?? 0;
|
|
2860
|
+
const r = this.inOrderStreaming.maximumInitialChunk ?? 0;
|
|
3308
2861
|
t = {
|
|
3309
2862
|
write(t) {
|
|
3310
2863
|
if (t === void 0 || t === null) {
|
|
@@ -3312,11 +2865,14 @@ var StreamHandler = class {
|
|
|
3312
2865
|
}
|
|
3313
2866
|
e.enqueue(t);
|
|
3314
2867
|
if (e.streamBlockDepth === 0) {
|
|
3315
|
-
const t = e.networkFlushes === 0 ?
|
|
2868
|
+
const t = e.networkFlushes === 0 ? r : n;
|
|
3316
2869
|
if (e.bufferSize >= t) {
|
|
3317
|
-
e.flush();
|
|
2870
|
+
return e.flush();
|
|
3318
2871
|
}
|
|
3319
2872
|
}
|
|
2873
|
+
},
|
|
2874
|
+
waitForDrain() {
|
|
2875
|
+
return e.waitForPendingFlush();
|
|
3320
2876
|
}
|
|
3321
2877
|
};
|
|
3322
2878
|
break;
|
|
@@ -3334,16 +2890,52 @@ var StreamHandler = class {
|
|
|
3334
2890
|
this.buffer += e;
|
|
3335
2891
|
}
|
|
3336
2892
|
}
|
|
2893
|
+
trackPendingFlush(e) {
|
|
2894
|
+
if (!dr(e)) {
|
|
2895
|
+
return;
|
|
2896
|
+
}
|
|
2897
|
+
const t = Promise.resolve(e).finally(() => {
|
|
2898
|
+
if (this.pendingFlush === t) {
|
|
2899
|
+
this.pendingFlush = void 0;
|
|
2900
|
+
}
|
|
2901
|
+
});
|
|
2902
|
+
this.pendingFlush = t;
|
|
2903
|
+
return t;
|
|
2904
|
+
}
|
|
2905
|
+
flushBuffer() {
|
|
2906
|
+
const e = this.buffer;
|
|
2907
|
+
this.buffer = "";
|
|
2908
|
+
this.bufferSize = 0;
|
|
2909
|
+
this.networkFlushes++;
|
|
2910
|
+
if (this.networkFlushes === 1) {
|
|
2911
|
+
this.timing.firstFlush = this.firstFlushTimer();
|
|
2912
|
+
}
|
|
2913
|
+
return this.trackPendingFlush(this.nativeStream.write(e));
|
|
2914
|
+
}
|
|
3337
2915
|
flush() {
|
|
3338
|
-
if (this.buffer) {
|
|
3339
|
-
this.
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
this.
|
|
3343
|
-
|
|
3344
|
-
|
|
2916
|
+
if (!this.buffer) {
|
|
2917
|
+
return this.waitForPendingFlush();
|
|
2918
|
+
}
|
|
2919
|
+
if (this.pendingFlush) {
|
|
2920
|
+
if (!this.flushQueued) {
|
|
2921
|
+
this.flushQueued = true;
|
|
2922
|
+
const e = this.pendingFlush.then(() => {
|
|
2923
|
+
this.flushQueued = false;
|
|
2924
|
+
this.pendingFlush = void 0;
|
|
2925
|
+
return this.flush();
|
|
2926
|
+
});
|
|
2927
|
+
this.pendingFlush = e.finally(() => {
|
|
2928
|
+
if (this.pendingFlush === e) {
|
|
2929
|
+
this.pendingFlush = void 0;
|
|
2930
|
+
}
|
|
2931
|
+
});
|
|
3345
2932
|
}
|
|
2933
|
+
return this.pendingFlush;
|
|
3346
2934
|
}
|
|
2935
|
+
return this.flushBuffer();
|
|
2936
|
+
}
|
|
2937
|
+
waitForPendingFlush() {
|
|
2938
|
+
return this.pendingFlush;
|
|
3347
2939
|
}
|
|
3348
2940
|
streamBlockStart() {
|
|
3349
2941
|
this.streamBlockDepth++;
|
|
@@ -3355,49 +2947,49 @@ var StreamHandler = class {
|
|
|
3355
2947
|
this.bufferSize += this.streamBlockBufferSize;
|
|
3356
2948
|
this.streamBlockBuffer = "";
|
|
3357
2949
|
this.streamBlockBufferSize = 0;
|
|
3358
|
-
this.flush();
|
|
2950
|
+
return this.flush();
|
|
3359
2951
|
}
|
|
3360
2952
|
}
|
|
3361
2953
|
};
|
|
3362
2954
|
|
|
3363
2955
|
// packages/qwik/src/server/ssr-render.ts
|
|
3364
2956
|
var renderToString = async (e, t = {}) => {
|
|
3365
|
-
const
|
|
3366
|
-
const
|
|
2957
|
+
const n = [];
|
|
2958
|
+
const r = {
|
|
3367
2959
|
write(e) {
|
|
3368
|
-
|
|
2960
|
+
n.push(e);
|
|
3369
2961
|
}
|
|
3370
2962
|
};
|
|
3371
2963
|
const s = await renderToStream(e, {
|
|
3372
2964
|
...t,
|
|
3373
|
-
stream:
|
|
2965
|
+
stream: r
|
|
3374
2966
|
});
|
|
3375
2967
|
return {
|
|
3376
2968
|
isStatic: s.isStatic,
|
|
3377
2969
|
timing: s.timing,
|
|
3378
2970
|
manifest: s.manifest,
|
|
3379
2971
|
snapshotResult: s.snapshotResult,
|
|
3380
|
-
html:
|
|
2972
|
+
html: n.join("")
|
|
3381
2973
|
};
|
|
3382
2974
|
};
|
|
3383
2975
|
|
|
3384
2976
|
var renderToStream = async (e, t) => {
|
|
3385
|
-
const
|
|
2977
|
+
const n = {
|
|
3386
2978
|
firstFlush: 0,
|
|
3387
2979
|
render: 0,
|
|
3388
2980
|
snapshot: 0
|
|
3389
2981
|
};
|
|
3390
|
-
const
|
|
2982
|
+
const r = t.containerTagName ?? "html";
|
|
3391
2983
|
const s = getBuildBase(t);
|
|
3392
2984
|
const i = resolveManifest(t.manifest);
|
|
3393
2985
|
const o = typeof t.locale === "function" ? t.locale(t) : t.serverData?.locale || t.locale || t.containerAttributes?.locale || "";
|
|
3394
|
-
const a = new StreamHandler(t,
|
|
2986
|
+
const a = new StreamHandler(t, n);
|
|
3395
2987
|
const l = ssrCreateContainer({
|
|
3396
|
-
tagName:
|
|
2988
|
+
tagName: r,
|
|
3397
2989
|
locale: o,
|
|
3398
2990
|
writer: a.stream,
|
|
3399
2991
|
streamHandler: a,
|
|
3400
|
-
timing:
|
|
2992
|
+
timing: n,
|
|
3401
2993
|
buildBase: s,
|
|
3402
2994
|
resolvedManifest: i,
|
|
3403
2995
|
renderOptions: t
|
|
@@ -3405,13 +2997,13 @@ var renderToStream = async (e, t) => {
|
|
|
3405
2997
|
await setServerPlatform(t, i);
|
|
3406
2998
|
await l.render(e);
|
|
3407
2999
|
await l.l;
|
|
3408
|
-
a.flush();
|
|
3000
|
+
await a.flush();
|
|
3409
3001
|
const c = {
|
|
3410
3002
|
flushes: a.networkFlushes,
|
|
3411
3003
|
manifest: i?.manifest,
|
|
3412
3004
|
size: l.size,
|
|
3413
3005
|
isStatic: false,
|
|
3414
|
-
timing:
|
|
3006
|
+
timing: n
|
|
3415
3007
|
};
|
|
3416
3008
|
return c;
|
|
3417
3009
|
};
|
|
@@ -3426,9 +3018,9 @@ function resolveManifest(e) {
|
|
|
3426
3018
|
}
|
|
3427
3019
|
if (t.mapping) {
|
|
3428
3020
|
const e = {};
|
|
3429
|
-
for (const
|
|
3430
|
-
const
|
|
3431
|
-
e[getSymbolHash2(
|
|
3021
|
+
for (const n in t.mapping) {
|
|
3022
|
+
const r = t.mapping[n];
|
|
3023
|
+
e[getSymbolHash2(n)] = [ n, r ];
|
|
3432
3024
|
}
|
|
3433
3025
|
return {
|
|
3434
3026
|
mapper: e,
|