@solidjs/web 2.0.0-rc.1 → 2.0.0-rc.3

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 (84) hide show
  1. package/dist/dev.cjs +116 -66
  2. package/dist/dev.js +109 -65
  3. package/dist/server.cjs +386 -109
  4. package/dist/server.js +378 -113
  5. package/dist/web.cjs +113 -64
  6. package/dist/web.js +106 -63
  7. package/frames/dist/client.cjs +100 -14
  8. package/frames/dist/client.dev.cjs +103 -14
  9. package/frames/dist/client.dev.js +104 -15
  10. package/frames/dist/client.js +101 -15
  11. package/frames/dist/server.cjs +285 -154
  12. package/frames/dist/server.js +287 -156
  13. package/package.json +20 -22
  14. package/serialization/dist/decode.cjs +22 -5
  15. package/serialization/dist/decode.js +23 -6
  16. package/serialization/dist/serialization.cjs +26 -13
  17. package/serialization/dist/serialization.js +26 -8
  18. package/serialization/types/index.d.ts +69 -157
  19. package/serialization/types/serializer-decode.d.ts +89 -112
  20. package/serialization/types/serializer.d.ts +94 -0
  21. package/serialization/types-cjs/index.d.cts +69 -157
  22. package/serialization/types-cjs/serializer-decode.d.cts +89 -112
  23. package/serialization/types-cjs/serializer.d.cts +94 -0
  24. package/server-functions/dist/client.cjs +48 -7
  25. package/server-functions/dist/client.js +48 -8
  26. package/server-functions/dist/server.cjs +76 -5
  27. package/server-functions/dist/server.dev.cjs +76 -5
  28. package/server-functions/dist/server.dev.js +76 -6
  29. package/server-functions/dist/server.js +76 -6
  30. package/types/client.d.ts +150 -290
  31. package/types/constants.d.ts +18 -0
  32. package/types/cookies.d.ts +31 -75
  33. package/types/frames/frame-client.d.ts +287 -259
  34. package/types/frames/frame-container-plugin.d.ts +71 -0
  35. package/types/frames/frame-sink.d.ts +58 -160
  36. package/types/frames/frame-transport.d.ts +161 -194
  37. package/types/frames/serializer-decode.d.ts +159 -0
  38. package/types/frames/serializer.d.ts +69 -157
  39. package/types/head.d.ts +16 -0
  40. package/types/index.d.ts +0 -65
  41. package/types/index.server.d.ts +125 -0
  42. package/types/jsx.d.ts +5 -13
  43. package/types/reconcile.d.ts +1 -0
  44. package/types/render.d.ts +4 -0
  45. package/types/response.d.ts +41 -153
  46. package/types/serializer-decode.d.ts +89 -112
  47. package/types/serializer.d.ts +69 -157
  48. package/types/server-functions/client.d.ts +101 -199
  49. package/types/server-functions/flash.d.ts +10 -30
  50. package/types/server-functions/registry.d.ts +63 -0
  51. package/types/server-functions/rich-args.d.ts +1 -10
  52. package/types/server-functions/server.d.ts +301 -518
  53. package/types/server-functions/shared.d.ts +112 -458
  54. package/types/server-mock.d.ts +13 -4
  55. package/types/server.d.ts +256 -427
  56. package/types-cjs/client.d.cts +150 -290
  57. package/types-cjs/constants.d.cts +18 -0
  58. package/types-cjs/cookies.d.cts +31 -75
  59. package/types-cjs/frames/frame-client.d.cts +287 -259
  60. package/types-cjs/frames/frame-container-plugin.d.cts +71 -0
  61. package/types-cjs/frames/frame-sink.d.cts +58 -160
  62. package/types-cjs/frames/frame-transport.d.cts +161 -194
  63. package/types-cjs/frames/serializer-decode.d.cts +159 -0
  64. package/types-cjs/frames/serializer.d.cts +69 -157
  65. package/types-cjs/head.d.cts +16 -0
  66. package/types-cjs/index.d.cts +0 -65
  67. package/types-cjs/index.server.d.cts +125 -0
  68. package/types-cjs/jsx.d.cts +5 -13
  69. package/types-cjs/reconcile.d.cts +1 -0
  70. package/types-cjs/render.d.cts +4 -0
  71. package/types-cjs/response.d.cts +41 -153
  72. package/types-cjs/serializer-decode.d.cts +89 -112
  73. package/types-cjs/serializer.d.cts +69 -157
  74. package/types-cjs/server-functions/client.d.cts +101 -199
  75. package/types-cjs/server-functions/flash.d.cts +10 -30
  76. package/types-cjs/server-functions/registry.d.cts +63 -0
  77. package/types-cjs/server-functions/rich-args.d.cts +1 -10
  78. package/types-cjs/server-functions/server.d.cts +301 -518
  79. package/types-cjs/server-functions/shared.d.cts +112 -458
  80. package/types-cjs/server-mock.d.cts +13 -4
  81. package/types-cjs/server.d.cts +256 -427
  82. package/LICENSE +0 -21
  83. package/types/core.d.ts +0 -6
  84. package/types-cjs/core.d.cts +0 -6
