solid-js 1.8.8 → 1.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dev.cjs +17 -21
- package/dist/dev.js +554 -321
- package/dist/server.js +170 -75
- package/dist/solid.cjs +17 -21
- package/dist/solid.js +481 -279
- package/h/dist/h.js +34 -8
- package/h/jsx-runtime/dist/jsx.js +1 -1
- package/h/jsx-runtime/types/index.d.ts +11 -8
- package/h/jsx-runtime/types/jsx.d.ts +2 -1
- package/h/types/hyperscript.d.ts +11 -11
- package/html/dist/html.js +216 -94
- package/html/types/lit.d.ts +47 -33
- package/package.json +3 -2
- package/store/dist/dev.cjs +1 -1
- package/store/dist/dev.js +117 -42
- package/store/dist/server.js +19 -8
- package/store/dist/store.cjs +1 -1
- package/store/dist/store.js +108 -39
- package/store/types/index.d.ts +21 -7
- package/store/types/modifiers.d.ts +6 -3
- package/store/types/mutable.d.ts +5 -2
- package/store/types/server.d.ts +12 -4
- package/store/types/store.d.ts +218 -61
- package/types/index.d.ts +75 -10
- package/types/jsx.d.ts +2 -1
- package/types/reactive/array.d.ts +12 -4
- package/types/reactive/observable.d.ts +25 -17
- package/types/reactive/scheduler.d.ts +9 -6
- package/types/reactive/signal.d.ts +233 -142
- package/types/render/Suspense.d.ts +5 -5
- package/types/render/component.d.ts +64 -33
- package/types/render/flow.d.ts +43 -31
- package/types/render/hydration.d.ts +13 -13
- package/types/server/index.d.ts +57 -2
- package/types/server/reactive.d.ts +73 -42
- package/types/server/rendering.d.ts +167 -96
- package/universal/dist/dev.js +28 -12
- package/universal/dist/universal.js +28 -12
- package/universal/types/index.d.ts +3 -1
- package/universal/types/universal.d.ts +0 -1
- package/web/dist/dev.cjs +1 -1
- package/web/dist/dev.js +621 -82
- package/web/dist/server.cjs +53 -42
- package/web/dist/server.js +244 -127
- package/web/dist/storage.js +3 -3
- package/web/dist/web.cjs +1 -1
- package/web/dist/web.js +615 -81
- package/web/types/client.d.ts +2 -2
- package/web/types/core.d.ts +10 -1
- package/web/types/index.d.ts +27 -10
- package/web/types/server-mock.d.ts +47 -32
package/web/dist/server.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var solidJs = require('solid-js');
|
|
4
4
|
var seroval = require('seroval');
|
|
5
|
+
var web = require('seroval-plugins/web');
|
|
5
6
|
|
|
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"];
|
|
7
8
|
const BooleanAttributes = /*#__PURE__*/new Set(booleans);
|
|
@@ -11,8 +12,6 @@ const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
|
|
|
11
12
|
htmlFor: "for"
|
|
12
13
|
});
|
|
13
14
|
|
|
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
|
-
|
|
16
15
|
const ES2017FLAG = seroval.Feature.AggregateError
|
|
17
16
|
| seroval.Feature.BigInt
|
|
18
17
|
| seroval.Feature.BigIntTypedArray;
|
|
@@ -26,8 +25,8 @@ function createSerializer({
|
|
|
26
25
|
return new seroval.Serializer({
|
|
27
26
|
scopeId,
|
|
28
27
|
plugins: [
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
web.CustomEventPlugin, web.DOMExceptionPlugin, web.EventPlugin,
|
|
29
|
+
web.FormDataPlugin, web.HeadersPlugin, web.ReadableStreamPlugin, web.RequestPlugin, web.ResponsePlugin, web.URLSearchParamsPlugin, web.URLPlugin],
|
|
31
30
|
globalIdentifier: GLOBAL_IDENTIFIER,
|
|
32
31
|
disabledFeatures: ES2017FLAG,
|
|
33
32
|
onData,
|
|
@@ -114,23 +113,22 @@ function renderToStream(code, options = {}) {
|
|
|
114
113
|
timer = setTimeout(writeTasks);
|
|
115
114
|
}
|
|
116
115
|
};
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
116
|
+
const onDone = () => {
|
|
117
|
+
writeTasks();
|
|
118
|
+
doShell();
|
|
119
|
+
onCompleteAll && onCompleteAll({
|
|
120
|
+
write(v) {
|
|
121
|
+
!completed && buffer.write(v);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
writable && writable.end();
|
|
125
|
+
completed = true;
|
|
126
|
+
if (firstFlushed) dispose();
|
|
129
127
|
};
|
|
130
128
|
const serializer = createSerializer({
|
|
131
129
|
scopeId: options.renderId,
|
|
132
130
|
onData: pushTask,
|
|
133
|
-
onDone
|
|
131
|
+
onDone,
|
|
134
132
|
onError: options.onError
|
|
135
133
|
});
|
|
136
134
|
const flushEnd = () => {
|
|
@@ -153,6 +151,7 @@ function renderToStream(code, options = {}) {
|
|
|
153
151
|
let tasks = "";
|
|
154
152
|
let firstFlushed = false;
|
|
155
153
|
let completed = false;
|
|
154
|
+
let shellCompleted = false;
|
|
156
155
|
let scriptFlushed = false;
|
|
157
156
|
let timer = null;
|
|
158
157
|
let buffer = {
|
|
@@ -238,6 +237,7 @@ function renderToStream(code, options = {}) {
|
|
|
238
237
|
return resolveSSRNode(escape(code()));
|
|
239
238
|
});
|
|
240
239
|
function doShell() {
|
|
240
|
+
if (shellCompleted) return;
|
|
241
241
|
solidJs.sharedConfig.context = context;
|
|
242
242
|
context.noHydrate = true;
|
|
243
243
|
html = injectAssets(context.assets, html);
|
|
@@ -249,11 +249,12 @@ function renderToStream(code, options = {}) {
|
|
|
249
249
|
!completed && buffer.write(v);
|
|
250
250
|
}
|
|
251
251
|
});
|
|
252
|
+
shellCompleted = true;
|
|
252
253
|
}
|
|
253
254
|
return {
|
|
254
255
|
then(fn) {
|
|
255
256
|
function complete() {
|
|
256
|
-
|
|
257
|
+
dispose();
|
|
257
258
|
fn(tmp);
|
|
258
259
|
}
|
|
259
260
|
if (onCompleteAll) {
|
|
@@ -263,39 +264,49 @@ function renderToStream(code, options = {}) {
|
|
|
263
264
|
complete();
|
|
264
265
|
};
|
|
265
266
|
} else onCompleteAll = complete;
|
|
266
|
-
|
|
267
|
+
queue(flushEnd);
|
|
267
268
|
},
|
|
268
269
|
pipe(w) {
|
|
269
270
|
allSettled(blockingPromises).then(() => {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
271
|
+
setTimeout(() => {
|
|
272
|
+
doShell();
|
|
273
|
+
buffer = writable = w;
|
|
274
|
+
buffer.write(tmp);
|
|
275
|
+
firstFlushed = true;
|
|
276
|
+
if (completed) {
|
|
277
|
+
dispose();
|
|
278
|
+
writable.end();
|
|
279
|
+
} else flushEnd();
|
|
280
|
+
});
|
|
275
281
|
});
|
|
276
282
|
},
|
|
277
283
|
pipeTo(w) {
|
|
278
284
|
return allSettled(blockingPromises).then(() => {
|
|
279
|
-
doShell();
|
|
280
|
-
const encoder = new TextEncoder();
|
|
281
|
-
const writer = w.getWriter();
|
|
282
285
|
let resolve;
|
|
283
286
|
const p = new Promise(r => resolve = r);
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
287
|
+
setTimeout(() => {
|
|
288
|
+
doShell();
|
|
289
|
+
const encoder = new TextEncoder();
|
|
290
|
+
const writer = w.getWriter();
|
|
291
|
+
writable = {
|
|
292
|
+
end() {
|
|
293
|
+
writer.releaseLock();
|
|
294
|
+
w.close();
|
|
295
|
+
resolve();
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
buffer = {
|
|
299
|
+
write(payload) {
|
|
300
|
+
writer.write(encoder.encode(payload));
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
buffer.write(tmp);
|
|
304
|
+
firstFlushed = true;
|
|
305
|
+
if (completed) {
|
|
306
|
+
dispose();
|
|
307
|
+
writable.end();
|
|
308
|
+
} else flushEnd();
|
|
309
|
+
});
|
|
299
310
|
return p;
|
|
300
311
|
});
|
|
301
312
|
}
|