solid-js 1.8.7 → 1.8.8

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 (49) hide show
  1. package/dist/dev.cjs +30 -20
  2. package/dist/dev.js +327 -552
  3. package/dist/server.js +75 -170
  4. package/dist/solid.cjs +30 -20
  5. package/dist/solid.js +285 -479
  6. package/h/dist/h.js +8 -34
  7. package/h/jsx-runtime/dist/jsx.js +1 -1
  8. package/h/jsx-runtime/types/index.d.ts +8 -11
  9. package/h/jsx-runtime/types/jsx.d.ts +15 -1
  10. package/h/types/hyperscript.d.ts +11 -11
  11. package/html/dist/html.js +94 -216
  12. package/html/types/lit.d.ts +33 -47
  13. package/package.json +2 -2
  14. package/store/dist/dev.cjs +3 -2
  15. package/store/dist/dev.js +44 -115
  16. package/store/dist/server.js +8 -19
  17. package/store/dist/store.cjs +3 -2
  18. package/store/dist/store.js +41 -106
  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 -218
  24. package/types/index.d.ts +10 -75
  25. package/types/jsx.d.ts +15 -1
  26. package/types/reactive/array.d.ts +4 -12
  27. package/types/reactive/observable.d.ts +17 -25
  28. package/types/reactive/scheduler.d.ts +6 -9
  29. package/types/reactive/signal.d.ts +142 -231
  30. package/types/render/Suspense.d.ts +5 -5
  31. package/types/render/component.d.ts +33 -62
  32. package/types/render/flow.d.ts +31 -43
  33. package/types/render/hydration.d.ts +13 -13
  34. package/types/server/index.d.ts +2 -57
  35. package/types/server/reactive.d.ts +42 -73
  36. package/types/server/rendering.d.ts +96 -167
  37. package/universal/dist/dev.js +12 -28
  38. package/universal/dist/universal.js +12 -28
  39. package/universal/types/index.d.ts +1 -3
  40. package/universal/types/universal.d.ts +1 -0
  41. package/web/dist/dev.js +81 -620
  42. package/web/dist/server.cjs +7 -2
  43. package/web/dist/server.js +102 -179
  44. package/web/dist/storage.js +3 -3
  45. package/web/dist/web.js +80 -614
  46. package/web/types/client.d.ts +2 -2
  47. package/web/types/core.d.ts +1 -10
  48. package/web/types/index.d.ts +10 -27
  49. package/web/types/server-mock.d.ts +32 -47
@@ -11,6 +11,8 @@ const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
11
11
  htmlFor: "for"
12
12
  });
13
13
 