package/dist/dev.js CHANGED
@@ -1,5 +1,5 @@
1
- import { createRenderEffect, createMemo, runWithOwner, sharedConfig, untrack, flatten, createRoot, merge, createComponent, omit, createOwner, createSignal, $DEVCOMP, onCleanup, enableHydration, enforceLoadingBoundary, flush, getOwner, createEffect } from 'solid-js';
2
- export { Errored, For, Hydration, Loading, Match, NoHydration, Repeat, Reveal, Show, Switch, createComponent, getOwner, untrack } from 'solid-js';
1
+ import { createRenderEffect, createMemo, sharedConfig, enableHydration, untrack, runWithOwner, resetErrorHalt, enforceLoadingBoundary, createRoot, flatten, flush, createComponent, omit, createOwner, createSignal, $DEVCOMP, onCleanup, getOwner, createEffect } from 'solid-js';
2
+ export { Errored, For, Hydration, Loading, Match, NoHydration, Repeat, Reveal, Show, Switch, createComponent, getOwner, merge as mergeProps, untrack } from 'solid-js';
3
3
 
4
4
  const DOMWithState = {
5
5
  INPUT: {
@@ -56,23 +56,16 @@ const transparentOptions = {
56
56
  const syncOptions = {
57
57
  sync: true
58
58
  };
59
- const effect = (fn, effectFn, options) => createRenderEffect(fn, effectFn, options ? {
60
- sync: true,
61
- ...options,
62
- transparent: !options.scope
63
- } : transparentOptions);
64
- const memo = fn => createMemo(() => fn(), syncOptions);
65
- const assetGates = new WeakMap();
66
- const waitAsset = promise => {
67
- let gate = assetGates.get(promise);
68
- if (!gate) {
69
- runWithOwner(null, () => {
70
- gate = createMemo(() => promise);
71
- });
72
- assetGates.set(promise, gate);
73
- }
74
- gate();
75
- };
59
+ function effect(fn, effectFn, options) {
60
+ createRenderEffect(fn, effectFn, options ? {
61
+ sync: true,
62
+ ...options,
63
+ transparent: !options.scope
64
+ } : transparentOptions);
65
+ }
66
+ function memo(fn) {
67
+ return createMemo(() => fn(), syncOptions);
68
+ }
76
69
 
77
70
  function reconcileArrays(parentNode, a, b, marker) {
78
71
  let bLength = b.length,
@@ -86,13 +79,18 @@ function reconcileArrays(parentNode, a, b, marker) {
86
79
  map = null,
87
80
  anchor,
88
81
  anchorTag;
82
+ const isLive = n => {
83
+ if (!n) return false;
84
+ const tag = n[$$SLOT];
85
+ return n.parentNode === parentNode && (!tag || tag === marker);
86
+ };
89
87
  while (aStart < aEnd || bStart < bEnd) {
90
- if (a[aStart] === b[bStart]) {
88
+ if (a[aStart] === b[bStart] && isLive(a[aStart])) {
91
89
  aStart++;
92
90
  bStart++;
93
91
  continue;
94
92
  }
95
- while (a[aEnd - 1] === b[bEnd - 1]) {
93
+ while (a[aEnd - 1] === b[bEnd - 1] && isLive(a[aEnd - 1])) {
96
94
  aEnd--;
97
95
  bEnd--;
98
96
  }
@@ -324,14 +322,35 @@ function getServerFunctionRPC() {
324
322
  return globalThis[SERVER_FUNCTION_RPC];
325
323
  }
326
324
 
327
- const $$EVENT_OWNER = "_$DX_EVENT_OWNER";
325
+ const assetGates = new WeakMap();
326
+ const waitAsset = promise => {
327
+ let gate = assetGates.get(promise);
328
+ if (!gate) {
329
+ runWithOwner(null, () => {
330
+ gate = createMemo(() => promise);
331
+ });
332
+ assetGates.set(promise, gate);
333
+ }
334
+ gate();
335
+ };
336
+ const $$EVENT_OWNER = "_$SOLID_EVENT_OWNER";
328
337
  const INNER_OWNED = {};
329
338
  const delegatedEvents = new Set();
330
339
  const delegatedContainers = new Map();
331
- function render$1(code, element, init, options = {}) {
340
+ function voidFn() {}
341
+ function generateHydrationScript(_options) {
342
+ return "";
343
+ }
344
+ function HydrationScript(_props) {
345
+ return null;
346
+ }
347
+ const getRequestEvent = voidFn;
348
+ function render(code, element, init, options = {}) {
332
349
  if (!element) {
333
350
  throw new Error("The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.");
334
351
  }
352
+ resetErrorHalt();
353
+ enforceLoadingBoundary(true);
335
354
  let disposer;
336
355
  registerDelegatedRoot(element);
337
356
  try {
@@ -342,15 +361,21 @@ function render$1(code, element, init, options = {}) {
342
361
  effect(() => flatten(tree), () => {});
343
362
  } else {
344
363
  const tree = code();
345
- insert(element, () => tree, element.firstChild ? null : undefined, init, options.insertOptions);
364
+ insert(element, () => tree, element.firstChild ? null : undefined, init, {
365
+ ...options.insertOptions,
366
+ schedule: true
367
+ });
346
368
  }
347
369
  }, {
348
370
  id: options.renderId
349
371
  });
372
+ flush();
350
373
  } catch (err) {
351
374
  if (disposer) disposer();
352
375
  unregisterDelegatedRoot(element);
353
376
  throw err;
377
+ } finally {
378
+ enforceLoadingBoundary(false);
354
379
  }
355
380
  return () => {
356
381
  disposer();
@@ -437,7 +462,7 @@ function setProperty(node, name, value) {
437
462
  node[name] = value;
438
463
  }
439
464
  let claimHandlers = null;
440
- const CLAIM_SEAM = Symbol.for("dom-expressions.element-claims");
465
+ const CLAIM_SEAM = Symbol.for("solid.element-claims");
441
466
  function registerElementClaim(handler) {
442
467
  (claimHandlers || (claimHandlers = globalThis[CLAIM_SEAM] = [])).push(handler);
443
468
  return () => {
@@ -591,6 +616,11 @@ function ref(fn, element) {
591
616
  const resolved = untrack(fn);
592
617
  runWithOwner(null, () => applyRef(resolved, element));
593
618
  }
619
+ const PURE_ROW = Symbol.for("solid.pure-row");
620
+ function rowProof(fn) {
621
+ fn[PURE_ROW] = true;
622
+ return fn;
623
+ }
594
624
  function scope(fn) {
595
625
  fn.$s = true;
596
626
  return fn;
@@ -654,6 +684,11 @@ function stripTextSeparators(nodes) {
654
684
  nodes.length = j;
655
685
  return nodes;
656
686
  }
687
+ function patchDriver(subject, body) {
688
+ {
689
+ effect(() => body(subject, subject, false), () => body(subject, undefined, true));
690
+ }
691
+ }
657
692
  function insert(parent, accessor, marker, initial, options) {
658
693
  const multi = marker !== undefined;
659
694
  const host = options && options.host;
@@ -894,7 +929,7 @@ function initHeadRegistry() {
894
929
  headOwned = new Map();
895
930
  headApplied = new Map();
896
931
  const t = document.querySelector("title");
897
- headFallbackTitle = t && !t.hasAttribute("data-dh") ? t.textContent : null;
932
+ headFallbackTitle = t ? t.hasAttribute("data-dh") ? t.getAttribute("data-dhf") : t.textContent : null;
898
933
  if (globalThis._$HY) globalThis._$HY.h = applyServerHeadOps;
899
934
  }
900
935
  function applyServerHeadOps(ops) {
@@ -949,7 +984,11 @@ function flushHeadRegistry() {
949
984
  headOwned.delete(identity);
950
985
  headApplied.delete(identity);
951
986
  if (identity === "title") {
952
- if (headFallbackTitle != null) setHeadTitle(headFallbackTitle).removeAttribute("data-dh");
987
+ if (headFallbackTitle != null) {
988
+ const el = setHeadTitle(headFallbackTitle);
989
+ el.removeAttribute("data-dh");
990
+ el.removeAttribute("data-dhf");
991
+ }
953
992
  } else {
954
993
  for (let i = 0; i < els.length; i++) els[i].remove();
955
994
  }
@@ -1116,7 +1155,7 @@ function loadModuleAssets(mapping) {
1116
1155
  const pending = [];
1117
1156
  for (const key in mapping) {
1118
1157
  if (hy.modules[key]) continue;
1119
- const entryUrl = mapping[key];
1158
+ const entryUrl = new URL(mapping[key], document.baseURI).href;
1120
1159
  if (!hy.loading[key]) {
1121
1160
  hy.loading[key] = import(entryUrl).then(mod => {
1122
1161
  hy.modules[key] = mod;
@@ -1129,9 +1168,10 @@ function loadModuleAssets(mapping) {
1129
1168
  }
1130
1169
  return pending.length ? Promise.all(pending).then(() => {}) : undefined;
1131
1170
  }
1132
- function hydrate$1(code, element, options = {}) {
1171
+ function hydrate(code, element, options = {}) {
1172
+ enableHydration();
1133
1173
  installHydrationRuntime();
1134
- if (globalThis._$HY.done) return render$1(code, element, [...element.childNodes], options);
1174
+ if (globalThis._$HY.done) return render(code, element, [...element.childNodes], options);
1135
1175
  options.renderId ||= "";
1136
1176
  if (!globalThis._$HY.modules) globalThis._$HY.modules = {};
1137
1177
  if (!globalThis._$HY.loading) globalThis._$HY.loading = {};
@@ -1190,7 +1230,7 @@ function hydrate$1(code, element, options = {}) {
1190
1230
  sharedConfig.gather = gather;
1191
1231
  sharedConfig.hydrating = true;
1192
1232
  try {
1193
- disposer = render$1(code, element, [...element.childNodes], options);
1233
+ disposer = render(code, element, [...element.childNodes], options);
1194
1234
  } finally {
1195
1235
  sharedConfig.hydrating = false;
1196
1236
  }
@@ -1198,14 +1238,14 @@ function hydrate$1(code, element, options = {}) {
1198
1238
  console.error("Hydration module preload failed, falling back to client render:", err);
1199
1239
  sharedConfig.hydrating = false;
1200
1240
  sharedConfig.registry = undefined;
1201
- disposer = render$1(code, element, [...element.childNodes], options);
1241
+ disposer = render(code, element, [...element.childNodes], options);
1202
1242
  });
1203
1243
  return () => disposer && disposer();
1204
1244
  }
1205
1245
  }
1206
1246
  try {
1207
1247
  gatherHydratable(element, options.renderId);
1208
- return render$1(code, element, [...element.childNodes], options);
1248
+ return render(code, element, [...element.childNodes], options);
1209
1249
  } finally {
1210
1250
  sharedConfig.hydrating = false;
1211
1251
  }
@@ -1435,7 +1475,11 @@ function eventHandler(e, container, state) {
1435
1475
  value
1436
1476
  });
1437
1477
  const handleNode = () => {
1438
- const handler = node[key];
1478
+ let handler = node[key];
1479
+ if (handler === undefined && node.hasAttribute && node.hasAttribute("_bnd")) {
1480
+ const seam = globalThis[Symbol.for("solid.bnd")];
1481
+ if (seam) handler = seam.resolve(node, e.type);
1482
+ }
1439
1483
  if (handler && !node.disabled) {
1440
1484
  const data = node[`${key}Data`];
1441
1485
  data !== undefined ? handler.call(node, data, e) : handler.call(node, e);
@@ -1482,7 +1526,16 @@ function eventHandler(e, container, state) {
1482
1526
  }
1483
1527
  function insertExpression(parent, value, current, marker) {
1484
1528
  if (hydrationRt !== null && isHydrating(parent)) {
1485
- if (value && value !== current) for (const n of Array.isArray(value) ? value : [value]) if (n && n.nodeType && !isHydrating(n)) return current;
1529
+ if (value && value !== current) {
1530
+ const arr = Array.isArray(value);
1531
+ for (const n of arr ? value : [value]) {
1532
+ if (n && n.nodeType) {
1533
+ if (!isHydrating(n)) return current;
1534
+ } else if (arr && (typeof n === "string" || typeof n === "number")) {
1535
+ return current;
1536
+ }
1537
+ }
1538
+ }
1486
1539
  return value;
1487
1540
  }
1488
1541
  if (value === current) return value;
@@ -1513,6 +1566,17 @@ function insertExpression(parent, value, current, marker) {
1513
1566
  if (marker) value[$$SLOT] = marker;
1514
1567
  } else if (Array.isArray(value)) {
1515
1568
  const currentArray = current && Array.isArray(current);
1569
+ for (let i = 0, len = value.length; i < len; i++) {
1570
+ const item = value[i],
1571
+ t = typeof item;
1572
+ if (t === "string" || t === "number") {
1573
+ const prev = currentArray ? current[i] : undefined;
1574
+ if (prev && prev.nodeType === 3) {
1575
+ if (prev.data !== "" + item) prev.data = item;
1576
+ value[i] = prev;
1577
+ } else value[i] = document.createTextNode(item);
1578
+ }
1579
+ }
1516
1580
  if (value.length === 0) {
1517
1581
  cleanChildren(parent, current, marker);
1518
1582
  } else if (currentArray) {
@@ -1533,12 +1597,12 @@ function normalize(value, current, multi, doNotUnwrap) {
1533
1597
  });
1534
1598
  if (doNotUnwrap && typeof value === "function") return value;
1535
1599
  if (multi && !Array.isArray(value)) value = [value != null ? value : ""];
1536
- if (Array.isArray(value)) {
1600
+ if (sharedConfig.hydrating && Array.isArray(value)) {
1537
1601
  for (let i = 0, len = value.length; i < len; i++) {
1538
1602
  const item = value[i],
1539
1603
  prev = current && current[i],
1540
1604
  t = typeof item;
1541
- if (t === "string" || t === "number") value[i] = prev && prev.nodeType === 3 && (sharedConfig.hydrating || prev.data === "" + item) ? prev : document.createTextNode(item);
1605
+ if ((t === "string" || t === "number") && prev && prev.nodeType === 3) value[i] = prev;
1542
1606
  }
1543
1607
  }
1544
1608
  return value;
@@ -1619,7 +1683,6 @@ function gatherHydratable(element, root) {
1619
1683
  function getHydrationKey() {
1620
1684
  return sharedConfig.getNextContextId();
1621
1685
  }
1622
- const voidFn = () => undefined;
1623
1686
  const RequestContext = Symbol();
1624
1687
 
1625
1688
  function throwInBrowser(func) {
@@ -1695,11 +1758,14 @@ function isSafeError(value) {
1695
1758
  return !!(value && (typeof value === "object" || typeof value === "function") && value[SAFE_ERROR]);
1696
1759
  }
1697
1760
  const REVALIDATE_HEADER = "X-Revalidate";
1698
- function initWithRevalidate(init) {
1761
+ function initWithRevalidate(init = {}) {
1762
+ const resolved = typeof init === "number" ? {
1763
+ status: init
1764
+ } : init;
1699
1765
  const {
1700
1766
  revalidate,
1701
1767
  ...responseInit
1702
- } = init;
1768
+ } = resolved;
1703
1769
  let headers;
1704
1770
  if (responseInit.headers && responseInit.headers.getSetCookie) {
1705
1771
  headers = new Headers();
@@ -1725,9 +1791,7 @@ function redirect(url, init = 302) {
1725
1791
  const {
1726
1792
  responseInit,
1727
1793
  headers
1728
- } = initWithRevalidate(typeof init === "number" ? {
1729
- status: init
1730
- } : init);
1794
+ } = initWithRevalidate(init);
1731
1795
  if (responseInit.status === undefined) {
1732
1796
  responseInit.status = 302;
1733
1797
  }
@@ -1759,28 +1823,8 @@ function respond(value, init = {}) {
1759
1823
  }), value);
1760
1824
  }
1761
1825
 
1762
- const mergeProps = merge;
1763
1826
  const isServer = false;
1764
1827
  const isDev = true;
1765
- function render(code, element, init, options = {}) {
1766
- enforceLoadingBoundary(true);
1767
- try {
1768
- const dispose = render$1(code, element, init, {
1769
- ...options,
1770
- insertOptions: {
1771
- schedule: true
1772
- }
1773
- });
1774
- flush();
1775
- return dispose;
1776
- } finally {
1777
- enforceLoadingBoundary(false);
1778
- }
1779
- }
1780
- const hydrate = (...args) => {
1781
- enableHydration();
1782
- return hydrate$1(...args);
1783
- };
1784
1828
  function Portal(props) {
1785
1829
  return runWithOwner(createOwner(), () => portalImpl(props));
1786
1830
  }
@@ -1833,7 +1877,7 @@ function portalImpl(props) {
1833
1877
  });
1834
1878
  return treeMarker;
1835
1879
  }
1836
- const COMPONENT_BINDING = Symbol.for("dom-expressions.component-binding");
1880
+ const COMPONENT_BINDING = Symbol.for("solid.component-binding");
1837
1881
  function bindingOf(value) {
1838
1882
  return value !== null && (typeof value === "function" || typeof value === "object") && value[COMPONENT_BINDING] || undefined;
1839
1883
  }
@@ -1925,4 +1969,4 @@ _moduleUrl) {
1925
1969
  function httpStatus(_code, _text) {}
1926
1970
  function httpHeader(_name, _value, _options) {}
1927
1971
 
1928
- export { ChildProperties, DOMElements, DOMWithState, DelegatedEvents, Dynamic, HREF, voidFn as HydrationScript, MathMLElements, Namespaces, Portal, REVALIDATE_HEADER, RawTextElements, RequestContext, ResponseEnvelope, SAFE_ERROR, SVGElements, VoidElements, acquireAsset, addEvent, applyRef, assign, claimElement, claimElementTree, className, clearFlashCookie, clientOnly, commitEventResponse, composeMiddleware, createRequestEvent, createResponseStub, createSSRResponse, delegateEvents, dynamic, dynamicProperty, effect, escape, voidFn as generateHydrationScript, getDelegatedRoot, getExpectedRedirectStatus, getFirstChild, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getNextSibling, voidFn as getRequestEvent, getServerFunctionMetadata, getServerFunctionRPC, hasFlashCookie, httpHeader, httpStatus, hydrate, insert, installHydrationRuntime, isDev, isHref, isResponseEnvelope, isSafeError, isServer, isServerFunction, markSafeError, memo, mergeProps, parseCookieHeader, redirect, ref, registerDelegatedContainer, registerDelegatedRoot, registerElementClaim, reload, render, renderToStream, renderToString, resolveSSRNode, respond, runHydrationEvents, scope, serializeCookie, setAttribute, setAttributeNS, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassName, ssrElement, ssrGroup, ssrHydrationKey, ssrStyle, ssrStyleProperty, style, template, unregisterDelegatedContainer, unregisterDelegatedRoot, useHead, warmAsset };
1972
+ export { ChildProperties, DOMElements, DOMWithState, DelegatedEvents, Dynamic, HREF, HydrationScript, MathMLElements, Namespaces, Portal, REVALIDATE_HEADER, RawTextElements, RequestContext, ResponseEnvelope, SAFE_ERROR, SVGElements, VoidElements, acquireAsset, addEvent, applyRef, assign, claimElement, claimElementTree, className, clearFlashCookie, clientOnly, commitEventResponse, composeMiddleware, createRequestEvent, createResponseStub, createSSRResponse, delegateEvents, dynamic, dynamicProperty, effect, escape, generateHydrationScript, getDelegatedRoot, getExpectedRedirectStatus, getFirstChild, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getNextSibling, getRequestEvent, getServerFunctionMetadata, getServerFunctionRPC, hasFlashCookie, httpHeader, httpStatus, hydrate, insert, installHydrationRuntime, isDev, isHref, isResponseEnvelope, isSafeError, isServer, isServerFunction, markSafeError, memo, parseCookieHeader, patchDriver, redirect, ref, registerDelegatedContainer, registerDelegatedRoot, registerElementClaim, reload, render, renderToStream, renderToString, resolveSSRNode, respond, rowProof, runHydrationEvents, scope, serializeCookie, setAttribute, setAttributeNS, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassName, ssrElement, ssrGroup, ssrHydrationKey, ssrStyle, ssrStyleProperty, style, template, unregisterDelegatedContainer, unregisterDelegatedRoot, useHead, waitAsset, warmAsset };