@sigx/server-renderer 0.2.1 → 0.2.2

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.
@@ -0,0 +1,724 @@
1
+ import { n as e, r as t } from "./types-C_JkqKtn.js";
2
+ import { show as n } from "@sigx/runtime-dom";
3
+ import { Comment as r, Fragment as i, Text as a, getCurrentInstance as o, isComponent as s, isDirective as c, signal as l } from "sigx";
4
+ //#region src/builtin-ssr-directives.ts
5
+ var u = !1;
6
+ function d() {
7
+ n.getSSRProps = ({ value: e }) => {
8
+ if (!e) return { style: { display: "none" } };
9
+ };
10
+ }
11
+ function f() {
12
+ u || (u = !0, d());
13
+ }
14
+ //#endregion
15
+ //#region __vite-browser-external
16
+ var p = /* @__PURE__ */ t(((e, t) => {
17
+ t.exports = {};
18
+ }));
19
+ //#endregion
20
+ //#region src/server/context.ts
21
+ function m(e = {}) {
22
+ let t = 0, n = [], r = [], i = /* @__PURE__ */ new Map();
23
+ return {
24
+ _componentId: t,
25
+ _componentStack: n,
26
+ _head: r,
27
+ _pluginData: i,
28
+ _onComponentError: e.onComponentError,
29
+ _streaming: !1,
30
+ _pendingAsync: [],
31
+ nextId() {
32
+ return ++t;
33
+ },
34
+ pushComponent(e) {
35
+ n.push(e);
36
+ },
37
+ popComponent() {
38
+ return n.pop();
39
+ },
40
+ addHead(e) {
41
+ r.push(e);
42
+ },
43
+ getHead() {
44
+ return r.join("\n");
45
+ },
46
+ getPluginData(e) {
47
+ return i.get(e);
48
+ },
49
+ setPluginData(e, t) {
50
+ i.set(e, t);
51
+ }
52
+ };
53
+ }
54
+ //#endregion
55
+ //#region src/server/render-core.ts
56
+ var h = {
57
+ "&": "&",
58
+ "<": "&lt;",
59
+ ">": "&gt;",
60
+ "\"": "&quot;",
61
+ "'": "&#39;"
62
+ };
63
+ function g(e) {
64
+ return e.replace(/[&<>"']/g, (e) => h[e]);
65
+ }
66
+ var _ = {}, v = new Set([
67
+ "area",
68
+ "base",
69
+ "br",
70
+ "col",
71
+ "embed",
72
+ "hr",
73
+ "img",
74
+ "input",
75
+ "link",
76
+ "meta",
77
+ "param",
78
+ "source",
79
+ "track",
80
+ "wbr"
81
+ ]);
82
+ function y(e) {
83
+ return e.startsWith("--") ? e : _[e] ||= e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
84
+ }
85
+ var b = /;(?![^(]*\))/g, x = /:([^]+)/, S = /\/\*[^]*?\*\//g;
86
+ function C(e) {
87
+ let t = {};
88
+ return e.replace(S, "").split(b).forEach((e) => {
89
+ if (e) {
90
+ let n = e.split(x);
91
+ n.length > 1 && (t[n[0].trim()] = n[1].trim());
92
+ }
93
+ }), t;
94
+ }
95
+ function w(e) {
96
+ let t = "";
97
+ for (let n in e) {
98
+ let r = e[n];
99
+ r != null && r !== "" && (t += `${y(n)}:${r};`);
100
+ }
101
+ return t;
102
+ }
103
+ function T(e) {
104
+ return e == null || e === !1 || e === !0 ? !1 : typeof e == "string" || typeof e == "number" ? !0 : e.type === a;
105
+ }
106
+ function E(e) {
107
+ for (let t of e) if (!(t == null || t === !1 || t === !0) && !(typeof t == "string" || typeof t == "number") && t.type !== a) return !1;
108
+ return !0;
109
+ }
110
+ function D(e, t) {
111
+ if (!e) return t;
112
+ if (!t) return e;
113
+ let n = typeof e == "string" ? C(e) : typeof e == "object" ? e : {}, r = typeof t == "string" ? C(t) : typeof t == "object" ? t : {};
114
+ return {
115
+ ...n,
116
+ ...r
117
+ };
118
+ }
119
+ async function* O(t, n, o = null, u = null) {
120
+ if (t == null || t === !1 || t === !0) return;
121
+ if (t.type === r) {
122
+ yield "<!---->";
123
+ return;
124
+ }
125
+ if (typeof t == "string" || typeof t == "number") {
126
+ yield g(String(t));
127
+ return;
128
+ }
129
+ let d = t;
130
+ if (d.type === a) {
131
+ yield g(String(d.text));
132
+ return;
133
+ }
134
+ if (d.type === i) {
135
+ for (let e of d.children) yield* O(e, n, o, u);
136
+ return;
137
+ }
138
+ if (s(d.type)) {
139
+ let t = d.type.__setup, r = d.type.__name || "Anonymous", { children: i, slots: a, $models: s, ...c } = d.props || {}, f = n.nextId();
140
+ n.pushComponent(f);
141
+ let p = {
142
+ default: () => i ? Array.isArray(i) ? i : [i] : [],
143
+ ...a
144
+ }, m = [], h = {
145
+ el: null,
146
+ signal: l,
147
+ props: (0, e.createPropsAccessor)(c),
148
+ slots: p,
149
+ emit: () => {},
150
+ parent: o,
151
+ onMounted: () => {},
152
+ onUnmounted: () => {},
153
+ onCreated: () => {},
154
+ onUpdated: () => {},
155
+ expose: () => {},
156
+ renderFn: null,
157
+ update: () => {},
158
+ ssr: {
159
+ load(e) {
160
+ m.push(e());
161
+ },
162
+ isServer: !0,
163
+ isHydrating: !1
164
+ },
165
+ _ssrLoads: m
166
+ };
167
+ if (n._plugins) for (let e of n._plugins) {
168
+ let t = e.server?.transformComponentContext?.(n, d, h);
169
+ t && (h = t);
170
+ }
171
+ !o && u && (0, e.provideAppContext)(h, u);
172
+ let g = (0, e.setCurrentInstance)(h);
173
+ try {
174
+ let e = t(h);
175
+ if (e && typeof e.then == "function" && (e = await e), m.length > 0) {
176
+ let t = n._streaming ? "stream" : "block", r, i = !1;
177
+ if (n._plugins) for (let a of n._plugins) {
178
+ let o = a.server?.handleAsyncSetup?.(f, m, e, n);
179
+ if (o) {
180
+ t = o.mode, r = o.placeholder, i = !0;
181
+ break;
182
+ }
183
+ }
184
+ if (t === "stream") {
185
+ if (yield r || `<div data-async-placeholder="${f}" style="display:contents;">`, e) {
186
+ let t = e();
187
+ if (t) if (Array.isArray(t)) for (let e of t) yield* O(e, n, h, u);
188
+ else yield* O(t, n, h, u);
189
+ }
190
+ if (yield "</div>", !i) {
191
+ let t = e, r = n, i = u, a = (async () => {
192
+ await Promise.all(m);
193
+ let e = "";
194
+ if (t) {
195
+ let n = t();
196
+ n && (e = await k(n, r, i));
197
+ }
198
+ return e;
199
+ })();
200
+ n._pendingAsync.push({
201
+ id: f,
202
+ promise: a
203
+ });
204
+ }
205
+ } else if (t !== "skip" && (await Promise.all(m), e)) {
206
+ let t = e();
207
+ if (t) if (Array.isArray(t)) for (let e of t) yield* O(e, n, h, u);
208
+ else yield* O(t, n, h, u);
209
+ }
210
+ } else if (e) {
211
+ let t = e();
212
+ if (t) if (Array.isArray(t)) for (let e of t) yield* O(e, n, h, u);
213
+ else yield* O(t, n, h, u);
214
+ }
215
+ } catch (e) {
216
+ let t = e instanceof Error ? e : Error(String(e)), i = null;
217
+ n._onComponentError && (i = n._onComponentError(t, r, f)), i ??= `<!--ssr-error:${f}-->`, i && (yield i), process.env.NODE_ENV !== "production" && console.error(`Error rendering component ${r}:`, e);
218
+ } finally {
219
+ (0, e.setCurrentInstance)(g || null);
220
+ }
221
+ if (n._plugins) for (let e of n._plugins) {
222
+ let t = e.server?.afterRenderComponent?.(f, d, "", n);
223
+ t && (yield t);
224
+ }
225
+ yield `<!--$c:${f}-->`, n.popComponent();
226
+ return;
227
+ }
228
+ if (typeof d.type == "string") {
229
+ let t = d.type, r = "", i = null;
230
+ if (d.props) {
231
+ for (let t in d.props) if (t.startsWith("use:")) {
232
+ let n = d.props[t], r, a;
233
+ if (c(n)) r = n, a = void 0;
234
+ else if (Array.isArray(n) && n.length >= 1 && c(n[0])) r = n[0], a = n[1];
235
+ else {
236
+ let i = (0, e.resolveBuiltInDirective)(t.slice(4));
237
+ if (i) r = i, a = n;
238
+ else {
239
+ let e = u?.directives.get(t.slice(4));
240
+ e && (r = e, a = n);
241
+ }
242
+ }
243
+ if (r?.getSSRProps) {
244
+ let e = r.getSSRProps({ value: a });
245
+ if (e) {
246
+ i ||= {};
247
+ for (let t in e) t === "style" && i.style ? i.style = {
248
+ ...i.style,
249
+ ...e.style
250
+ } : t === "class" && i.class ? i.class = i.class + " " + e.class : i[t] = e[t];
251
+ }
252
+ }
253
+ }
254
+ }
255
+ let s = i ? {
256
+ ...d.props,
257
+ ...i,
258
+ style: D(d.props?.style, i?.style)
259
+ } : d.props;
260
+ for (let e in s) {
261
+ let t = s[e];
262
+ if (!(e === "children" || e === "key" || e === "ref") && !e.startsWith("client:") && !e.startsWith("use:")) if (e === "style") {
263
+ let e = typeof t == "object" ? w(t) : String(t);
264
+ r += ` style="${g(e)}"`;
265
+ } else e === "className" ? r += ` class="${g(String(t))}"` : e.startsWith("on") || (t === !0 ? r += ` ${e}` : t !== !1 && t != null && (r += ` ${e}="${g(String(t))}"`));
266
+ }
267
+ if (v.has(t)) {
268
+ yield `<${t}${r}>`;
269
+ return;
270
+ }
271
+ if (d.children.length > 0 && E(d.children)) {
272
+ let e = `<${t}${r}>`, n = !1;
273
+ for (let t of d.children) {
274
+ let r = T(t);
275
+ if (r && n && (e += "<!--t-->"), t != null && t !== !1 && t !== !0) {
276
+ let n = t;
277
+ e += g(String(n.type === a ? n.text : t));
278
+ }
279
+ n = r;
280
+ }
281
+ e += `</${t}>`, yield e;
282
+ return;
283
+ }
284
+ yield `<${t}${r}>`;
285
+ let l = !1;
286
+ for (let e of d.children) {
287
+ let t = T(e);
288
+ t && l && (yield "<!--t-->"), yield* O(e, n, o, u), l = t;
289
+ }
290
+ yield `</${t}>`;
291
+ }
292
+ }
293
+ async function k(e, t, n = null) {
294
+ let r = "";
295
+ for await (let i of O(e, t, null, n)) r += i;
296
+ return r;
297
+ }
298
+ function A(t, n, o, u, d) {
299
+ if (t == null || t === !1 || t === !0) return !0;
300
+ if (t.type === r) return d.push("<!---->"), !0;
301
+ if (typeof t == "string" || typeof t == "number") return d.push(g(String(t))), !0;
302
+ let f = t;
303
+ if (f.type === a) return d.push(g(String(f.text))), !0;
304
+ if (f.type === i) {
305
+ for (let e of f.children) if (!A(e, n, o, u, d)) return !1;
306
+ return !0;
307
+ }
308
+ if (s(f.type)) {
309
+ let t = f.type.__setup, r = f.type.__name || "Anonymous", { children: i, slots: a, $models: s, ...c } = f.props || {}, p = n.nextId();
310
+ n.pushComponent(p);
311
+ let m = {
312
+ default: () => i ? Array.isArray(i) ? i : [i] : [],
313
+ ...a
314
+ }, h = [], g = {
315
+ el: null,
316
+ signal: l,
317
+ props: (0, e.createPropsAccessor)(c),
318
+ slots: m,
319
+ emit: () => {},
320
+ parent: o,
321
+ onMounted: () => {},
322
+ onUnmounted: () => {},
323
+ onCreated: () => {},
324
+ onUpdated: () => {},
325
+ expose: () => {},
326
+ renderFn: null,
327
+ update: () => {},
328
+ ssr: {
329
+ load(e) {
330
+ h.push(e());
331
+ },
332
+ isServer: !0,
333
+ isHydrating: !1
334
+ },
335
+ _ssrLoads: h
336
+ };
337
+ if (n._plugins) for (let e of n._plugins) {
338
+ let t = e.server?.transformComponentContext?.(n, f, g);
339
+ t && (g = t);
340
+ }
341
+ !o && u && (0, e.provideAppContext)(g, u);
342
+ let _ = (0, e.setCurrentInstance)(g);
343
+ try {
344
+ let r = t(g);
345
+ if (r && typeof r.then == "function") {
346
+ for (let e of h) e.catch(() => {});
347
+ return (0, e.setCurrentInstance)(_ || null), n.popComponent(), !1;
348
+ }
349
+ if (h.length > 0) {
350
+ for (let e of h) e.catch(() => {});
351
+ return (0, e.setCurrentInstance)(_ || null), n.popComponent(), !1;
352
+ }
353
+ if (r) {
354
+ let t = r();
355
+ if (t) {
356
+ if (Array.isArray(t)) {
357
+ for (let r of t) if (!A(r, n, g, u, d)) return (0, e.setCurrentInstance)(_ || null), n.popComponent(), !1;
358
+ } else if (!A(t, n, g, u, d)) return (0, e.setCurrentInstance)(_ || null), n.popComponent(), !1;
359
+ }
360
+ }
361
+ } catch (e) {
362
+ let t = e instanceof Error ? e : Error(String(e)), i = null;
363
+ n._onComponentError && (i = n._onComponentError(t, r, p)), i ??= `<!--ssr-error:${p}-->`, i && d.push(i);
364
+ } finally {
365
+ (0, e.setCurrentInstance)(_ || null);
366
+ }
367
+ if (n._plugins) for (let e of n._plugins) {
368
+ let t = e.server?.afterRenderComponent?.(p, f, "", n);
369
+ t && d.push(t);
370
+ }
371
+ return d.push(`<!--$c:${p}-->`), n.popComponent(), !0;
372
+ }
373
+ if (typeof f.type == "string") {
374
+ let t = f.type, r = "", i = null;
375
+ if (f.props) {
376
+ for (let t in f.props) if (t.startsWith("use:")) {
377
+ let n = f.props[t], r, a;
378
+ if (c(n)) r = n, a = void 0;
379
+ else if (Array.isArray(n) && n.length >= 1 && c(n[0])) r = n[0], a = n[1];
380
+ else {
381
+ let i = (0, e.resolveBuiltInDirective)(t.slice(4));
382
+ if (i) r = i, a = n;
383
+ else {
384
+ let e = u?.directives.get(t.slice(4));
385
+ e && (r = e, a = n);
386
+ }
387
+ }
388
+ if (r?.getSSRProps) {
389
+ let e = r.getSSRProps({ value: a });
390
+ if (e) {
391
+ i ||= {};
392
+ for (let t in e) t === "style" && i.style ? i.style = {
393
+ ...i.style,
394
+ ...e.style
395
+ } : t === "class" && i.class ? i.class = i.class + " " + e.class : i[t] = e[t];
396
+ }
397
+ }
398
+ }
399
+ }
400
+ let a = i ? {
401
+ ...f.props,
402
+ ...i,
403
+ style: D(f.props?.style, i?.style)
404
+ } : f.props;
405
+ for (let e in a) {
406
+ let t = a[e];
407
+ if (!(e === "children" || e === "key" || e === "ref") && !e.startsWith("client:") && !e.startsWith("use:")) if (e === "style") {
408
+ let e = typeof t == "object" ? w(t) : String(t);
409
+ r += ` style="${g(e)}"`;
410
+ } else e === "className" ? r += ` class="${g(String(t))}"` : e.startsWith("on") || (t === !0 ? r += ` ${e}` : t !== !1 && t != null && (r += ` ${e}="${g(String(t))}"`));
411
+ }
412
+ if (v.has(t)) return d.push(`<${t}${r}>`), !0;
413
+ d.push(`<${t}${r}>`);
414
+ let s = !1;
415
+ for (let e of f.children) {
416
+ let t = T(e);
417
+ if (t && s && d.push("<!--t-->"), !A(e, n, o, u, d)) return !1;
418
+ s = t;
419
+ }
420
+ return d.push(`</${t}>`), !0;
421
+ }
422
+ return !0;
423
+ }
424
+ //#endregion
425
+ //#region src/server/streaming.ts
426
+ function j(e) {
427
+ return e.replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
428
+ }
429
+ function M() {
430
+ return "\n<script>\nwindow.$SIGX_REPLACE = function(id, html) {\n var placeholder = document.querySelector('[data-async-placeholder=\"' + id + '\"]');\n if (placeholder) {\n var template = document.createElement('template');\n template.innerHTML = html;\n placeholder.innerHTML = '';\n while (template.content.firstChild) {\n placeholder.appendChild(template.content.firstChild);\n }\n placeholder.dispatchEvent(new CustomEvent('sigx:async-ready', { bubbles: true, detail: { id: id } }));\n }\n};\n<\/script>";
431
+ }
432
+ function N(e, t, n) {
433
+ let r = `<script>$SIGX_REPLACE(${e}, ${j(JSON.stringify(t))});`;
434
+ return n && (r += n), r += "<\/script>", r;
435
+ }
436
+ //#endregion
437
+ //#region src/head.ts
438
+ var P = [], F = !1;
439
+ function I() {
440
+ F = !0, P = [];
441
+ }
442
+ function L() {
443
+ F = !1;
444
+ let e = P;
445
+ return P = [], e;
446
+ }
447
+ function R(e) {
448
+ let t = [], n = /* @__PURE__ */ new Map(), r, i;
449
+ for (let a of e) {
450
+ if (a.titleTemplate && (i = a.titleTemplate), a.title && (r = a.title), a.meta) for (let e of a.meta) {
451
+ let r = e.name ? `name:${e.name}` : e.property ? `property:${e.property}` : e["http-equiv"] ? `http-equiv:${e["http-equiv"]}` : e.charset ? "charset" : null, i = `<meta ${Object.entries(e).filter(([, e]) => e !== void 0).map(([e, t]) => `${U(e)}="${U(String(t))}"`).join(" ")}>`;
452
+ r ? n.set(r, i) : t.push(i);
453
+ }
454
+ if (a.link) for (let e of a.link) {
455
+ let n = Object.entries(e).filter(([, e]) => e !== void 0).map(([e, t]) => `${U(e)}="${U(String(t))}"`).join(" ");
456
+ t.push(`<link ${n}>`);
457
+ }
458
+ if (a.script) for (let e of a.script) {
459
+ let { innerHTML: n, ...r } = e, i = Object.entries(r).filter(([, e]) => e !== void 0 && e !== !1).map(([e, t]) => t === !0 ? U(e) : `${U(e)}="${U(String(t))}"`).join(" ");
460
+ n ? t.push(`<script ${i}>${n}<\/script>`) : t.push(`<script ${i}><\/script>`);
461
+ }
462
+ }
463
+ let a = [];
464
+ if (r) {
465
+ let e = i ? i.replace("%s", r) : r;
466
+ a.push(`<title>${H(e)}</title>`);
467
+ }
468
+ for (let e of n.values()) a.push(e);
469
+ return a.push(...t), a.join("\n");
470
+ }
471
+ var z = 0;
472
+ function B(e) {
473
+ let t = [], n = ++z;
474
+ if (e.title) {
475
+ let t = e.titleTemplate ? e.titleTemplate.replace("%s", e.title) : e.title;
476
+ document.title = t;
477
+ }
478
+ if (e.meta) for (let r of e.meta) {
479
+ let e = r.name ? `meta[name="${r.name}"]` : r.property ? `meta[property="${r.property}"]` : r["http-equiv"] ? `meta[http-equiv="${r["http-equiv"]}"]` : null;
480
+ if (e) {
481
+ let t = document.querySelector(e);
482
+ t && t.remove();
483
+ }
484
+ let i = document.createElement("meta");
485
+ for (let [e, t] of Object.entries(r)) t !== void 0 && i.setAttribute(e, t);
486
+ i.setAttribute("data-sigx-head", String(n)), document.head.appendChild(i), t.push(i);
487
+ }
488
+ if (e.link) for (let r of e.link) {
489
+ let e = document.createElement("link");
490
+ for (let [t, n] of Object.entries(r)) n !== void 0 && e.setAttribute(t, n);
491
+ e.setAttribute("data-sigx-head", String(n)), document.head.appendChild(e), t.push(e);
492
+ }
493
+ if (e.script) for (let r of e.script) {
494
+ let { innerHTML: e, ...i } = r, a = document.createElement("script");
495
+ for (let [e, t] of Object.entries(i)) t === !0 ? a.setAttribute(e, "") : t !== void 0 && t !== !1 && a.setAttribute(e, String(t));
496
+ e && (a.textContent = e), a.setAttribute("data-sigx-head", String(n)), document.head.appendChild(a), t.push(a);
497
+ }
498
+ if (e.htmlAttrs) for (let [t, n] of Object.entries(e.htmlAttrs)) n !== void 0 && document.documentElement.setAttribute(t, n);
499
+ if (e.bodyAttrs) for (let [t, n] of Object.entries(e.bodyAttrs)) n !== void 0 && document.body.setAttribute(t, n);
500
+ return () => {
501
+ for (let e of t) e.remove();
502
+ };
503
+ }
504
+ function V(e) {
505
+ if (F) {
506
+ P.push(e);
507
+ return;
508
+ }
509
+ let t = B(e), n = o();
510
+ n && n.onUnmounted(() => t());
511
+ }
512
+ function H(e) {
513
+ return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
514
+ }
515
+ function U(e) {
516
+ return e.replace(/&/g, "&amp;").replace(/"/g, "&quot;");
517
+ }
518
+ //#endregion
519
+ //#region src/ssr.ts
520
+ var W = p();
521
+ function G(e) {
522
+ return e && typeof e == "object" && "_rootComponent" in e && "_context" in e;
523
+ }
524
+ function K(e) {
525
+ return G(e) ? {
526
+ element: e._rootComponent,
527
+ appContext: e._context
528
+ } : {
529
+ element: e,
530
+ appContext: null
531
+ };
532
+ }
533
+ async function* q(e, t) {
534
+ let n = e._pendingAsync.length > 0, r = [];
535
+ for (let n of t) {
536
+ let t = n.server?.getStreamingChunks?.(e);
537
+ t && r.push(t);
538
+ }
539
+ let i = r.length > 0;
540
+ if (!n && !i) return;
541
+ n && (yield M());
542
+ let a = e._pendingAsync.map((n, r) => n.promise.then((i) => {
543
+ let a = i, o = "";
544
+ for (let r of t) {
545
+ let t = r.server?.onAsyncComponentResolved?.(n.id, a, e);
546
+ t && (t.html !== void 0 && (a = t.html), t.script && (o += t.script));
547
+ }
548
+ return {
549
+ index: r,
550
+ script: N(n.id, a, o || void 0)
551
+ };
552
+ }).catch((e) => (process.env.NODE_ENV !== "production" && console.error(`Error streaming async component ${n.id}:`, e), {
553
+ index: r,
554
+ script: N(n.id, "<div style=\"color:red;\">Error loading component</div>")
555
+ }))), o = a.length, s = r.map((e) => ({
556
+ generator: e,
557
+ done: !1
558
+ })), c = /* @__PURE__ */ new Map();
559
+ function l(e) {
560
+ let t = o + e;
561
+ return s[e].generator.next().then(({ value: n, done: r }) => {
562
+ if (r) return s[e].done = !0, c.delete(t), {
563
+ index: t,
564
+ script: ""
565
+ };
566
+ let i = l(e);
567
+ return c.set(t, i), {
568
+ index: t,
569
+ script: n || ""
570
+ };
571
+ });
572
+ }
573
+ for (let e = 0; e < s.length; e++) {
574
+ let t = o + e, n = l(e);
575
+ c.set(t, n);
576
+ }
577
+ let u = /* @__PURE__ */ new Set();
578
+ function d() {
579
+ let e = [];
580
+ for (let t = 0; t < o; t++) u.has(t) || e.push(a[t]);
581
+ for (let [, t] of c) e.push(t);
582
+ return e;
583
+ }
584
+ for (;;) {
585
+ let e = d();
586
+ if (e.length === 0) break;
587
+ let t = await Promise.race(e);
588
+ t.script && (yield t.script), t.index < o && u.add(t.index);
589
+ }
590
+ }
591
+ function J() {
592
+ let e = [];
593
+ function t(t) {
594
+ let n = t && "_componentId" in t ? t : m(t);
595
+ n._plugins = e;
596
+ for (let t of e) t.server?.setup?.(n);
597
+ return n;
598
+ }
599
+ return {
600
+ use(t) {
601
+ return e.push(t), this;
602
+ },
603
+ async render(n, r) {
604
+ let { element: i, appContext: a } = K(n);
605
+ I();
606
+ let o = "", s, c = t(r), l = [];
607
+ if (A(i, c, null, a, l)) o = l.join(""), s = c;
608
+ else {
609
+ s = t(r);
610
+ for await (let e of O(i, s, null, a)) o += e;
611
+ }
612
+ for (let t of e) {
613
+ let e = t.server?.getInjectedHTML?.(s);
614
+ e && (o += typeof e == "string" ? e : await e);
615
+ }
616
+ for (let t of e) {
617
+ let e = t.server?.getStreamingChunks?.(s);
618
+ if (e) for await (let t of e) o += t;
619
+ }
620
+ let u = L();
621
+ return u.length > 0 && s.addHead(R(u)), o;
622
+ },
623
+ renderStream(n, r) {
624
+ let i = t(r);
625
+ i._streaming = !0;
626
+ let { element: a, appContext: o } = K(n);
627
+ async function* s() {
628
+ I();
629
+ let t = "";
630
+ for await (let e of O(a, i, null, o)) t += e, t.length >= 4096 && (yield t, t = "");
631
+ t &&= (yield t, "");
632
+ let n = L();
633
+ n.length > 0 && i.addHead(R(n));
634
+ for (let t of e) {
635
+ let e = t.server?.getInjectedHTML?.(i);
636
+ if (e) {
637
+ let t = typeof e == "string" ? e : await e;
638
+ t && (yield t);
639
+ }
640
+ }
641
+ for await (let t of q(i, e)) yield t;
642
+ yield "<script>window.__SIGX_STREAMING_COMPLETE__=true;window.dispatchEvent(new Event('sigx:ready'));<\/script>";
643
+ }
644
+ let c = s();
645
+ return new ReadableStream({ async pull(e) {
646
+ try {
647
+ let { value: t, done: n } = await c.next();
648
+ n ? e.close() : e.enqueue(t);
649
+ } catch (t) {
650
+ e.error(t);
651
+ }
652
+ } });
653
+ },
654
+ renderNodeStream(n, r) {
655
+ let i = t(r);
656
+ i._streaming = !0;
657
+ let { element: a, appContext: o } = K(n);
658
+ async function* s() {
659
+ I();
660
+ let t = "";
661
+ for await (let e of O(a, i, null, o)) t += e, t.length >= 4096 && (yield t, t = "");
662
+ t &&= (yield t, "");
663
+ let n = L();
664
+ n.length > 0 && i.addHead(R(n));
665
+ for (let t of e) {
666
+ let e = t.server?.getInjectedHTML?.(i);
667
+ if (e) {
668
+ let t = typeof e == "string" ? e : await e;
669
+ t && (yield t);
670
+ }
671
+ }
672
+ for await (let t of q(i, e)) yield t;
673
+ yield "<script>window.__SIGX_STREAMING_COMPLETE__=true;window.dispatchEvent(new Event('sigx:ready'));<\/script>";
674
+ }
675
+ return W.Readable.from(s(), { objectMode: !0 });
676
+ },
677
+ async renderStreamWithCallbacks(n, r, i) {
678
+ let a = t(i);
679
+ a._streaming = !0;
680
+ let { element: o, appContext: s } = K(n);
681
+ try {
682
+ I();
683
+ let t = "";
684
+ for await (let e of O(o, a, null, s)) t += e;
685
+ let n = L();
686
+ n.length > 0 && a.addHead(R(n));
687
+ for (let n of e) {
688
+ let e = n.server?.getInjectedHTML?.(a);
689
+ e && (t += typeof e == "string" ? e : await e);
690
+ }
691
+ t += "<script>window.__SIGX_STREAMING_COMPLETE__=true;window.dispatchEvent(new Event('sigx:ready'));<\/script>", r.onShellReady(t);
692
+ for await (let t of q(a, e)) r.onAsyncChunk(t);
693
+ r.onComplete();
694
+ } catch (e) {
695
+ r.onError(e);
696
+ }
697
+ },
698
+ createContext(e) {
699
+ return t(e);
700
+ }
701
+ };
702
+ }
703
+ //#endregion
704
+ //#region src/server/render-api.ts
705
+ var Y = J();
706
+ function X(e, t) {
707
+ return Y.renderStream(e, t);
708
+ }
709
+ function Z(e, t) {
710
+ return Y.renderNodeStream(e, t);
711
+ }
712
+ async function Q(e, t, n) {
713
+ return Y.renderStreamWithCallbacks(e, t, n);
714
+ }
715
+ async function $(e, t) {
716
+ return Y.render(e, t);
717
+ }
718
+ //#endregion
719
+ //#region src/server/index.ts
720
+ f();
721
+ //#endregion
722
+ export { J as a, R as c, N as d, M as f, f as h, $ as i, V as l, m, X as n, L as o, k as p, Q as r, I as s, Z as t, j as u };
723
+
724
+ //# sourceMappingURL=server-C8WIRZ4Z.js.map