solid-js 1.9.3 → 2.0.0-experimental.0

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 (76) hide show
  1. package/dist/dev.cjs +213 -1603
  2. package/dist/dev.js +159 -1749
  3. package/dist/server.cjs +88 -11
  4. package/dist/server.js +91 -11
  5. package/dist/solid.cjs +196 -1558
  6. package/dist/solid.js +139 -1682
  7. package/package.json +8 -154
  8. package/types/{render → client}/component.d.ts +0 -61
  9. package/types/client/core.d.ts +75 -0
  10. package/types/client/flow.d.ts +114 -0
  11. package/types/{render → client}/hydration.d.ts +0 -2
  12. package/types/{reactive → client}/observable.d.ts +1 -1
  13. package/types/index.d.ts +44 -55
  14. package/types/jsx.d.ts +1944 -174
  15. package/types/server/index.d.ts +1 -1
  16. package/types/server/reactive.d.ts +6 -1
  17. package/types/server/store.d.ts +6 -0
  18. package/h/dist/h.cjs +0 -115
  19. package/h/dist/h.js +0 -144
  20. package/h/jsx-dev-runtime/package.json +0 -8
  21. package/h/jsx-runtime/dist/jsx.cjs +0 -15
  22. package/h/jsx-runtime/dist/jsx.js +0 -10
  23. package/h/jsx-runtime/package.json +0 -8
  24. package/h/jsx-runtime/types/index.d.ts +0 -14
  25. package/h/jsx-runtime/types/jsx.d.ts +0 -2276
  26. package/h/package.json +0 -8
  27. package/h/types/hyperscript.d.ts +0 -20
  28. package/h/types/index.d.ts +0 -3
  29. package/html/dist/html.cjs +0 -583
  30. package/html/dist/html.js +0 -706
  31. package/html/package.json +0 -8
  32. package/html/types/index.d.ts +0 -3
  33. package/html/types/lit.d.ts +0 -60
  34. package/store/dist/dev.cjs +0 -454
  35. package/store/dist/dev.js +0 -525
  36. package/store/dist/server.cjs +0 -126
  37. package/store/dist/server.js +0 -126
  38. package/store/dist/store.cjs +0 -434
  39. package/store/dist/store.js +0 -499
  40. package/store/package.json +0 -46
  41. package/store/types/index.d.ts +0 -26
  42. package/store/types/modifiers.d.ts +0 -9
  43. package/store/types/mutable.d.ts +0 -8
  44. package/store/types/server.d.ts +0 -37
  45. package/store/types/store.d.ts +0 -263
  46. package/types/reactive/array.d.ts +0 -52
  47. package/types/reactive/scheduler.d.ts +0 -13
  48. package/types/reactive/signal.d.ts +0 -664
  49. package/types/render/Suspense.d.ts +0 -26
  50. package/types/render/flow.d.ts +0 -130
  51. package/types/render/index.d.ts +0 -4
  52. package/universal/dist/dev.cjs +0 -243
  53. package/universal/dist/dev.js +0 -257
  54. package/universal/dist/universal.cjs +0 -243
  55. package/universal/dist/universal.js +0 -257
  56. package/universal/package.json +0 -20
  57. package/universal/types/index.d.ts +0 -4
  58. package/universal/types/universal.d.ts +0 -29
  59. package/web/dist/dev.cjs +0 -804
  60. package/web/dist/dev.js +0 -1241
  61. package/web/dist/server.cjs +0 -793
  62. package/web/dist/server.js +0 -1214
  63. package/web/dist/web.cjs +0 -793
  64. package/web/dist/web.js +0 -1220
  65. package/web/package.json +0 -46
  66. package/web/storage/dist/storage.cjs +0 -12
  67. package/web/storage/dist/storage.js +0 -10
  68. package/web/storage/package.json +0 -15
  69. package/web/storage/types/index.d.ts +0 -2
  70. package/web/storage/types/index.js +0 -13
  71. package/web/types/client.d.ts +0 -79
  72. package/web/types/core.d.ts +0 -10
  73. package/web/types/index.d.ts +0 -54
  74. package/web/types/jsx.d.ts +0 -1
  75. package/web/types/server-mock.d.ts +0 -80
  76. package/web/types/server.d.ts +0 -177
