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.
Files changed (48) hide show
  1. package/dist/dev.cjs +36 -20
  2. package/dist/dev.js +326 -548
  3. package/dist/server.cjs +38 -23
  4. package/dist/server.js +108 -192
  5. package/dist/solid.cjs +36 -20
  6. package/dist/solid.js +284 -475
  7. package/h/dist/h.js +8 -34
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +8 -11
  10. package/h/types/hyperscript.d.ts +11 -11
  11. package/html/dist/html.js +94 -216
  12. package/html/types/lit.d.ts +31 -45
  13. package/package.json +1 -1
  14. package/store/dist/dev.cjs +4 -3
  15. package/store/dist/dev.js +46 -117
  16. package/store/dist/server.js +8 -19
  17. package/store/dist/store.cjs +4 -3
  18. package/store/dist/store.js +43 -108
  19. package/store/types/index.d.ts +7 -21
  20. package/store/types/modifiers.d.ts +3 -6
  21. package/store/types/mutable.d.ts +2 -5
  22. package/store/types/server.d.ts +4 -12
  23. package/store/types/store.d.ts +61 -215
  24. package/types/index.d.ts +9 -69
  25. package/types/reactive/array.d.ts +4 -12
  26. package/types/reactive/observable.d.ts +17 -25
  27. package/types/reactive/scheduler.d.ts +6 -9
  28. package/types/reactive/signal.d.ts +150 -236
  29. package/types/render/Suspense.d.ts +5 -5
  30. package/types/render/component.d.ts +31 -62
  31. package/types/render/flow.d.ts +31 -43
  32. package/types/render/hydration.d.ts +12 -12
  33. package/types/server/index.d.ts +2 -55
  34. package/types/server/reactive.d.ts +44 -72
  35. package/types/server/rendering.d.ts +95 -171
  36. package/universal/dist/dev.js +12 -28
  37. package/universal/dist/universal.js +12 -28
  38. package/universal/types/index.d.ts +1 -3
  39. package/universal/types/universal.d.ts +1 -0
  40. package/web/dist/dev.js +79 -610
  41. package/web/dist/server.cjs +5 -1
  42. package/web/dist/server.js +82 -177
  43. package/web/dist/web.js +79 -610
  44. package/web/types/client.d.ts +2 -2
  45. package/web/types/core.d.ts +1 -10
  46. package/web/types/index.d.ts +10 -27
  47. package/web/types/server-mock.d.ts +32 -47
  48. package/web/types/server.d.ts +1 -1
@@ -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
  };
@@ -1,65 +1,25 @@
1
- import { sharedConfig, createRoot, splitProps } from "solid-js";
2
- export {
3
- ErrorBoundary,
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
- "allowfullscreen",
18
- "async",
19
- "autofocus",
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 | Feature.BigInt | Feature.BigIntTypedArray;
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 (scripts += `_$HY.set("${id}", ${stringify(p)});`);
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 { timeoutMs = 30000 } = options;
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 { nonce, onCompleteShell, onCompleteAll, renderId } = options;
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
- onCompleteAll({
110
- write(v) {
111
- !completed && buffer.write(v);
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
- return !serverOnly && pushTask(serializeSet(dedupe, id, p));
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
- onCompleteShell({
236
- write(v) {
237
- !completed && buffer.write(v);
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
- else setTimeout(checkEnd);
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 { nonce } = sharedConfig.context;
292
- return ssr(
293
- generateHydrationScript({
294
- nonce,
295
- ...props
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
- return {
378
- t: result + "/>"
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 ? (value ? " " + key : "") : value != null ? ` ${key}="${value}"` : "";
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
- while (iAmp >= 0) {
432
- if (left < iAmp) out += s.substring(left, iAmp);
433
- out += "&amp;";
434
- left = iAmp + 1;
435
- iAmp = s.indexOf("&", left);
436
- }
376
+ } else while (iAmp >= 0) {
377
+ if (left < iAmp) out += s.substring(left, iAmp);
378
+ out += "&amp;";
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((prev = node[i]));
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({ eventNames = ["click", "input"], nonce } = {}) {
470
- return `<script${
471
- nonce ? ` nonce="${nonce}"` : ""
472
- }>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host.nodeType?e.host:e.parentNode));["${eventNames.join(
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 = ({ write }) => {
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 = ({ write }) => {
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
- else continue;
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 };