solid-js 1.7.9 → 1.7.11
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/dev.cjs +36 -20
- package/dist/dev.js +326 -548
- package/dist/server.cjs +38 -23
- package/dist/server.js +108 -192
- package/dist/solid.cjs +36 -20
- package/dist/solid.js +284 -475
- package/h/dist/h.js +8 -34
- package/h/jsx-runtime/dist/jsx.js +1 -1
- package/h/jsx-runtime/types/index.d.ts +8 -11
- package/h/types/hyperscript.d.ts +11 -11
- package/html/dist/html.js +94 -216
- package/html/types/lit.d.ts +31 -45
- package/package.json +1 -1
- package/store/dist/dev.cjs +4 -3
- package/store/dist/dev.js +46 -117
- package/store/dist/server.js +8 -19
- package/store/dist/store.cjs +4 -3
- package/store/dist/store.js +43 -108
- package/store/types/index.d.ts +7 -21
- package/store/types/modifiers.d.ts +3 -6
- package/store/types/mutable.d.ts +2 -5
- package/store/types/server.d.ts +4 -12
- package/store/types/store.d.ts +61 -215
- package/types/index.d.ts +9 -69
- package/types/reactive/array.d.ts +4 -12
- package/types/reactive/observable.d.ts +17 -25
- package/types/reactive/scheduler.d.ts +6 -9
- package/types/reactive/signal.d.ts +150 -236
- package/types/render/Suspense.d.ts +5 -5
- package/types/render/component.d.ts +31 -62
- package/types/render/flow.d.ts +31 -43
- package/types/render/hydration.d.ts +12 -12
- package/types/server/index.d.ts +2 -55
- package/types/server/reactive.d.ts +44 -72
- package/types/server/rendering.d.ts +95 -171
- package/universal/dist/dev.js +12 -28
- package/universal/dist/universal.js +12 -28
- package/universal/types/index.d.ts +1 -3
- package/universal/types/universal.d.ts +1 -0
- package/web/dist/dev.js +79 -610
- package/web/dist/server.cjs +5 -1
- package/web/dist/server.js +82 -177
- package/web/dist/web.js +79 -610
- package/web/types/client.d.ts +2 -2
- package/web/types/core.d.ts +1 -10
- package/web/types/index.d.ts +10 -27
- package/web/types/server-mock.d.ts +32 -47
- package/web/types/server.d.ts +1 -1
package/web/dist/server.cjs
CHANGED
|
@@ -215,14 +215,17 @@ function renderToStream(code, options = {}) {
|
|
|
215
215
|
});
|
|
216
216
|
},
|
|
217
217
|
pipeTo(w) {
|
|
218
|
-
Promise.allSettled(blockingResources).then(() => {
|
|
218
|
+
return Promise.allSettled(blockingResources).then(() => {
|
|
219
219
|
doShell();
|
|
220
220
|
const encoder = new TextEncoder();
|
|
221
221
|
const writer = w.getWriter();
|
|
222
|
+
let resolve;
|
|
223
|
+
const p = new Promise(r => resolve = r);
|
|
222
224
|
writable = {
|
|
223
225
|
end() {
|
|
224
226
|
writer.releaseLock();
|
|
225
227
|
w.close();
|
|
228
|
+
resolve();
|
|
226
229
|
}
|
|
227
230
|
};
|
|
228
231
|
buffer = {
|
|
@@ -233,6 +236,7 @@ function renderToStream(code, options = {}) {
|
|
|
233
236
|
buffer.write(tmp);
|
|
234
237
|
firstFlushed = true;
|
|
235
238
|
if (completed) writable.end();else setTimeout(checkEnd);
|
|
239
|
+
return p;
|
|
236
240
|
});
|
|
237
241
|
}
|
|
238
242
|
};
|
package/web/dist/server.js
CHANGED
|
@@ -1,65 +1,25 @@
|
|
|
1
|
-
import { sharedConfig, createRoot, splitProps } from
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
For,
|
|
5
|
-
Index,
|
|
6
|
-
Match,
|
|
7
|
-
Show,
|
|
8
|
-
Suspense,
|
|
9
|
-
SuspenseList,
|
|
10
|
-
Switch,
|
|
11
|
-
createComponent,
|
|
12
|
-
mergeProps
|
|
13
|
-
} from "solid-js";
|
|
14
|
-
import { serialize, Feature } from "seroval";
|
|
1
|
+
import { sharedConfig, createRoot, splitProps } from 'solid-js';
|
|
2
|
+
export { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, mergeProps } from 'solid-js';
|
|
3
|
+
import { serialize, Feature } from 'seroval';
|
|
15
4
|
|
|
16
|
-
const booleans = [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"autoplay",
|
|
21
|
-
"checked",
|
|
22
|
-
"controls",
|
|
23
|
-
"default",
|
|
24
|
-
"disabled",
|
|
25
|
-
"formnovalidate",
|
|
26
|
-
"hidden",
|
|
27
|
-
"indeterminate",
|
|
28
|
-
"ismap",
|
|
29
|
-
"loop",
|
|
30
|
-
"multiple",
|
|
31
|
-
"muted",
|
|
32
|
-
"nomodule",
|
|
33
|
-
"novalidate",
|
|
34
|
-
"open",
|
|
35
|
-
"playsinline",
|
|
36
|
-
"readonly",
|
|
37
|
-
"required",
|
|
38
|
-
"reversed",
|
|
39
|
-
"seamless",
|
|
40
|
-
"selected"
|
|
41
|
-
];
|
|
42
|
-
const BooleanAttributes = /*#__PURE__*/ new Set(booleans);
|
|
43
|
-
const ChildProperties = /*#__PURE__*/ new Set([
|
|
44
|
-
"innerHTML",
|
|
45
|
-
"textContent",
|
|
46
|
-
"innerText",
|
|
47
|
-
"children"
|
|
48
|
-
]);
|
|
49
|
-
const Aliases = /*#__PURE__*/ Object.assign(Object.create(null), {
|
|
5
|
+
const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
|
|
6
|
+
const BooleanAttributes = /*#__PURE__*/new Set(booleans);
|
|
7
|
+
const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
|
|
8
|
+
const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
|
|
50
9
|
className: "class",
|
|
51
10
|
htmlFor: "for"
|
|
52
11
|
});
|
|
53
12
|
|
|
54
|
-
const ES2017FLAG = Feature.AggregateError
|
|
13
|
+
const ES2017FLAG = Feature.AggregateError
|
|
14
|
+
| Feature.BigInt
|
|
15
|
+
| Feature.BigIntTypedArray;
|
|
55
16
|
function stringify(data) {
|
|
56
17
|
return serialize(data, {
|
|
57
18
|
disabledFeatures: ES2017FLAG
|
|
58
19
|
});
|
|
59
20
|
}
|
|
60
21
|
|
|
61
|
-
const VOID_ELEMENTS =
|
|
62
|
-
/^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i;
|
|
22
|
+
const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i;
|
|
63
23
|
const REPLACE_SCRIPT = `function $df(e,n,t,o,d){if(t=document.getElementById(e),o=document.getElementById("pl-"+e)){for(;o&&8!==o.nodeType&&o.nodeValue!=="pl-"+e;)d=o.nextSibling,o.remove(),o=d;_$HY.done?o.remove():o.replaceWith(t.content)}t.remove(),_$HY.set(e,n),_$HY.fe(e)}`;
|
|
64
24
|
function renderToString(code, options = {}) {
|
|
65
25
|
let scripts = "";
|
|
@@ -72,7 +32,7 @@ function renderToString(code, options = {}) {
|
|
|
72
32
|
nonce: options.nonce,
|
|
73
33
|
writeResource(id, p, error) {
|
|
74
34
|
if (sharedConfig.context.noHydrate) return;
|
|
75
|
-
if (error) return
|
|
35
|
+
if (error) return scripts += `_$HY.set("${id}", ${stringify(p)});`;
|
|
76
36
|
scripts += `_$HY.set("${id}", ${stringify(p)});`;
|
|
77
37
|
}
|
|
78
38
|
};
|
|
@@ -86,7 +46,9 @@ function renderToString(code, options = {}) {
|
|
|
86
46
|
return html;
|
|
87
47
|
}
|
|
88
48
|
function renderToStringAsync(code, options = {}) {
|
|
89
|
-
const {
|
|
49
|
+
const {
|
|
50
|
+
timeoutMs = 30000
|
|
51
|
+
} = options;
|
|
90
52
|
let timeoutHandle;
|
|
91
53
|
const timeout = new Promise((_, reject) => {
|
|
92
54
|
timeoutHandle = setTimeout(() => reject("renderToString timed out"), timeoutMs);
|
|
@@ -97,7 +59,12 @@ function renderToStringAsync(code, options = {}) {
|
|
|
97
59
|
});
|
|
98
60
|
}
|
|
99
61
|
function renderToStream(code, options = {}) {
|
|
100
|
-
let {
|
|
62
|
+
let {
|
|
63
|
+
nonce,
|
|
64
|
+
onCompleteShell,
|
|
65
|
+
onCompleteAll,
|
|
66
|
+
renderId
|
|
67
|
+
} = options;
|
|
101
68
|
let dispose;
|
|
102
69
|
const blockingResources = [];
|
|
103
70
|
const registry = new Map();
|
|
@@ -105,12 +72,11 @@ function renderToStream(code, options = {}) {
|
|
|
105
72
|
const checkEnd = () => {
|
|
106
73
|
if (!registry.size && !completed) {
|
|
107
74
|
writeTasks();
|
|
108
|
-
onCompleteAll &&
|
|
109
|
-
|
|
110
|
-
write(v)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
});
|
|
75
|
+
onCompleteAll && onCompleteAll({
|
|
76
|
+
write(v) {
|
|
77
|
+
!completed && buffer.write(v);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
114
80
|
writable && writable.end();
|
|
115
81
|
completed = true;
|
|
116
82
|
setTimeout(dispose);
|
|
@@ -161,18 +127,13 @@ function renderToStream(code, options = {}) {
|
|
|
161
127
|
const first = html.indexOf(placeholder);
|
|
162
128
|
if (first === -1) return;
|
|
163
129
|
const last = html.indexOf(`<!--!$/${id}-->`, first + placeholder.length);
|
|
164
|
-
html = html.replace(
|
|
165
|
-
html.slice(first, last + placeholder.length + 1),
|
|
166
|
-
resolveSSRNode(payloadFn())
|
|
167
|
-
);
|
|
130
|
+
html = html.replace(html.slice(first, last + placeholder.length + 1), resolveSSRNode(payloadFn()));
|
|
168
131
|
},
|
|
169
132
|
writeResource(id, p, error, wait) {
|
|
170
133
|
const serverOnly = sharedConfig.context.noHydrate;
|
|
171
134
|
if (error) return !serverOnly && pushTask(serializeSet(dedupe, id, p));
|
|
172
|
-
if (!p || typeof p !== "object" || !("then" in p))
|
|
173
|
-
|
|
174
|
-
if (!firstFlushed) wait && blockingResources.push(p);
|
|
175
|
-
else !serverOnly && pushTask(`_$HY.init("${id}")`);
|
|
135
|
+
if (!p || typeof p !== "object" || !("then" in p)) return !serverOnly && pushTask(serializeSet(dedupe, id, p));
|
|
136
|
+
if (!firstFlushed) wait && blockingResources.push(p);else !serverOnly && pushTask(`_$HY.init("${id}")`);
|
|
176
137
|
if (serverOnly) return;
|
|
177
138
|
p.then(d => {
|
|
178
139
|
!completed && pushTask(serializeSet(dedupe, id, d));
|
|
@@ -192,19 +153,11 @@ function renderToStream(code, options = {}) {
|
|
|
192
153
|
if (waitForFragments(registry, key)) return;
|
|
193
154
|
if ((value !== undefined || error) && !completed) {
|
|
194
155
|
if (!firstFlushed) {
|
|
195
|
-
Promise.resolve().then(
|
|
196
|
-
() => (html = replacePlaceholder(html, key, value !== undefined ? value : ""))
|
|
197
|
-
);
|
|
156
|
+
Promise.resolve().then(() => html = replacePlaceholder(html, key, value !== undefined ? value : ""));
|
|
198
157
|
error && pushTask(serializeSet(dedupe, key, error));
|
|
199
158
|
} else {
|
|
200
159
|
buffer.write(`<template id="${key}">${value !== undefined ? value : " "}</template>`);
|
|
201
|
-
pushTask(
|
|
202
|
-
`${
|
|
203
|
-
keys.length ? keys.map(k => `_$HY.unset("${k}")`).join(";") + ";" : ""
|
|
204
|
-
}$df("${key}"${error ? "," + stringify(error) : ""})${
|
|
205
|
-
!scriptFlushed ? ";" + REPLACE_SCRIPT : ""
|
|
206
|
-
}`
|
|
207
|
-
);
|
|
160
|
+
pushTask(`${keys.length ? keys.map(k => `_$HY.unset("${k}")`).join(";") + ";" : ""}$df("${key}"${error ? "," + stringify(error) : ""})${!scriptFlushed ? ";" + REPLACE_SCRIPT : ""}`);
|
|
208
161
|
scriptFlushed = true;
|
|
209
162
|
}
|
|
210
163
|
}
|
|
@@ -223,20 +176,18 @@ function renderToStream(code, options = {}) {
|
|
|
223
176
|
context.noHydrate = true;
|
|
224
177
|
html = injectAssets(context.assets, html);
|
|
225
178
|
for (const key in context.resources) {
|
|
226
|
-
if (!("data" in context.resources[key] || context.resources[key].ref[0].error))
|
|
227
|
-
pushTask(`_$HY.init("${key}")`);
|
|
179
|
+
if (!("data" in context.resources[key] || context.resources[key].ref[0].error)) pushTask(`_$HY.init("${key}")`);
|
|
228
180
|
}
|
|
229
181
|
for (const key of registry.keys()) pushTask(`_$HY.init("${key}")`);
|
|
230
182
|
if (tasks.length) html = injectScripts(html, tasks, nonce);
|
|
231
183
|
buffer.write(html);
|
|
232
184
|
tasks = "";
|
|
233
185
|
scheduled = false;
|
|
234
|
-
onCompleteShell &&
|
|
235
|
-
|
|
236
|
-
write(v)
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
});
|
|
186
|
+
onCompleteShell && onCompleteShell({
|
|
187
|
+
write(v) {
|
|
188
|
+
!completed && buffer.write(v);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
240
191
|
}
|
|
241
192
|
return {
|
|
242
193
|
then(fn) {
|
|
@@ -259,19 +210,21 @@ function renderToStream(code, options = {}) {
|
|
|
259
210
|
buffer = writable = w;
|
|
260
211
|
buffer.write(tmp);
|
|
261
212
|
firstFlushed = true;
|
|
262
|
-
if (completed) writable.end();
|
|
263
|
-
else setTimeout(checkEnd);
|
|
213
|
+
if (completed) writable.end();else setTimeout(checkEnd);
|
|
264
214
|
});
|
|
265
215
|
},
|
|
266
216
|
pipeTo(w) {
|
|
267
|
-
Promise.allSettled(blockingResources).then(() => {
|
|
217
|
+
return Promise.allSettled(blockingResources).then(() => {
|
|
268
218
|
doShell();
|
|
269
219
|
const encoder = new TextEncoder();
|
|
270
220
|
const writer = w.getWriter();
|
|
221
|
+
let resolve;
|
|
222
|
+
const p = new Promise(r => resolve = r);
|
|
271
223
|
writable = {
|
|
272
224
|
end() {
|
|
273
225
|
writer.releaseLock();
|
|
274
226
|
w.close();
|
|
227
|
+
resolve();
|
|
275
228
|
}
|
|
276
229
|
};
|
|
277
230
|
buffer = {
|
|
@@ -281,20 +234,20 @@ function renderToStream(code, options = {}) {
|
|
|
281
234
|
};
|
|
282
235
|
buffer.write(tmp);
|
|
283
236
|
firstFlushed = true;
|
|
284
|
-
if (completed) writable.end();
|
|
285
|
-
|
|
237
|
+
if (completed) writable.end();else setTimeout(checkEnd);
|
|
238
|
+
return p;
|
|
286
239
|
});
|
|
287
240
|
}
|
|
288
241
|
};
|
|
289
242
|
}
|
|
290
243
|
function HydrationScript(props) {
|
|
291
|
-
const {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
);
|
|
244
|
+
const {
|
|
245
|
+
nonce
|
|
246
|
+
} = sharedConfig.context;
|
|
247
|
+
return ssr(generateHydrationScript({
|
|
248
|
+
nonce,
|
|
249
|
+
...props
|
|
250
|
+
}));
|
|
298
251
|
}
|
|
299
252
|
function ssr(t, ...nodes) {
|
|
300
253
|
if (nodes.length) {
|
|
@@ -339,8 +292,7 @@ function ssrStyle(value) {
|
|
|
339
292
|
return result;
|
|
340
293
|
}
|
|
341
294
|
function ssrElement(tag, props, children, needsId) {
|
|
342
|
-
if (props == null) props = {};
|
|
343
|
-
else if (typeof props === "function") props = props();
|
|
295
|
+
if (props == null) props = {};else if (typeof props === "function") props = props();
|
|
344
296
|
const skipChildren = VOID_ELEMENTS.test(tag);
|
|
345
297
|
const keys = Object.keys(props);
|
|
346
298
|
let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
|
|
@@ -348,8 +300,7 @@ function ssrElement(tag, props, children, needsId) {
|
|
|
348
300
|
for (let i = 0; i < keys.length; i++) {
|
|
349
301
|
const prop = keys[i];
|
|
350
302
|
if (ChildProperties.has(prop)) {
|
|
351
|
-
if (children === undefined && !skipChildren)
|
|
352
|
-
children = prop === "innerHTML" ? props[prop] : escape(props[prop]);
|
|
303
|
+
if (children === undefined && !skipChildren) children = prop === "innerHTML" ? props[prop] : escape(props[prop]);
|
|
353
304
|
continue;
|
|
354
305
|
}
|
|
355
306
|
const value = props[prop];
|
|
@@ -358,14 +309,10 @@ function ssrElement(tag, props, children, needsId) {
|
|
|
358
309
|
} else if (prop === "class" || prop === "className" || prop === "classList") {
|
|
359
310
|
if (classResolved) continue;
|
|
360
311
|
let n;
|
|
361
|
-
result += `class="${
|
|
362
|
-
escape(((n = props.class) ? n + " " : "") + ((n = props.className) ? n + " " : ""), true) +
|
|
363
|
-
ssrClassList(props.classList)
|
|
364
|
-
}"`;
|
|
312
|
+
result += `class="${escape(((n = props.class) ? n + " " : "") + ((n = props.className) ? n + " " : ""), true) + ssrClassList(props.classList)}"`;
|
|
365
313
|
classResolved = true;
|
|
366
314
|
} else if (BooleanAttributes.has(prop)) {
|
|
367
|
-
if (value) result += prop;
|
|
368
|
-
else continue;
|
|
315
|
+
if (value) result += prop;else continue;
|
|
369
316
|
} else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on") {
|
|
370
317
|
continue;
|
|
371
318
|
} else {
|
|
@@ -373,17 +320,16 @@ function ssrElement(tag, props, children, needsId) {
|
|
|
373
320
|
}
|
|
374
321
|
if (i !== keys.length - 1) result += " ";
|
|
375
322
|
}
|
|
376
|
-
if (skipChildren)
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
};
|
|
323
|
+
if (skipChildren) return {
|
|
324
|
+
t: result + "/>"
|
|
325
|
+
};
|
|
380
326
|
if (typeof children === "function") children = children();
|
|
381
327
|
return {
|
|
382
328
|
t: result + `>${resolveSSRNode(children, true)}</${tag}>`
|
|
383
329
|
};
|
|
384
330
|
}
|
|
385
331
|
function ssrAttribute(key, value, isBoolean) {
|
|
386
|
-
return isBoolean ?
|
|
332
|
+
return isBoolean ? value ? " " + key : "" : value != null ? ` ${key}="${value}"` : "";
|
|
387
333
|
}
|
|
388
334
|
function ssrHydrationKey() {
|
|
389
335
|
const hk = getHydrationKey();
|
|
@@ -427,13 +373,12 @@ function escape(s, attr) {
|
|
|
427
373
|
left = iDelim + 1;
|
|
428
374
|
iDelim = s.indexOf(delim, left);
|
|
429
375
|
} while (iDelim >= 0);
|
|
430
|
-
} else
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
}
|
|
376
|
+
} else while (iAmp >= 0) {
|
|
377
|
+
if (left < iAmp) out += s.substring(left, iAmp);
|
|
378
|
+
out += "&";
|
|
379
|
+
left = iAmp + 1;
|
|
380
|
+
iAmp = s.indexOf("&", left);
|
|
381
|
+
}
|
|
437
382
|
return left < s.length ? out + s.substring(left) : out;
|
|
438
383
|
}
|
|
439
384
|
function resolveSSRNode(node, top) {
|
|
@@ -445,7 +390,7 @@ function resolveSSRNode(node, top) {
|
|
|
445
390
|
let mapped = "";
|
|
446
391
|
for (let i = 0, len = node.length; i < len; i++) {
|
|
447
392
|
if (!top && typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
|
|
448
|
-
mapped += resolveSSRNode(
|
|
393
|
+
mapped += resolveSSRNode(prev = node[i]);
|
|
449
394
|
}
|
|
450
395
|
return mapped;
|
|
451
396
|
}
|
|
@@ -466,12 +411,11 @@ function getAssets() {
|
|
|
466
411
|
for (let i = 0, len = assets.length; i < len; i++) out += assets[i]();
|
|
467
412
|
return out;
|
|
468
413
|
}
|
|
469
|
-
function generateHydrationScript({
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
)}"].forEach((o=>document.addEventListener(o,(o=>{let s=o.composedPath&&o.composedPath()[0]||o.target,a=t(s);a&&!e.completed.has(a)&&e.events.push([a,o])}))))})(window._$HY||(_$HY={events:[],completed:new WeakSet,r:{},fe(){},init(e,t){_$HY.r[e]=[new Promise((e=>t=e)),t]},set(e,t,o){(o=_$HY.r[e])&&o[1](t),_$HY.r[e]=[t]},unset(e){delete _$HY.r[e]},load:e=>_$HY.r[e]}));</script><!--xs-->`;
|
|
414
|
+
function generateHydrationScript({
|
|
415
|
+
eventNames = ["click", "input"],
|
|
416
|
+
nonce
|
|
417
|
+
} = {}) {
|
|
418
|
+
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host.nodeType?e.host:e.parentNode));["${eventNames.join('", "')}"].forEach((o=>document.addEventListener(o,(o=>{let s=o.composedPath&&o.composedPath()[0]||o.target,a=t(s);a&&!e.completed.has(a)&&e.events.push([a,o])}))))})(window._$HY||(_$HY={events:[],completed:new WeakSet,r:{},fe(){},init(e,t){_$HY.r[e]=[new Promise((e=>t=e)),t]},set(e,t,o){(o=_$HY.r[e])&&o[1](t),_$HY.r[e]=[t]},unset(e){delete _$HY.r[e]},load:e=>_$HY.r[e]}));</script><!--xs-->`;
|
|
475
419
|
}
|
|
476
420
|
function Hydration(props) {
|
|
477
421
|
if (!sharedConfig.context.noHydrate) return props.children;
|
|
@@ -532,7 +476,9 @@ function Assets(props) {
|
|
|
532
476
|
}
|
|
533
477
|
function pipeToNodeWritable(code, writable, options = {}) {
|
|
534
478
|
if (options.onReady) {
|
|
535
|
-
options.onCompleteShell = ({
|
|
479
|
+
options.onCompleteShell = ({
|
|
480
|
+
write
|
|
481
|
+
}) => {
|
|
536
482
|
options.onReady({
|
|
537
483
|
write,
|
|
538
484
|
startWriting() {
|
|
@@ -546,7 +492,9 @@ function pipeToNodeWritable(code, writable, options = {}) {
|
|
|
546
492
|
}
|
|
547
493
|
function pipeToWritable(code, writable, options = {}) {
|
|
548
494
|
if (options.onReady) {
|
|
549
|
-
options.onCompleteShell = ({
|
|
495
|
+
options.onCompleteShell = ({
|
|
496
|
+
write
|
|
497
|
+
}) => {
|
|
550
498
|
options.onReady({
|
|
551
499
|
write,
|
|
552
500
|
startWriting() {
|
|
@@ -576,19 +524,11 @@ function ssrSpread(props, isSVG, skipChildren) {
|
|
|
576
524
|
} else if (prop === "class" || prop === "className" || prop === "classList") {
|
|
577
525
|
if (classResolved) continue;
|
|
578
526
|
let n;
|
|
579
|
-
result += `class="${(n = props.class) ? n + " " : ""}${
|
|
580
|
-
(n = props.className) ? n + " " : ""
|
|
581
|
-
}${ssrClassList(props.classList)}"`;
|
|
527
|
+
result += `class="${(n = props.class) ? n + " " : ""}${(n = props.className) ? n + " " : ""}${ssrClassList(props.classList)}"`;
|
|
582
528
|
classResolved = true;
|
|
583
529
|
} else if (BooleanAttributes.has(prop)) {
|
|
584
|
-
if (value) result += prop;
|
|
585
|
-
|
|
586
|
-
} else if (
|
|
587
|
-
value == undefined ||
|
|
588
|
-
prop === "ref" ||
|
|
589
|
-
prop.slice(0, 2) === "on" ||
|
|
590
|
-
prop.slice(0, 5) === "prop:"
|
|
591
|
-
) {
|
|
530
|
+
if (value) result += prop;else continue;
|
|
531
|
+
} else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on" || prop.slice(0, 5) === "prop:") {
|
|
592
532
|
continue;
|
|
593
533
|
} else {
|
|
594
534
|
if (prop.slice(0, 5) === "attr:") prop = prop.slice(5);
|
|
@@ -612,8 +552,7 @@ function Dynamic(props) {
|
|
|
612
552
|
const comp = p.component,
|
|
613
553
|
t = typeof comp;
|
|
614
554
|
if (comp) {
|
|
615
|
-
if (t === "function") return comp(others);
|
|
616
|
-
else if (t === "string") {
|
|
555
|
+
if (t === "function") return comp(others);else if (t === "string") {
|
|
617
556
|
return ssrElement(comp, others, undefined, true);
|
|
618
557
|
}
|
|
619
558
|
}
|
|
@@ -622,38 +561,4 @@ function Portal(props) {
|
|
|
622
561
|
return "";
|
|
623
562
|
}
|
|
624
563
|
|
|
625
|
-
export {
|
|
626
|
-
Assets,
|
|
627
|
-
Dynamic,
|
|
628
|
-
Hydration,
|
|
629
|
-
HydrationScript,
|
|
630
|
-
NoHydration,
|
|
631
|
-
Portal,
|
|
632
|
-
addEventListener,
|
|
633
|
-
delegateEvents,
|
|
634
|
-
escape,
|
|
635
|
-
generateHydrationScript,
|
|
636
|
-
getAssets,
|
|
637
|
-
getHydrationKey,
|
|
638
|
-
hydrate,
|
|
639
|
-
insert,
|
|
640
|
-
isDev,
|
|
641
|
-
isServer,
|
|
642
|
-
pipeToNodeWritable,
|
|
643
|
-
pipeToWritable,
|
|
644
|
-
render,
|
|
645
|
-
renderToStream,
|
|
646
|
-
renderToString,
|
|
647
|
-
renderToStringAsync,
|
|
648
|
-
resolveSSRNode,
|
|
649
|
-
spread,
|
|
650
|
-
ssr,
|
|
651
|
-
ssrAttribute,
|
|
652
|
-
ssrClassList,
|
|
653
|
-
ssrElement,
|
|
654
|
-
ssrHydrationKey,
|
|
655
|
-
ssrSpread,
|
|
656
|
-
ssrStyle,
|
|
657
|
-
stringify,
|
|
658
|
-
useAssets
|
|
659
|
-
};
|
|
564
|
+
export { Assets, Dynamic, Hydration, HydrationScript, NoHydration, Portal, addEventListener, delegateEvents, escape, generateHydrationScript, getAssets, getHydrationKey, hydrate, insert, isDev, isServer, pipeToNodeWritable, pipeToWritable, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, stringify, useAssets };
|