@@ -1,793 +0,0 @@
1
- 'use strict';
2
-
3
- var solidJs = require('solid-js');
4
- var seroval = require('seroval');
5
- var web = require('seroval-plugins/web');
6
-
7
- 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"];
8
- const BooleanAttributes = /*#__PURE__*/new Set(booleans);
9
- const Properties = /*#__PURE__*/new Set(["className", "value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
10
- const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
11
- const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
12
- className: "class",
13
- htmlFor: "for"
14
- });
15
- const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
16
- class: "className",
17
- formnovalidate: {
18
- $: "formNoValidate",
19
- BUTTON: 1,
20
- INPUT: 1
21
- },
22
- ismap: {
23
- $: "isMap",
24
- IMG: 1
25
- },
26
- nomodule: {
27
- $: "noModule",
28
- SCRIPT: 1
29
- },
30
- playsinline: {
31
- $: "playsInline",
32
- VIDEO: 1
33
- },
34
- readonly: {
35
- $: "readOnly",
36
- INPUT: 1,
37
- TEXTAREA: 1
38
- }
39
- });
40
- function getPropAlias(prop, tagName) {
41
- const a = PropAliases[prop];
42
- return typeof a === "object" ? a[tagName] ? a["$"] : undefined : a;
43
- }
44
- const DelegatedEvents = /*#__PURE__*/new Set(["beforeinput", "click", "dblclick", "contextmenu", "focusin", "focusout", "input", "keydown", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "pointerdown", "pointermove", "pointerout", "pointerover", "pointerup", "touchend", "touchmove", "touchstart"]);
45
- const SVGElements = /*#__PURE__*/new Set([
46
- "altGlyph", "altGlyphDef", "altGlyphItem", "animate", "animateColor", "animateMotion", "animateTransform", "circle", "clipPath", "color-profile", "cursor", "defs", "desc", "ellipse", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "filter", "font", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignObject", "g", "glyph", "glyphRef", "hkern", "image", "line", "linearGradient", "marker", "mask", "metadata", "missing-glyph", "mpath", "path", "pattern", "polygon", "polyline", "radialGradient", "rect",
47
- "set", "stop",
48
- "svg", "switch", "symbol", "text", "textPath",
49
- "tref", "tspan", "use", "view", "vkern"]);
50
- const SVGNamespace = {
51
- xlink: "http://www.w3.org/1999/xlink",
52
- xml: "http://www.w3.org/XML/1998/namespace"
53
- };
54
- const DOMElements = /*#__PURE__*/new Set(["html", "base", "head", "link", "meta", "style", "title", "body", "address", "article", "aside", "footer", "header", "main", "nav", "section", "body", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rp", "rt", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "area", "audio", "img", "map", "track", "video", "embed", "iframe", "object", "param", "picture", "portal", "source", "svg", "math", "canvas", "noscript", "script", "del", "ins", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "button", "datalist", "fieldset", "form", "input", "label", "legend", "meter", "optgroup", "option", "output", "progress", "select", "textarea", "details", "dialog", "menu", "summary", "details", "slot", "template", "acronym", "applet", "basefont", "bgsound", "big", "blink", "center", "content", "dir", "font", "frame", "frameset", "hgroup", "image", "keygen", "marquee", "menuitem", "nobr", "noembed", "noframes", "plaintext", "rb", "rtc", "shadow", "spacer", "strike", "tt", "xmp", "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "portal", "pre", "progress", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp", "input", "h1", "h2", "h3", "h4", "h5", "h6"]);
55
-
56
- const ES2017FLAG = seroval.Feature.AggregateError
57
- | seroval.Feature.BigIntTypedArray;
58
- const GLOBAL_IDENTIFIER = '_$HY.r';
59
- function createSerializer({
60
- onData,
61
- onDone,
62
- scopeId,
63
- onError
64
- }) {
65
- return new seroval.Serializer({
66
- scopeId,
67
- plugins: [
68
- web.CustomEventPlugin, web.DOMExceptionPlugin, web.EventPlugin,
69
- web.FormDataPlugin, web.HeadersPlugin, web.ReadableStreamPlugin, web.RequestPlugin, web.ResponsePlugin, web.URLSearchParamsPlugin, web.URLPlugin],
70
- globalIdentifier: GLOBAL_IDENTIFIER,
71
- disabledFeatures: ES2017FLAG,
72
- onData,
73
- onDone,
74
- onError
75
- });
76
- }
77
- function getLocalHeaderScript(id) {
78
- return seroval.getCrossReferenceHeader(id) + ';';
79
- }
80
-
81
- const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i;
82
- 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)}`;
83
- function renderToString(code, options = {}) {
84
- const {
85
- renderId
86
- } = options;
87
- let scripts = "";
88
- const serializer = createSerializer({
89
- scopeId: renderId,
90
- onData(script) {
91
- if (!scripts) {
92
- scripts = getLocalHeaderScript(renderId);
93
- }
94
- scripts += script + ";";
95
- },
96
- onError: options.onError
97
- });
98
- solidJs.sharedConfig.context = {
99
- id: renderId || "",
100
- count: 0,
101
- suspense: {},
102
- lazy: {},
103
- assets: [],
104
- nonce: options.nonce,
105
- serialize(id, p) {
106
- !solidJs.sharedConfig.context.noHydrate && serializer.write(id, p);
107
- },
108
- roots: 0,
109
- nextRoot() {
110
- return this.renderId + "i-" + this.roots++;
111
- }
112
- };
113
- let html = solidJs.createRoot(d => {
114
- setTimeout(d);
115
- return resolveSSRNode(escape(code()));
116
- });
117
- solidJs.sharedConfig.context.noHydrate = true;
118
- serializer.close();
119
- html = injectAssets(solidJs.sharedConfig.context.assets, html);
120
- if (scripts.length) html = injectScripts(html, scripts, options.nonce);
121
- return html;
122
- }
123
- function renderToStringAsync(code, options = {}) {
124
- const {
125
- timeoutMs = 30000
126
- } = options;
127
- let timeoutHandle;
128
- const timeout = new Promise((_, reject) => {
129
- timeoutHandle = setTimeout(() => reject("renderToString timed out"), timeoutMs);
130
- });
131
- return Promise.race([renderToStream(code, options), timeout]).then(html => {
132
- clearTimeout(timeoutHandle);
133
- return html;
134
- });
135
- }
136
- function renderToStream(code, options = {}) {
137
- let {
138
- nonce,
139
- onCompleteShell,
140
- onCompleteAll,
141
- renderId,
142
- noScripts
143
- } = options;
144
- let dispose;
145
- const blockingPromises = [];
146
- const pushTask = task => {
147
- if (noScripts) return;
148
- if (!tasks && !firstFlushed) {
149
- tasks = getLocalHeaderScript(renderId);
150
- }
151
- tasks += task + ";";
152
- if (!timer && firstFlushed) {
153
- timer = setTimeout(writeTasks);
154
- }
155
- };
156
- const onDone = () => {
157
- writeTasks();
158
- doShell();
159
- onCompleteAll && onCompleteAll({
160
- write(v) {
161
- !completed && buffer.write(v);
162
- }
163
- });
164
- writable && writable.end();
165
- completed = true;
166
- if (firstFlushed) dispose();
167
- };
168
- const serializer = createSerializer({
169
- scopeId: options.renderId,
170
- onData: pushTask,
171
- onDone,
172
- onError: options.onError
173
- });
174
- const flushEnd = () => {
175
- if (!registry.size) {
176
- queue(() => queue(() => serializer.flush()));
177
- }
178
- };
179
- const registry = new Map();
180
- const writeTasks = () => {
181
- if (tasks.length && !completed && firstFlushed) {
182
- buffer.write(`<script${nonce ? ` nonce="${nonce}"` : ""}>${tasks}</script>`);
183
- tasks = "";
184
- }
185
- timer && clearTimeout(timer);
186
- timer = null;
187
- };
188
- let context;
189
- let writable;
190
- let tmp = "";
191
- let tasks = "";
192
- let firstFlushed = false;
193
- let completed = false;
194
- let shellCompleted = false;
195
- let scriptFlushed = false;
196
- let timer = null;
197
- let buffer = {
198
- write(payload) {
199
- tmp += payload;
200
- }
201
- };
202
- solidJs.sharedConfig.context = context = {
203
- id: renderId || "",
204
- count: 0,
205
- async: true,
206
- resources: {},
207
- lazy: {},
208
- suspense: {},
209
- assets: [],
210
- nonce,
211
- block(p) {
212
- if (!firstFlushed) blockingPromises.push(p);
213
- },
214
- replace(id, payloadFn) {
215
- if (firstFlushed) return;
216
- const placeholder = `<!--!$${id}-->`;
217
- const first = html.indexOf(placeholder);
218
- if (first === -1) return;
219
- const last = html.indexOf(`<!--!$/${id}-->`, first + placeholder.length);
220
- html = html.replace(html.slice(first, last + placeholder.length + 1), resolveSSRNode(payloadFn()));
221
- },
222
- serialize(id, p, wait) {
223
- const serverOnly = solidJs.sharedConfig.context.noHydrate;
224
- if (!firstFlushed && wait && typeof p === "object" && "then" in p) {
225
- blockingPromises.push(p);
226
- !serverOnly && p.then(d => {
227
- serializer.write(id, d);
228
- }).catch(e => {
229
- serializer.write(id, e);
230
- });
231
- } else if (!serverOnly) serializer.write(id, p);
232
- },
233
- roots: 0,
234
- nextRoot() {
235
- return this.renderId + "i-" + this.roots++;
236
- },
237
- registerFragment(key) {
238
- if (!registry.has(key)) {
239
- let resolve, reject;
240
- const p = new Promise((r, rej) => (resolve = r, reject = rej));
241
- registry.set(key, err => queue(() => queue(() => {
242
- err ? reject(err) : resolve(true);
243
- queue(flushEnd);
244
- })));
245
- serializer.write(key, p);
246
- }
247
- return (value, error) => {
248
- if (registry.has(key)) {
249
- const resolve = registry.get(key);
250
- registry.delete(key);
251
- if (waitForFragments(registry, key)) {
252
- resolve();
253
- return;
254
- }
255
- if (!completed) {
256
- if (!firstFlushed) {
257
- queue(() => html = replacePlaceholder(html, key, value !== undefined ? value : ""));
258
- resolve(error);
259
- } else {
260
- buffer.write(`<template id="${key}">${value !== undefined ? value : " "}</template>`);
261
- pushTask(`$df("${key}")${!scriptFlushed ? ";" + REPLACE_SCRIPT : ""}`);
262
- resolve(error);
263
- scriptFlushed = true;
264
- }
265
- }
266
- }
267
- return firstFlushed;
268
- };
269
- }
270
- };
271
- let html = solidJs.createRoot(d => {
272
- dispose = d;
273
- return resolveSSRNode(escape(code()));
274
- });
275
- function doShell() {
276
- if (shellCompleted) return;
277
- solidJs.sharedConfig.context = context;
278
- context.noHydrate = true;
279
- html = injectAssets(context.assets, html);
280
- if (tasks.length) html = injectScripts(html, tasks, nonce);
281
- buffer.write(html);
282
- tasks = "";
283
- onCompleteShell && onCompleteShell({
284
- write(v) {
285
- !completed && buffer.write(v);
286
- }
287
- });
288
- shellCompleted = true;
289
- }
290
- return {
291
- then(fn) {
292
- function complete() {
293
- dispose();
294
- fn(tmp);
295
- }
296
- if (onCompleteAll) {
297
- let ogComplete = onCompleteAll;
298
- onCompleteAll = options => {
299
- ogComplete(options);
300
- complete();
301
- };
302
- } else onCompleteAll = complete;
303
- queue(flushEnd);
304
- },
305
- pipe(w) {
306
- allSettled(blockingPromises).then(() => {
307
- setTimeout(() => {
308
- doShell();
309
- buffer = writable = w;
310
- buffer.write(tmp);
311
- firstFlushed = true;
312
- if (completed) {
313
- dispose();
314
- writable.end();
315
- } else flushEnd();
316
- });
317
- });
318
- },
319
- pipeTo(w) {
320
- return allSettled(blockingPromises).then(() => {
321
- let resolve;
322
- const p = new Promise(r => resolve = r);
323
- setTimeout(() => {
324
- doShell();
325
- const encoder = new TextEncoder();
326
- const writer = w.getWriter();
327
- writable = {
328
- end() {
329
- writer.releaseLock();
330
- w.close();
331
- resolve();
332
- }
333
- };
334
- buffer = {
335
- write(payload) {
336
- writer.write(encoder.encode(payload));
337
- }
338
- };
339
- buffer.write(tmp);
340
- firstFlushed = true;
341
- if (completed) {
342
- dispose();
343
- writable.end();
344
- } else flushEnd();
345
- });
346
- return p;
347
- });
348
- }
349
- };
350
- }
351
- function HydrationScript(props) {
352
- const {
353
- nonce
354
- } = solidJs.sharedConfig.context;
355
- return ssr(generateHydrationScript({
356
- nonce,
357
- ...props
358
- }));
359
- }
360
- function ssr(t, ...nodes) {
361
- if (nodes.length) {
362
- let result = "";
363
- for (let i = 0; i < nodes.length; i++) {
364
- result += t[i];
365
- const node = nodes[i];
366
- if (node !== undefined) result += resolveSSRNode(node);
367
- }
368
- t = result + t[nodes.length];
369
- }
370
- return {
371
- t
372
- };
373
- }
374
- function ssrClassList(value) {
375
- if (!value) return "";
376
- let classKeys = Object.keys(value),
377
- result = "";
378
- for (let i = 0, len = classKeys.length; i < len; i++) {
379
- const key = classKeys[i],
380
- classValue = !!value[key];
381
- if (!key || key === "undefined" || !classValue) continue;
382
- i && (result += " ");
383
- result += escape(key);
384
- }
385
- return result;
386
- }
387
- function ssrStyle(value) {
388
- if (!value) return "";
389
- if (typeof value === "string") return escape(value, true);
390
- let result = "";
391
- const k = Object.keys(value);
392
- for (let i = 0; i < k.length; i++) {
393
- const s = k[i];
394
- const v = value[s];
395
- if (v != undefined) {
396
- if (i) result += ";";
397
- result += `${s}:${escape(v, true)}`;
398
- }
399
- }
400
- return result;
401
- }
402
- function ssrElement(tag, props, children, needsId) {
403
- if (props == null) props = {};else if (typeof props === "function") props = props();
404
- const skipChildren = VOID_ELEMENTS.test(tag);
405
- const keys = Object.keys(props);
406
- let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
407
- let classResolved;
408
- for (let i = 0; i < keys.length; i++) {
409
- const prop = keys[i];
410
- if (ChildProperties.has(prop)) {
411
- if (children === undefined && !skipChildren) children = prop === "innerHTML" ? props[prop] : escape(props[prop]);
412
- continue;
413
- }
414
- const value = props[prop];
415
- if (prop === "style") {
416
- result += `style="${ssrStyle(value)}"`;
417
- } else if (prop === "class" || prop === "className" || prop === "classList") {
418
- if (classResolved) continue;
419
- let n;
420
- result += `class="${escape(((n = props.class) ? n + " " : "") + ((n = props.className) ? n + " " : ""), true) + ssrClassList(props.classList)}"`;
421
- classResolved = true;
422
- } else if (BooleanAttributes.has(prop)) {
423
- if (value) result += prop;else continue;
424
- } else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on" || prop.slice(0, 5) === "prop:") {
425
- continue;
426
- } else if (prop.slice(0, 5) === "bool:") {
427
- if (!value) continue;
428
- result += escape(prop.slice(5));
429
- } else if (prop.slice(0, 5) === "attr:") {
430
- result += `${escape(prop.slice(5))}="${escape(value, true)}"`;
431
- } else {
432
- result += `${Aliases[prop] || escape(prop)}="${escape(value, true)}"`;
433
- }
434
- if (i !== keys.length - 1) result += " ";
435
- }
436
- if (skipChildren) return {
437
- t: result + "/>"
438
- };
439
- if (typeof children === "function") children = children();
440
- return {
441
- t: result + `>${resolveSSRNode(children, true)}</${tag}>`
442
- };
443
- }
444
- function ssrAttribute(key, value, isBoolean) {
445
- return isBoolean ? value ? " " + key : "" : value != null ? ` ${key}="${value}"` : "";
446
- }
447
- function ssrHydrationKey() {
448
- const hk = getHydrationKey();
449
- return hk ? ` data-hk=${hk}` : "";
450
- }
451
- function escape(s, attr) {
452
- const t = typeof s;
453
- if (t !== "string") {
454
- if (!attr && t === "function") return escape(s());
455
- if (!attr && Array.isArray(s)) {
456
- for (let i = 0; i < s.length; i++) s[i] = escape(s[i]);
457
- return s;
458
- }
459
- if (attr && t === "boolean") return String(s);
460
- return s;
461
- }
462
- const delim = attr ? '"' : "<";
463
- const escDelim = attr ? "&quot;" : "&lt;";
464
- let iDelim = s.indexOf(delim);
465
- let iAmp = s.indexOf("&");
466
- if (iDelim < 0 && iAmp < 0) return s;
467
- let left = 0,
468
- out = "";
469
- while (iDelim >= 0 && iAmp >= 0) {
470
- if (iDelim < iAmp) {
471
- if (left < iDelim) out += s.substring(left, iDelim);
472
- out += escDelim;
473
- left = iDelim + 1;
474
- iDelim = s.indexOf(delim, left);
475
- } else {
476
- if (left < iAmp) out += s.substring(left, iAmp);
477
- out += "&amp;";
478
- left = iAmp + 1;
479
- iAmp = s.indexOf("&", left);
480
- }
481
- }
482
- if (iDelim >= 0) {
483
- do {
484
- if (left < iDelim) out += s.substring(left, iDelim);
485
- out += escDelim;
486
- left = iDelim + 1;
487
- iDelim = s.indexOf(delim, left);
488
- } while (iDelim >= 0);
489
- } else while (iAmp >= 0) {
490
- if (left < iAmp) out += s.substring(left, iAmp);
491
- out += "&amp;";
492
- left = iAmp + 1;
493
- iAmp = s.indexOf("&", left);
494
- }
495
- return left < s.length ? out + s.substring(left) : out;
496
- }
497
- function resolveSSRNode(node, top) {
498
- const t = typeof node;
499
- if (t === "string") return node;
500
- if (node == null || t === "boolean") return "";
501
- if (Array.isArray(node)) {
502
- let prev = {};
503
- let mapped = "";
504
- for (let i = 0, len = node.length; i < len; i++) {
505
- if (!top && typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
506
- mapped += resolveSSRNode(prev = node[i]);
507
- }
508
- return mapped;
509
- }
510
- if (t === "object") return node.t;
511
- if (t === "function") return resolveSSRNode(node());
512
- return String(node);
513
- }
514
- function getHydrationKey() {
515
- const hydrate = solidJs.sharedConfig.context;
516
- return hydrate && !hydrate.noHydrate && solidJs.sharedConfig.getNextContextId();
517
- }
518
- function useAssets(fn) {
519
- solidJs.sharedConfig.context.assets.push(() => resolveSSRNode(fn()));
520
- }
521
- function getAssets() {
522
- const assets = solidJs.sharedConfig.context.assets;
523
- let out = "";
524
- for (let i = 0, len = assets.length; i < len; i++) out += assets[i]();
525
- return out;
526
- }
527
- function generateHydrationScript({
528
- eventNames = ["click", "input"],
529
- nonce
530
- } = {}) {
531
- 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=>{if(!e.events)return;let s=t(o.composedPath&&o.composedPath()[0]||o.target);s&&!e.completed.has(s)&&e.events.push([s,o])}))))})(_$HY={events:[],completed:new WeakSet,r:{},fe(){}});</script><!--xs-->`;
532
- }
533
- function Hydration(props) {
534
- if (!solidJs.sharedConfig.context.noHydrate) return props.children;
535
- const context = solidJs.sharedConfig.context;
536
- solidJs.sharedConfig.context = {
537
- ...context,
538
- count: 0,
539
- id: solidJs.sharedConfig.getNextContextId(),
540
- noHydrate: false
541
- };
542
- const res = props.children;
543
- solidJs.sharedConfig.context = context;
544
- return res;
545
- }
546
- function NoHydration(props) {
547
- if (solidJs.sharedConfig.context) solidJs.sharedConfig.context.noHydrate = true;
548
- return props.children;
549
- }
550
- function queue(fn) {
551
- return Promise.resolve().then(fn);
552
- }
553
- function allSettled(promises) {
554
- let length = promises.length;
555
- return Promise.allSettled(promises).then(() => {
556
- if (promises.length !== length) return allSettled(promises);
557
- return;
558
- });
559
- }
560
- function injectAssets(assets, html) {
561
- if (!assets || !assets.length) return html;
562
- let out = "";
563
- for (let i = 0, len = assets.length; i < len; i++) out += assets[i]();
564
- return html.replace(`</head>`, out + `</head>`);
565
- }
566
- function injectScripts(html, scripts, nonce) {
567
- const tag = `<script${nonce ? ` nonce="${nonce}"` : ""}>${scripts}</script>`;
568
- const index = html.indexOf("<!--xs-->");
569
- if (index > -1) {
570
- return html.slice(0, index) + tag + html.slice(index);
571
- }
572
- return html + tag;
573
- }
574
- function waitForFragments(registry, key) {
575
- for (const k of [...registry.keys()].reverse()) {
576
- if (key.startsWith(k)) return true;
577
- }
578
- return false;
579
- }
580
- function replacePlaceholder(html, key, value) {
581
- const marker = `<template id="pl-${key}">`;
582
- const close = `<!--pl-${key}-->`;
583
- const first = html.indexOf(marker);
584
- if (first === -1) return html;
585
- const last = html.indexOf(close, first + marker.length);
586
- return html.slice(0, first) + value + html.slice(last + close.length);
587
- }
588
- const RequestContext = Symbol();
589
- function getRequestEvent() {
590
- 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;
591
- }
592
- function Assets(props) {
593
- useAssets(() => props.children);
594
- }
595
- function pipeToNodeWritable(code, writable, options = {}) {
596
- if (options.onReady) {
597
- options.onCompleteShell = ({
598
- write
599
- }) => {
600
- options.onReady({
601
- write,
602
- startWriting() {
603
- stream.pipe(writable);
604
- }
605
- });
606
- };
607
- }
608
- const stream = renderToStream(code, options);
609
- if (!options.onReady) stream.pipe(writable);
610
- }
611
- function pipeToWritable(code, writable, options = {}) {
612
- if (options.onReady) {
613
- options.onCompleteShell = ({
614
- write
615
- }) => {
616
- options.onReady({
617
- write,
618
- startWriting() {
619
- stream.pipeTo(writable);
620
- }
621
- });
622
- };
623
- }
624
- const stream = renderToStream(code, options);
625
- if (!options.onReady) stream.pipeTo(writable);
626
- }
627
- function ssrSpread(props, isSVG, skipChildren) {
628
- let result = "";
629
- if (props == null) return result;
630
- if (typeof props === "function") props = props();
631
- const keys = Object.keys(props);
632
- let classResolved;
633
- for (let i = 0; i < keys.length; i++) {
634
- let prop = keys[i];
635
- if (prop === "children") {
636
- !skipChildren && console.warn(`SSR currently does not support spread children.`);
637
- continue;
638
- }
639
- const value = props[prop];
640
- if (prop === "style") {
641
- result += `style="${ssrStyle(value)}"`;
642
- } else if (prop === "class" || prop === "className" || prop === "classList") {
643
- if (classResolved) continue;
644
- let n;
645
- result += `class="${(n = props.class) ? n + " " : ""}${(n = props.className) ? n + " " : ""}${ssrClassList(props.classList)}"`;
646
- classResolved = true;
647
- } else if (prop !== "value" && Properties.has(prop)) {
648
- if (value) result += prop;else continue;
649
- } else if (value == undefined || prop === "ref" || prop.slice(0, 2) === "on" || prop.slice(0, 5) === "prop:") {
650
- continue;
651
- } else if (prop.slice(0, 5) === "bool:") {
652
- if (!value) continue;
653
- result += escape(prop.slice(5));
654
- } else if (prop.slice(0, 5) === "attr:") {
655
- result += `${escape(prop.slice(5))}="${escape(value, true)}"`;
656
- } else {
657
- result += `${Aliases[prop] || escape(prop)}="${escape(value, true)}"`;
658
- }
659
- if (i !== keys.length - 1) result += " ";
660
- }
661
- return result;
662
- }
663
- function notSup() {
664
- throw new Error("Client-only API called on the server side. Run client-only code in onMount, or conditionally run client-only component with <Show>.");
665
- }
666
-
667
- const isServer = true;
668
- const isDev = false;
669
- function Dynamic(props) {
670
- const [p, others] = solidJs.splitProps(props, ["component"]);
671
- const comp = p.component,
672
- t = typeof comp;
673
- if (comp) {
674
- if (t === "function") return comp(others);else if (t === "string") {
675
- return ssrElement(comp, others, undefined, true);
676
- }
677
- }
678
- }
679
- function Portal(props) {
680
- return "";
681
- }
682
-
683
- Object.defineProperty(exports, "ErrorBoundary", {
684
- enumerable: true,
685
- get: function () { return solidJs.ErrorBoundary; }
686
- });
687
- Object.defineProperty(exports, "For", {
688
- enumerable: true,
689
- get: function () { return solidJs.For; }
690
- });
691
- Object.defineProperty(exports, "Index", {
692
- enumerable: true,
693
- get: function () { return solidJs.Index; }
694
- });
695
- Object.defineProperty(exports, "Match", {
696
- enumerable: true,
697
- get: function () { return solidJs.Match; }
698
- });
699
- Object.defineProperty(exports, "Show", {
700
- enumerable: true,
701
- get: function () { return solidJs.Show; }
702
- });
703
- Object.defineProperty(exports, "Suspense", {
704
- enumerable: true,
705
- get: function () { return solidJs.Suspense; }
706
- });
707
- Object.defineProperty(exports, "SuspenseList", {
708
- enumerable: true,
709
- get: function () { return solidJs.SuspenseList; }
710
- });
711
- Object.defineProperty(exports, "Switch", {
712
- enumerable: true,
713
- get: function () { return solidJs.Switch; }
714
- });
715
- Object.defineProperty(exports, "createComponent", {
716
- enumerable: true,
717
- get: function () { return solidJs.createComponent; }
718
- });
719
- Object.defineProperty(exports, "effect", {
720
- enumerable: true,
721
- get: function () { return solidJs.createRenderEffect; }
722
- });
723
- Object.defineProperty(exports, "getOwner", {
724
- enumerable: true,
725
- get: function () { return solidJs.getOwner; }
726
- });
727
- Object.defineProperty(exports, "memo", {
728
- enumerable: true,
729
- get: function () { return solidJs.createMemo; }
730
- });
731
- Object.defineProperty(exports, "mergeProps", {
732
- enumerable: true,
733
- get: function () { return solidJs.mergeProps; }
734
- });
735
- Object.defineProperty(exports, "untrack", {
736
- enumerable: true,
737
- get: function () { return solidJs.untrack; }
738
- });
739
- exports.Aliases = Aliases;
740
- exports.Assets = Assets;
741
- exports.ChildProperties = ChildProperties;
742
- exports.DOMElements = DOMElements;
743
- exports.DelegatedEvents = DelegatedEvents;
744
- exports.Dynamic = Dynamic;
745
- exports.Hydration = Hydration;
746
- exports.HydrationScript = HydrationScript;
747
- exports.NoHydration = NoHydration;
748
- exports.Portal = Portal;
749
- exports.Properties = Properties;
750
- exports.RequestContext = RequestContext;
751
- exports.SVGElements = SVGElements;
752
- exports.SVGNamespace = SVGNamespace;
753
- exports.addEventListener = notSup;
754
- exports.assign = notSup;
755
- exports.classList = notSup;
756
- exports.className = notSup;
757
- exports.delegateEvents = notSup;
758
- exports.dynamicProperty = notSup;
759
- exports.escape = escape;
760
- exports.generateHydrationScript = generateHydrationScript;
761
- exports.getAssets = getAssets;
762
- exports.getHydrationKey = getHydrationKey;
763
- exports.getNextElement = notSup;
764
- exports.getNextMarker = notSup;
765
- exports.getNextMatch = notSup;
766
- exports.getPropAlias = getPropAlias;
767
- exports.getRequestEvent = getRequestEvent;
768
- exports.hydrate = notSup;
769
- exports.insert = notSup;
770
- exports.isDev = isDev;
771
- exports.isServer = isServer;
772
- exports.pipeToNodeWritable = pipeToNodeWritable;
773
- exports.pipeToWritable = pipeToWritable;
774
- exports.render = notSup;
775
- exports.renderToStream = renderToStream;
776
- exports.renderToString = renderToString;
777
- exports.renderToStringAsync = renderToStringAsync;
778
- exports.resolveSSRNode = resolveSSRNode;
779
- exports.runHydrationEvents = notSup;
780
- exports.setAttribute = notSup;
781
- exports.setAttributeNS = notSup;
782
- exports.setProperty = notSup;
783
- exports.spread = notSup;
784
- exports.ssr = ssr;
785
- exports.ssrAttribute = ssrAttribute;
786
- exports.ssrClassList = ssrClassList;
787
- exports.ssrElement = ssrElement;
788
- exports.ssrHydrationKey = ssrHydrationKey;
789
- exports.ssrSpread = ssrSpread;
790
- exports.ssrStyle = ssrStyle;
791
- exports.style = notSup;
792
- exports.template = notSup;
793
- exports.useAssets = useAssets;