14
+ seroval.createPlugin({tag:"seroval-plugins/web/Blob",test(e){return typeof Blob=="undefined"?!1:e instanceof Blob},parse:{async async(e,r){return {type:await r.parse(e.type),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return "new Blob(["+r.serialize(e.buffer)+"],{type:"+r.serialize(e.type)+"})"},deserialize(e,r){return new Blob([r.deserialize(e.buffer)],{type:r.deserialize(e.type)})}});function p(e){return {detail:e.detail,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var E=seroval.createPlugin({tag:"seroval-plugins/web/CustomEvent",test(e){return typeof CustomEvent=="undefined"?!1:e instanceof CustomEvent},parse:{sync(e,r){return {type:r.parse(e.type),options:r.parse(p(e))}},async async(e,r){return {type:await r.parse(e.type),options:await r.parse(p(e))}},stream(e,r){return {type:r.parse(e.type),options:r.parse(p(e))}}},serialize(e,r){return "new CustomEvent("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new CustomEvent(r.deserialize(e.type),r.deserialize(e.options))}}),F=E;var I=seroval.createPlugin({tag:"seroval-plugins/web/DOMException",test(e){return typeof DOMException=="undefined"?!1:e instanceof DOMException},parse:{sync(e,r){return {name:r.parse(e.name),message:r.parse(e.message)}},async async(e,r){return {name:await r.parse(e.name),message:await r.parse(e.message)}},stream(e,r){return {name:r.parse(e.name),message:r.parse(e.message)}}},serialize(e,r){return "new DOMException("+r.serialize(e.message)+","+r.serialize(e.name)+")"},deserialize(e,r){return new DOMException(r.deserialize(e.message),r.deserialize(e.name))}}),B=I;function u(e){return {bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var L=seroval.createPlugin({tag:"seroval-plugins/web/Event",test(e){return typeof Event=="undefined"?!1:e instanceof Event},parse:{sync(e,r){return {type:r.parse(e.type),options:r.parse(u(e))}},async async(e,r){return {type:await r.parse(e.type),options:await r.parse(u(e))}},stream(e,r){return {type:r.parse(e.type),options:r.parse(u(e))}}},serialize(e,r){return "new Event("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Event(r.deserialize(e.type),r.deserialize(e.options))}}),O=L;var q=seroval.createPlugin({tag:"seroval-plugins/web/File",test(e){return typeof File=="undefined"?!1:e instanceof File},parse:{async async(e,r){return {name:await r.parse(e.name),options:await r.parse({type:e.type,lastModified:e.lastModified}),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return "new File(["+r.serialize(e.buffer)+"],"+r.serialize(e.name)+","+r.serialize(e.options)+")"},deserialize(e,r){return new File([r.deserialize(e.buffer)],r.deserialize(e.name),r.deserialize(e.options))}}),d=q;function f(e){let r=[];return e.forEach((s,a)=>{r.push([a,s]);}),r}var n={},H=seroval.createPlugin({tag:"seroval-plugins/web/FormDataFactory",test(e){return e===n},parse:{sync(){},async async(){return await Promise.resolve(void 0)},stream(){}},serialize(e,r){return r.createEffectfulFunction(["e","f","i","s","t"],"f=new FormData;for(i=0,s=e.length;i<s;i++)f.append((t=e[i])[0],t[1]);return f")},deserialize(){return n}}),M=seroval.createPlugin({tag:"seroval-plugins/web/FormData",extends:[d,H],test(e){return typeof FormData=="undefined"?!1:e instanceof FormData},parse:{sync(e,r){return {factory:r.parse(n),entries:r.parse(f(e))}},async async(e,r){return {factory:await r.parse(n),entries:await r.parse(f(e))}},stream(e,r){return {factory:r.parse(n),entries:r.parse(f(e))}}},serialize(e,r){return "("+r.serialize(e.factory)+")("+r.serialize(e.entries)+")"},deserialize(e,r){let s=new FormData,a=r.deserialize(e.entries);for(let t=0,b=a.length;t<b;t++){let c=a[t];s.append(c[0],c[1]);}return s}}),A=M;function m(e){let r=[];return e.forEach((s,a)=>{r.push([a,s]);}),r}var _=seroval.createPlugin({tag:"seroval-plugins/web/Headers",test(e){return typeof Headers=="undefined"?!1:e instanceof Headers},parse:{sync(e,r){return r.parse(m(e))},async async(e,r){return await r.parse(m(e))},stream(e,r){return r.parse(m(e))}},serialize(e,r){return "new Headers("+r.serialize(e)+")"},deserialize(e,r){return new Headers(r.deserialize(e))}}),i=_;seroval.createPlugin({tag:"seroval-plugins/web/ImageData",test(e){return typeof ImageData=="undefined"?!1:e instanceof ImageData},parse:{sync(e,r){return {data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}},async async(e,r){return {data:await r.parse(e.data),width:await r.parse(e.width),height:await r.parse(e.height),options:await r.parse({colorSpace:e.colorSpace})}},stream(e,r){return {data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}}},serialize(e,r){return "new ImageData("+r.serialize(e.data)+","+r.serialize(e.width)+","+r.serialize(e.height)+","+r.serialize(e.options)+")"},deserialize(e,r){return new ImageData(r.deserialize(e.data),r.deserialize(e.width),r.deserialize(e.height),r.deserialize(e.options))}});var o={},V=seroval.createPlugin({tag:"seroval-plugins/web/ReadableStreamFactory",test(e){return e===o},parse:{sync(){},async async(){return await Promise.resolve(void 0)},stream(){}},serialize(e,r){return r.createFunction(["d"],"new ReadableStream({start:"+r.createEffectfulFunction(["c"],"d.on({next:"+r.createEffectfulFunction(["v"],"c.enqueue(v)")+",throw:"+r.createEffectfulFunction(["v"],"c.error(v)")+",return:"+r.createEffectfulFunction([],"c.close()")+"})")+"})")},deserialize(){return o}});function g(e){let r=seroval.createStream(),s=e.getReader();async function a(){try{let t=await s.read();t.done?r.return(t.value):(r.next(t.value),await a());}catch(t){r.throw(t);}}return a().catch(()=>{}),r}var G=seroval.createPlugin({tag:"seroval/plugins/web/ReadableStream",extends:[V],test(e){return typeof ReadableStream=="undefined"?!1:e instanceof ReadableStream},parse:{sync(e,r){return {factory:r.parse(o),stream:r.parse(seroval.createStream())}},async async(e,r){return {factory:await r.parse(o),stream:await r.parse(g(e))}},stream(e,r){return {factory:r.parse(o),stream:r.parse(g(e))}}},serialize(e,r){return "("+r.serialize(e.factory)+")("+r.serialize(e.stream)+")"},deserialize(e,r){let s=r.deserialize(e.stream);return new ReadableStream({start(a){s.on({next(t){a.enqueue(t);},throw(t){a.error(t);},return(){a.close();}});}})}}),l=G;function z(e,r){return {body:r,cache:e.cache,credentials:e.credentials,headers:e.headers,integrity:e.integrity,keepalive:e.keepalive,method:e.method,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var K=seroval.createPlugin({tag:"seroval-plugins/web/Request",extends:[l,i],test(e){return typeof Request=="undefined"?!1:e instanceof Request},parse:{async async(e,r){return {url:await r.parse(e.url),options:await r.parse(z(e,e.body?await e.clone().arrayBuffer():null))}},stream(e,r){return {url:r.parse(e.url),options:r.parse(z(e,e.clone().body))}}},serialize(e,r){return "new Request("+r.serialize(e.url)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Request(r.deserialize(e.url),r.deserialize(e.options))}}),Q=K;function S(e){return {headers:e.headers,status:e.status,statusText:e.statusText}}var X=seroval.createPlugin({tag:"seroval-plugins/web/Response",extends:[l,i],test(e){return typeof Response=="undefined"?!1:e instanceof Response},parse:{async async(e,r){return {body:await r.parse(e.body?await e.clone().arrayBuffer():null),options:await r.parse(S(e))}},stream(e,r){return {body:r.parse(e.clone().body),options:r.parse(S(e))}}},serialize(e,r){return "new Response("+r.serialize(e.body)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Response(r.deserialize(e.body),r.deserialize(e.options))}}),Z=X;var x=seroval.createPlugin({tag:"seroval-plugins/web/URLSearchParams",test(e){return typeof URLSearchParams=="undefined"?!1:e instanceof URLSearchParams},parse:{sync(e,r){return r.parse(e.toString())},async async(e,r){return await r.parse(e.toString())},stream(e,r){return r.parse(e.toString())}},serialize(e,r){return "new URLSearchParams("+r.serialize(e)+")"},deserialize(e,r){return new URLSearchParams(r.deserialize(e))}}),ee=x;var ae=seroval.createPlugin({tag:"seroval-plugins/web/URL",test(e){return typeof URL=="undefined"?!1:e instanceof URL},parse:{sync(e,r){return r.parse(e.href)},async async(e,r){return await r.parse(e.href)},stream(e,r){return r.parse(e.href)}},serialize(e,r){return "new URL("+r.serialize(e)+")"},deserialize(e,r){return new URL(r.deserialize(e))}}),te=ae;
15
+
14
16
  const ES2017FLAG = seroval.Feature.AggregateError
15
17
  | seroval.Feature.BigInt
16
18
  | seroval.Feature.BigIntTypedArray;
@@ -23,6 +25,9 @@ function createSerializer({
23
25
  }) {
24
26
  return new seroval.Serializer({
25
27
  scopeId,
28
+ plugins: [
29
+ F, B, O,
30
+ A, i, l, Q, Z, ee, te],
26
31
  globalIdentifier: GLOBAL_IDENTIFIER,
27
32
  disabledFeatures: ES2017FLAG,
28
33
  onData,
@@ -334,7 +339,7 @@ function ssrClassList(value) {
334
339
  }
335
340
  function ssrStyle(value) {
336
341
  if (!value) return "";
337
- if (typeof value === "string") return value;
342
+ if (typeof value === "string") return escape(value, true);
338
343
  let result = "";
339
344
  const k = Object.keys(value);
340
345
  for (let i = 0; i < k.length; i++) {
@@ -530,7 +535,7 @@ function replacePlaceholder(html, key, value) {
530
535
  }
531
536
  const RequestContext = Symbol();
532
537
  function getRequestEvent() {
533
- return globalThis[RequestContext] ? globalThis[RequestContext].getStore() : undefined;
538
+ return globalThis[RequestContext] ? globalThis[RequestContext].getStore() || solidJs.sharedConfig.context && solidJs.sharedConfig.context.event || console.log("RequestEvent is missing. This is most likely due to accessing `getRequestEvent` non-managed async scope in a partially polyfilled environment. Try moving it above all `await` calls.") : undefined;
534
539
  }
535
540
  function Assets(props) {
536
541
  useAssets(() => props.children);
@@ -1,62 +1,32 @@
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 { Feature, Serializer, getCrossReferenceHeader } 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 { createPlugin, createStream, Feature, Serializer, getCrossReferenceHeader } 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
- "inert",
29
- "ismap",
30
- "loop",
31
- "multiple",
32
- "muted",
33
- "nomodule",
34
- "novalidate",
35
- "open",
36
- "playsinline",
37
- "readonly",
38
- "required",
39
- "reversed",
40
- "seamless",
41
- "selected"
42
- ];
43
- const BooleanAttributes = /*#__PURE__*/ new Set(booleans);
44
- const ChildProperties = /*#__PURE__*/ new Set([
45
- "innerHTML",
46
- "textContent",
47
- "innerText",
48
- "children"
49
- ]);
50
- const Aliases = /*#__PURE__*/ Object.assign(Object.create(null), {
5
+ const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "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), {
51
9
  className: "class",
52
10
  htmlFor: "for"
53
11
  });
54
12
 
55
- const ES2017FLAG = Feature.AggregateError | Feature.BigInt | Feature.BigIntTypedArray;
56
- const GLOBAL_IDENTIFIER = "_$HY.r";
57
- function createSerializer({ onData, onDone, scopeId, onError }) {
13
+ createPlugin({tag:"seroval-plugins/web/Blob",test(e){return typeof Blob=="undefined"?!1:e instanceof Blob},parse:{async async(e,r){return {type:await r.parse(e.type),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return "new Blob(["+r.serialize(e.buffer)+"],{type:"+r.serialize(e.type)+"})"},deserialize(e,r){return new Blob([r.deserialize(e.buffer)],{type:r.deserialize(e.type)})}});function p(e){return {detail:e.detail,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var E=createPlugin({tag:"seroval-plugins/web/CustomEvent",test(e){return typeof CustomEvent=="undefined"?!1:e instanceof CustomEvent},parse:{sync(e,r){return {type:r.parse(e.type),options:r.parse(p(e))}},async async(e,r){return {type:await r.parse(e.type),options:await r.parse(p(e))}},stream(e,r){return {type:r.parse(e.type),options:r.parse(p(e))}}},serialize(e,r){return "new CustomEvent("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new CustomEvent(r.deserialize(e.type),r.deserialize(e.options))}}),F=E;var I=createPlugin({tag:"seroval-plugins/web/DOMException",test(e){return typeof DOMException=="undefined"?!1:e instanceof DOMException},parse:{sync(e,r){return {name:r.parse(e.name),message:r.parse(e.message)}},async async(e,r){return {name:await r.parse(e.name),message:await r.parse(e.message)}},stream(e,r){return {name:r.parse(e.name),message:r.parse(e.message)}}},serialize(e,r){return "new DOMException("+r.serialize(e.message)+","+r.serialize(e.name)+")"},deserialize(e,r){return new DOMException(r.deserialize(e.message),r.deserialize(e.name))}}),B=I;function u(e){return {bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var L=createPlugin({tag:"seroval-plugins/web/Event",test(e){return typeof Event=="undefined"?!1:e instanceof Event},parse:{sync(e,r){return {type:r.parse(e.type),options:r.parse(u(e))}},async async(e,r){return {type:await r.parse(e.type),options:await r.parse(u(e))}},stream(e,r){return {type:r.parse(e.type),options:r.parse(u(e))}}},serialize(e,r){return "new Event("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Event(r.deserialize(e.type),r.deserialize(e.options))}}),O=L;var q=createPlugin({tag:"seroval-plugins/web/File",test(e){return typeof File=="undefined"?!1:e instanceof File},parse:{async async(e,r){return {name:await r.parse(e.name),options:await r.parse({type:e.type,lastModified:e.lastModified}),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return "new File(["+r.serialize(e.buffer)+"],"+r.serialize(e.name)+","+r.serialize(e.options)+")"},deserialize(e,r){return new File([r.deserialize(e.buffer)],r.deserialize(e.name),r.deserialize(e.options))}}),d=q;function f(e){let r=[];return e.forEach((s,a)=>{r.push([a,s]);}),r}var n={},H=createPlugin({tag:"seroval-plugins/web/FormDataFactory",test(e){return e===n},parse:{sync(){},async async(){return await Promise.resolve(void 0)},stream(){}},serialize(e,r){return r.createEffectfulFunction(["e","f","i","s","t"],"f=new FormData;for(i=0,s=e.length;i<s;i++)f.append((t=e[i])[0],t[1]);return f")},deserialize(){return n}}),M=createPlugin({tag:"seroval-plugins/web/FormData",extends:[d,H],test(e){return typeof FormData=="undefined"?!1:e instanceof FormData},parse:{sync(e,r){return {factory:r.parse(n),entries:r.parse(f(e))}},async async(e,r){return {factory:await r.parse(n),entries:await r.parse(f(e))}},stream(e,r){return {factory:r.parse(n),entries:r.parse(f(e))}}},serialize(e,r){return "("+r.serialize(e.factory)+")("+r.serialize(e.entries)+")"},deserialize(e,r){let s=new FormData,a=r.deserialize(e.entries);for(let t=0,b=a.length;t<b;t++){let c=a[t];s.append(c[0],c[1]);}return s}}),A=M;function m(e){let r=[];return e.forEach((s,a)=>{r.push([a,s]);}),r}var _=createPlugin({tag:"seroval-plugins/web/Headers",test(e){return typeof Headers=="undefined"?!1:e instanceof Headers},parse:{sync(e,r){return r.parse(m(e))},async async(e,r){return await r.parse(m(e))},stream(e,r){return r.parse(m(e))}},serialize(e,r){return "new Headers("+r.serialize(e)+")"},deserialize(e,r){return new Headers(r.deserialize(e))}}),i=_;createPlugin({tag:"seroval-plugins/web/ImageData",test(e){return typeof ImageData=="undefined"?!1:e instanceof ImageData},parse:{sync(e,r){return {data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}},async async(e,r){return {data:await r.parse(e.data),width:await r.parse(e.width),height:await r.parse(e.height),options:await r.parse({colorSpace:e.colorSpace})}},stream(e,r){return {data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}}},serialize(e,r){return "new ImageData("+r.serialize(e.data)+","+r.serialize(e.width)+","+r.serialize(e.height)+","+r.serialize(e.options)+")"},deserialize(e,r){return new ImageData(r.deserialize(e.data),r.deserialize(e.width),r.deserialize(e.height),r.deserialize(e.options))}});var o={},V=createPlugin({tag:"seroval-plugins/web/ReadableStreamFactory",test(e){return e===o},parse:{sync(){},async async(){return await Promise.resolve(void 0)},stream(){}},serialize(e,r){return r.createFunction(["d"],"new ReadableStream({start:"+r.createEffectfulFunction(["c"],"d.on({next:"+r.createEffectfulFunction(["v"],"c.enqueue(v)")+",throw:"+r.createEffectfulFunction(["v"],"c.error(v)")+",return:"+r.createEffectfulFunction([],"c.close()")+"})")+"})")},deserialize(){return o}});function g(e){let r=createStream(),s=e.getReader();async function a(){try{let t=await s.read();t.done?r.return(t.value):(r.next(t.value),await a());}catch(t){r.throw(t);}}return a().catch(()=>{}),r}var G=createPlugin({tag:"seroval/plugins/web/ReadableStream",extends:[V],test(e){return typeof ReadableStream=="undefined"?!1:e instanceof ReadableStream},parse:{sync(e,r){return {factory:r.parse(o),stream:r.parse(createStream())}},async async(e,r){return {factory:await r.parse(o),stream:await r.parse(g(e))}},stream(e,r){return {factory:r.parse(o),stream:r.parse(g(e))}}},serialize(e,r){return "("+r.serialize(e.factory)+")("+r.serialize(e.stream)+")"},deserialize(e,r){let s=r.deserialize(e.stream);return new ReadableStream({start(a){s.on({next(t){a.enqueue(t);},throw(t){a.error(t);},return(){a.close();}});}})}}),l=G;function z(e,r){return {body:r,cache:e.cache,credentials:e.credentials,headers:e.headers,integrity:e.integrity,keepalive:e.keepalive,method:e.method,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var K=createPlugin({tag:"seroval-plugins/web/Request",extends:[l,i],test(e){return typeof Request=="undefined"?!1:e instanceof Request},parse:{async async(e,r){return {url:await r.parse(e.url),options:await r.parse(z(e,e.body?await e.clone().arrayBuffer():null))}},stream(e,r){return {url:r.parse(e.url),options:r.parse(z(e,e.clone().body))}}},serialize(e,r){return "new Request("+r.serialize(e.url)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Request(r.deserialize(e.url),r.deserialize(e.options))}}),Q=K;function S(e){return {headers:e.headers,status:e.status,statusText:e.statusText}}var X=createPlugin({tag:"seroval-plugins/web/Response",extends:[l,i],test(e){return typeof Response=="undefined"?!1:e instanceof Response},parse:{async async(e,r){return {body:await r.parse(e.body?await e.clone().arrayBuffer():null),options:await r.parse(S(e))}},stream(e,r){return {body:r.parse(e.clone().body),options:r.parse(S(e))}}},serialize(e,r){return "new Response("+r.serialize(e.body)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Response(r.deserialize(e.body),r.deserialize(e.options))}}),Z=X;var x=createPlugin({tag:"seroval-plugins/web/URLSearchParams",test(e){return typeof URLSearchParams=="undefined"?!1:e instanceof URLSearchParams},parse:{sync(e,r){return r.parse(e.toString())},async async(e,r){return await r.parse(e.toString())},stream(e,r){return r.parse(e.toString())}},serialize(e,r){return "new URLSearchParams("+r.serialize(e)+")"},deserialize(e,r){return new URLSearchParams(r.deserialize(e))}}),ee=x;var ae=createPlugin({tag:"seroval-plugins/web/URL",test(e){return typeof URL=="undefined"?!1:e instanceof URL},parse:{sync(e,r){return r.parse(e.href)},async async(e,r){return await r.parse(e.href)},stream(e,r){return r.parse(e.href)}},serialize(e,r){return "new URL("+r.serialize(e)+")"},deserialize(e,r){return new URL(r.deserialize(e))}}),te=ae;
14
+
15
+ const ES2017FLAG = Feature.AggregateError
16
+ | Feature.BigInt
17
+ | Feature.BigIntTypedArray;
18
+ const GLOBAL_IDENTIFIER = '_$HY.r';
19
+ function createSerializer({
20
+ onData,
21
+ onDone,
22
+ scopeId,
23
+ onError
24
+ }) {
58
25
  return new Serializer({
59
26
  scopeId,
27
+ plugins: [
28
+ F, B, O,
29
+ A, i, l, Q, Z, ee, te],
60
30
  globalIdentifier: GLOBAL_IDENTIFIER,
61
31
  disabledFeatures: ES2017FLAG,
62
32
  onData,
@@ -65,14 +35,15 @@ function createSerializer({ onData, onDone, scopeId, onError }) {
65
35
  });
66
36
  }
67
37
  function getLocalHeaderScript(id) {
68
- return getCrossReferenceHeader(id) + ";";
38
+ return getCrossReferenceHeader(id) + ';';
69
39
  }
70
40
 
71
- const VOID_ELEMENTS =
72
- /^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i;
41
+ const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i;
73
42
  const REPLACE_SCRIPT = `function $df(e,n,o,t){if(n=document.getElementById(e),o=document.getElementById("pl-"+e)){for(;o&&8!==o.nodeType&&o.nodeValue!=="pl-"+e;)t=o.nextSibling,o.remove(),o=t;_$HY.done?o.remove():o.replaceWith(n.content)}n.remove(),_$HY.fe(e)}`;
74
43
  function renderToString(code, options = {}) {
75
- const { renderId } = options;
44
+ const {
45
+ renderId
46
+ } = options;
76
47
  let scripts = "";
77
48
  const serializer = createSerializer({
78
49
  scopeId: renderId,
@@ -110,7 +81,9 @@ function renderToString(code, options = {}) {
110
81
  return html;
111
82
  }
112
83
  function renderToStringAsync(code, options = {}) {
113
- const { timeoutMs = 30000 } = options;
84
+ const {
85
+ timeoutMs = 30000
86
+ } = options;
114
87
  let timeoutHandle;
115
88
  const timeout = new Promise((_, reject) => {
116
89
  timeoutHandle = setTimeout(() => reject("renderToString timed out"), timeoutMs);
@@ -121,7 +94,13 @@ function renderToStringAsync(code, options = {}) {
121
94
  });
122
95
  }
123
96
  function renderToStream(code, options = {}) {
124
- let { nonce, onCompleteShell, onCompleteAll, renderId, noScripts } = options;
97
+ let {
98
+ nonce,
99
+ onCompleteShell,
100
+ onCompleteAll,
101
+ renderId,
102
+ noScripts
103
+ } = options;
125
104
  let dispose;
126
105
  const blockingPromises = [];
127
106
  const pushTask = task => {
@@ -137,12 +116,11 @@ function renderToStream(code, options = {}) {
137
116
  const checkEnd = () => {
138
117
  if (!registry.size && !completed) {
139
118
  writeTasks();
140
- onCompleteAll &&
141
- onCompleteAll({
142
- write(v) {
143
- !completed && buffer.write(v);
144
- }
145
- });
119
+ onCompleteAll && onCompleteAll({
120
+ write(v) {
121
+ !completed && buffer.write(v);
122
+ }
123
+ });
146
124
  writable && writable.end();
147
125
  completed = true;
148
126
  setTimeout(dispose);
@@ -199,23 +177,17 @@ function renderToStream(code, options = {}) {
199
177
  const first = html.indexOf(placeholder);
200
178
  if (first === -1) return;
201
179
  const last = html.indexOf(`<!--!$/${id}-->`, first + placeholder.length);
202
- html = html.replace(
203
- html.slice(first, last + placeholder.length + 1),
204
- resolveSSRNode(payloadFn())
205
- );
180
+ html = html.replace(html.slice(first, last + placeholder.length + 1), resolveSSRNode(payloadFn()));
206
181
  },
207
182
  serialize(id, p, wait) {
208
183
  const serverOnly = sharedConfig.context.noHydrate;
209
184
  if (!firstFlushed && wait && typeof p === "object" && "then" in p) {
210
185
  blockingPromises.push(p);
211
- !serverOnly &&
212
- p
213
- .then(d => {
214
- serializer.write(id, d);
215
- })
216
- .catch(e => {
217
- serializer.write(id, e);
218
- });
186
+ !serverOnly && p.then(d => {
187
+ serializer.write(id, d);
188
+ }).catch(e => {
189
+ serializer.write(id, e);
190
+ });
219
191
  } else if (!serverOnly) serializer.write(id, p);
220
192
  },
221
193
  roots: 0,
@@ -225,7 +197,7 @@ function renderToStream(code, options = {}) {
225
197
  registerFragment(key) {
226
198
  if (!registry.has(key)) {
227
199
  let resolve, reject;
228
- const p = new Promise((r, rej) => ((resolve = r), (reject = rej)));
200
+ const p = new Promise((r, rej) => (resolve = r, reject = rej));
229
201
  registry.set(key, {
230
202
  resolve: v => queue(() => queue(() => resolve(v))),
231
203
  reject: e => queue(() => queue(() => reject(e)))
@@ -234,7 +206,10 @@ function renderToStream(code, options = {}) {
234
206
  }
235
207
  return (value, error) => {
236
208
  if (registry.has(key)) {
237
- const { resolve, reject } = registry.get(key);
209
+ const {
210
+ resolve,
211
+ reject
212
+ } = registry.get(key);
238
213
  registry.delete(key);
239
214
  if (waitForFragments(registry, key)) {
240
215
  resolve(true);
@@ -242,7 +217,7 @@ function renderToStream(code, options = {}) {
242
217
  }
243
218
  if ((value !== undefined || error) && !completed) {
244
219
  if (!firstFlushed) {
245
- queue(() => (html = replacePlaceholder(html, key, value !== undefined ? value : "")));
220
+ queue(() => html = replacePlaceholder(html, key, value !== undefined ? value : ""));
246
221
  error ? reject(error) : resolve(true);
247
222
  } else {
248
223
  buffer.write(`<template id="${key}">${value !== undefined ? value : " "}</template>`);
@@ -268,12 +243,11 @@ function renderToStream(code, options = {}) {
268
243
  if (tasks.length) html = injectScripts(html, tasks, nonce);
269
244
  buffer.write(html);
270
245
  tasks = "";
271
- onCompleteShell &&
272
- onCompleteShell({
273
- write(v) {
274
- !completed && buffer.write(v);
275
- }
276
- });
246
+ onCompleteShell && onCompleteShell({
247
+ write(v) {
248
+ !completed && buffer.write(v);
249
+ }
250
+ });
277
251
  }
278
252
  return {
279
253
  then(fn) {
@@ -296,8 +270,7 @@ function renderToStream(code, options = {}) {
296
270
  buffer = writable = w;
297
271
  buffer.write(tmp);
298
272
  firstFlushed = true;
299
- if (completed) writable.end();
300
- else setTimeout(flushEnd);
273
+ if (completed) writable.end();else setTimeout(flushEnd);
301
274
  });
302
275
  },
303
276
  pipeTo(w) {
@@ -306,7 +279,7 @@ function renderToStream(code, options = {}) {
306
279
  const encoder = new TextEncoder();
307
280
  const writer = w.getWriter();
308
281
  let resolve;
309
- const p = new Promise(r => (resolve = r));
282
+ const p = new Promise(r => resolve = r);
310
283
  writable = {
311
284
  end() {
312
285
  writer.releaseLock();
@@ -321,21 +294,20 @@ function renderToStream(code, options = {}) {
321
294
  };
322
295
  buffer.write(tmp);
323
296
  firstFlushed = true;
324
- if (completed) writable.end();
325
- else setTimeout(flushEnd);
297
+ if (completed) writable.end();else setTimeout(flushEnd);
326
298
  return p;
327
299
  });
328
300
  }
329
301
  };
330
302
  }
331
303
  function HydrationScript(props) {
332
- const { nonce } = sharedConfig.context;
333
- return ssr(
334
- generateHydrationScript({
335
- nonce,
336
- ...props
337
- })
338
- );
304
+ const {
305
+ nonce
306
+ } = sharedConfig.context;
307
+ return ssr(generateHydrationScript({
308
+ nonce,
309
+ ...props
310
+ }));
339
311
  }
340
312
  function ssr(t, ...nodes) {
341
313
  if (nodes.length) {
@@ -366,7 +338,7 @@ function ssrClassList(value) {
366
338
  }
367
339
  function ssrStyle(value) {
368
340
  if (!value) return "";
369
- if (typeof value === "string") return value;
341
+ if (typeof value === "string") return escape(value, true);
370
342
  let result = "";
371
343
  const k = Object.keys(value);
372
344
  for (let i = 0; i < k.length; i++) {
@@ -380,8 +352,7 @@ function ssrStyle(value) {
380
352
  return result;
381
353
  }
382
354
  function ssrElement(tag, props, children, needsId) {
383
- if (props == null) props = {};
384
- else if (typeof props === "function") props = props();
355
+ if (props == null) props = {};else if (typeof props === "function") props = props();
385
356
  const skipChildren = VOID_ELEMENTS.test(tag);
386
357
  const keys = Object.keys(props);
387
358
  let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
@@ -389,8 +360,7 @@ function ssrElement(tag, props, children, needsId) {
389
360
  for (let i = 0; i < keys.length; i++) {
390
361
  const prop = keys[i];
391
362
  if (ChildProperties.has(prop)) {
392
- if (children === undefined && !skipChildren)
393
- children = prop === "innerHTML" ? props[prop] : escape(props[prop]);
363
+ if (children === undefined && !skipChildren) children = prop === "innerHTML" ? props[prop] : escape(props[prop]);
394
364
  continue;
395
365
  }
396
366
  const value = props[prop];
@@ -399,14 +369,10 @@ function ssrElement(tag, props, children, needsId) {
399
369
  } else if (prop === "class" || prop === "className" || prop === "classList") {
400
370
  if (classResolved) continue;
401
371
  let n;
402
- result += `class="${
403
- escape(((n = props.class) ? n + " " : "") + ((n = props.className) ? n + " " : ""), true) +
404
- ssrClassList(props.classList)
405
- }"`;
372
+ result += `class="${escape(((n = props.class) ? n + " " : "") + ((n = props.className) ? n + " " : ""), true) + ssrClassList(props.classList)}"`;
406
373
  classResolved = true;
407
374
  } else if (BooleanAttributes.has(prop)) {
408
- if (value) result += prop;
409
- else continue;
375
+ if (value) result += prop;else continue;
410
376
  } else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on") {
411
377
  continue;
412
378
  } else {
@@ -414,17 +380,16 @@ function ssrElement(tag, props, children, needsId) {
414
380
  }
415
381
  if (i !== keys.length - 1) result += " ";
416
382
  }
417
- if (skipChildren)
418
- return {
419
- t: result + "/>"
420
- };
383
+ if (skipChildren) return {
384
+ t: result + "/>"
385
+ };
421
386
  if (typeof children === "function") children = children();
422
387
  return {
423
388
  t: result + `>${resolveSSRNode(children, true)}</${tag}>`
424
389
  };
425
390
  }
426
391
  function ssrAttribute(key, value, isBoolean) {
427
- return isBoolean ? (value ? " " + key : "") : value != null ? ` ${key}="${value}"` : "";
392
+ return isBoolean ? value ? " " + key : "" : value != null ? ` ${key}="${value}"` : "";
428
393
  }
429
394
  function ssrHydrationKey() {
430
395
  const hk = getHydrationKey();
@@ -468,13 +433,12 @@ function escape(s, attr) {
468
433
  left = iDelim + 1;
469
434
  iDelim = s.indexOf(delim, left);
470
435
  } while (iDelim >= 0);
471
- } else
472
- while (iAmp >= 0) {
473
- if (left < iAmp) out += s.substring(left, iAmp);
474
- out += "&amp;";
475
- left = iAmp + 1;
476
- iAmp = s.indexOf("&", left);
477
- }
436
+ } else while (iAmp >= 0) {
437
+ if (left < iAmp) out += s.substring(left, iAmp);
438
+ out += "&amp;";
439
+ left = iAmp + 1;
440
+ iAmp = s.indexOf("&", left);
441
+ }
478
442
  return left < s.length ? out + s.substring(left) : out;
479
443
  }
480
444
  function resolveSSRNode(node, top) {
@@ -486,7 +450,7 @@ function resolveSSRNode(node, top) {
486
450
  let mapped = "";
487
451
  for (let i = 0, len = node.length; i < len; i++) {
488
452
  if (!top && typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
489
- mapped += resolveSSRNode((prev = node[i]));
453
+ mapped += resolveSSRNode(prev = node[i]);
490
454
  }
491
455
  return mapped;
492
456
  }
@@ -507,12 +471,11 @@ function getAssets() {
507
471
  for (let i = 0, len = assets.length; i < len; i++) out += assets[i]();
508
472
  return out;
509
473
  }
510
- function generateHydrationScript({ eventNames = ["click", "input"], nonce } = {}) {
511
- return `<script${
512
- nonce ? ` nonce="${nonce}"` : ""
513
- }>window._$HY||(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host.nodeType?e.host:e.parentNode));["${eventNames.join(
514
- '", "'
515
- )}"].forEach((o=>document.addEventListener(o,(o=>{let a=o.composedPath&&o.composedPath()[0]||o.target,s=t(a);s&&!e.completed.has(s)&&e.events.push([s,o])}))))})(_$HY={events:[],completed:new WeakSet,r:{},fe(){}});</script><!--xs-->`;
474
+ function generateHydrationScript({
475
+ eventNames = ["click", "input"],
476
+ nonce
477
+ } = {}) {
478
+ return `<script${nonce ? ` nonce="${nonce}"` : ""}>window._$HY||(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 a=o.composedPath&&o.composedPath()[0]||o.target,s=t(a);s&&!e.completed.has(s)&&e.events.push([s,o])}))))})(_$HY={events:[],completed:new WeakSet,r:{},fe(){}});</script><!--xs-->`;
516
479
  }
517
480
  function Hydration(props) {
518
481
  if (!sharedConfig.context.noHydrate) return props.children;
@@ -571,14 +534,16 @@ function replacePlaceholder(html, key, value) {
571
534
  }
572
535
  const RequestContext = Symbol();
573
536
  function getRequestEvent() {
574
- return globalThis[RequestContext] ? globalThis[RequestContext].getStore() : undefined;
537
+ return globalThis[RequestContext] ? globalThis[RequestContext].getStore() || sharedConfig.context && sharedConfig.context.event || console.log("RequestEvent is missing. This is most likely due to accessing `getRequestEvent` non-managed async scope in a partially polyfilled environment. Try moving it above all `await` calls.") : undefined;
575
538
  }
576
539
  function Assets(props) {
577
540
  useAssets(() => props.children);
578
541
  }
579
542
  function pipeToNodeWritable(code, writable, options = {}) {
580
543
  if (options.onReady) {
581
- options.onCompleteShell = ({ write }) => {
544
+ options.onCompleteShell = ({
545
+ write
546
+ }) => {
582
547
  options.onReady({
583
548
  write,
584
549
  startWriting() {
@@ -592,7 +557,9 @@ function pipeToNodeWritable(code, writable, options = {}) {
592
557
  }
593
558
  function pipeToWritable(code, writable, options = {}) {
594
559
  if (options.onReady) {
595
- options.onCompleteShell = ({ write }) => {
560
+ options.onCompleteShell = ({
561
+ write
562
+ }) => {
596
563
  options.onReady({
597
564
  write,
598
565
  startWriting() {
@@ -622,19 +589,11 @@ function ssrSpread(props, isSVG, skipChildren) {
622
589
  } else if (prop === "class" || prop === "className" || prop === "classList") {
623
590
  if (classResolved) continue;
624
591
  let n;
625
- result += `class="${(n = props.class) ? n + " " : ""}${
626
- (n = props.className) ? n + " " : ""
627
- }${ssrClassList(props.classList)}"`;
592
+ result += `class="${(n = props.class) ? n + " " : ""}${(n = props.className) ? n + " " : ""}${ssrClassList(props.classList)}"`;
628
593
  classResolved = true;
629
594
  } else if (BooleanAttributes.has(prop)) {
630
- if (value) result += prop;
631
- else continue;
632
- } else if (
633
- value == undefined ||
634
- prop === "ref" ||
635
- prop.slice(0, 2) === "on" ||
636
- prop.slice(0, 5) === "prop:"
637
- ) {
595
+ if (value) result += prop;else continue;
596
+ } else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on" || prop.slice(0, 5) === "prop:") {
638
597
  continue;
639
598
  } else {
640
599
  if (prop.slice(0, 5) === "attr:") prop = prop.slice(5);
@@ -658,8 +617,7 @@ function Dynamic(props) {
658
617
  const comp = p.component,
659
618
  t = typeof comp;
660
619
  if (comp) {
661
- if (t === "function") return comp(others);
662
- else if (t === "string") {
620
+ if (t === "function") return comp(others);else if (t === "string") {
663
621
  return ssrElement(comp, others, undefined, true);
664
622
  }
665
623
  }
@@ -668,39 +626,4 @@ function Portal(props) {
668
626
  return "";
669
627
  }
670
628
 
671
- export {
672
- Assets,
673
- Dynamic,
674
- Hydration,
675
- HydrationScript,
676
- NoHydration,
677
- Portal,
678
- RequestContext,
679
- addEventListener,
680
- delegateEvents,
681
- escape,
682
- generateHydrationScript,
683
- getAssets,
684
- getHydrationKey,
685
- getRequestEvent,
686
- hydrate,
687
- insert,
688
- isDev,
689
- isServer,
690
- pipeToNodeWritable,
691
- pipeToWritable,
692
- render,
693
- renderToStream,
694
- renderToString,
695
- renderToStringAsync,
696
- resolveSSRNode,
697
- spread,
698
- ssr,
699
- ssrAttribute,
700
- ssrClassList,
701
- ssrElement,
702
- ssrHydrationKey,
703
- ssrSpread,
704
- ssrStyle,
705
- useAssets
706
- };
629
+ export { Assets, Dynamic, Hydration, HydrationScript, NoHydration, Portal, RequestContext, addEventListener, delegateEvents, escape, generateHydrationScript, getAssets, getHydrationKey, getRequestEvent, hydrate, insert, isDev, isServer, pipeToNodeWritable, pipeToWritable, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, useAssets };
@@ -1,9 +1,9 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
- import { isServer, RequestContext } from "solid-js/web";
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { isServer, RequestContext } from 'solid-js/web';
3
3
 
4
4
  function provideRequestEvent(init, cb) {
5
5
  if (!isServer) throw new Error("Attempting to use server context in non-server build");
6
- const ctx = (globalThis[RequestContext] = globalThis[RequestContext] || new AsyncLocalStorage());
6
+ const ctx = globalThis[RequestContext] = globalThis[RequestContext] || new AsyncLocalStorage();
7
7
  return ctx.run(init, cb);
8
8
  }
9
9