@solidjs/web 2.0.0-experimental.8 → 2.0.0-rc.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 (85) hide show
  1. package/README.md +22 -4
  2. package/dist/dev.cjs +1585 -225
  3. package/dist/dev.js +1510 -201
  4. package/dist/server.cjs +2642 -264
  5. package/dist/server.js +2542 -217
  6. package/dist/web.cjs +1523 -218
  7. package/dist/web.js +1448 -194
  8. package/frames/dist/client.cjs +1916 -0
  9. package/frames/dist/client.dev.cjs +1933 -0
  10. package/frames/dist/client.dev.js +1921 -0
  11. package/frames/dist/client.js +1904 -0
  12. package/frames/dist/server.cjs +3667 -0
  13. package/frames/dist/server.js +3654 -0
  14. package/frames/package.json +30 -0
  15. package/package.json +349 -37
  16. package/serialization/decode/package.json +20 -0
  17. package/serialization/dist/decode.cjs +110 -0
  18. package/serialization/dist/decode.js +104 -0
  19. package/serialization/dist/serialization.cjs +232 -0
  20. package/serialization/dist/serialization.js +215 -0
  21. package/serialization/package.json +20 -0
  22. package/serialization/types/index.d.ts +182 -0
  23. package/serialization/types/serializer-decode.d.ts +182 -0
  24. package/serialization/types-cjs/index.d.cts +182 -0
  25. package/serialization/types-cjs/package.json +3 -0
  26. package/serialization/types-cjs/serializer-decode.d.cts +182 -0
  27. package/server-functions/dist/client.cjs +646 -0
  28. package/server-functions/dist/client.js +617 -0
  29. package/server-functions/dist/rich-args.cjs +11 -0
  30. package/server-functions/dist/rich-args.js +9 -0
  31. package/server-functions/dist/server.cjs +1077 -0
  32. package/server-functions/dist/server.dev.cjs +1077 -0
  33. package/server-functions/dist/server.dev.js +1045 -0
  34. package/server-functions/dist/server.js +1045 -0
  35. package/server-functions/package.json +40 -0
  36. package/server-functions/rich-args/package.json +20 -0
  37. package/storage/package.json +8 -3
  38. package/storage/types/index.d.ts +26 -0
  39. package/storage/types-cjs/index.d.cts +28 -0
  40. package/storage/types-cjs/package.json +3 -0
  41. package/types/client.d.ts +290 -27
  42. package/types/cookies.d.ts +93 -0
  43. package/types/core.d.ts +6 -2
  44. package/types/frames/client.d.ts +36 -0
  45. package/types/frames/frame-client.d.ts +338 -0
  46. package/types/frames/frame-sink.d.ts +194 -0
  47. package/types/frames/frame-transport.d.ts +222 -0
  48. package/types/frames/serializer.d.ts +182 -0
  49. package/types/frames/server.d.ts +52 -0
  50. package/types/index.d.ts +209 -24
  51. package/types/jsx-properties.d.ts +93 -0
  52. package/types/jsx.d.ts +4150 -1
  53. package/types/response.d.ts +174 -0
  54. package/types/serializer-decode.d.ts +182 -0
  55. package/types/serializer.d.ts +182 -0
  56. package/types/server-functions/client.d.ts +201 -0
  57. package/types/server-functions/flash.d.ts +38 -0
  58. package/types/server-functions/rich-args.d.ts +10 -0
  59. package/types/server-functions/server.d.ts +588 -0
  60. package/types/server-functions/shared.d.ts +523 -0
  61. package/types/server-mock.d.ts +249 -12
  62. package/types/server.d.ts +424 -51
  63. package/types-cjs/client.d.cts +337 -0
  64. package/types-cjs/cookies.d.cts +93 -0
  65. package/types-cjs/core.d.cts +6 -0
  66. package/types-cjs/frames/client.d.cts +36 -0
  67. package/types-cjs/frames/frame-client.d.cts +338 -0
  68. package/types-cjs/frames/frame-sink.d.cts +194 -0
  69. package/types-cjs/frames/frame-transport.d.cts +222 -0
  70. package/types-cjs/frames/serializer.d.cts +182 -0
  71. package/types-cjs/frames/server.d.cts +52 -0
  72. package/types-cjs/index.d.cts +230 -0
  73. package/types-cjs/jsx-properties.d.cts +93 -0
  74. package/types-cjs/jsx.d.cts +4150 -0
  75. package/types-cjs/package.json +3 -0
  76. package/types-cjs/response.d.cts +174 -0
  77. package/types-cjs/serializer-decode.d.cts +182 -0
  78. package/types-cjs/serializer.d.cts +182 -0
  79. package/types-cjs/server-functions/client.d.cts +201 -0
  80. package/types-cjs/server-functions/flash.d.cts +38 -0
  81. package/types-cjs/server-functions/rich-args.d.cts +10 -0
  82. package/types-cjs/server-functions/server.d.cts +588 -0
  83. package/types-cjs/server-functions/shared.d.cts +523 -0
  84. package/types-cjs/server-mock.d.cts +277 -0
  85. package/types-cjs/server.d.cts +523 -0
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@solidjs/web/frames",
3
+ "main": "./dist/server.cjs",
4
+ "module": "./dist/server.js",
5
+ "types": "../types/frames/server.d.ts",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "browser": {
11
+ "import": {
12
+ "types": "../types/frames/client.d.ts",
13
+ "default": "./dist/client.js"
14
+ },
15
+ "require": {
16
+ "types": "../types-cjs/frames/client.d.cts",
17
+ "default": "./dist/client.cjs"
18
+ }
19
+ },
20
+ "import": {
21
+ "types": "../types/frames/server.d.ts",
22
+ "default": "./dist/server.js"
23
+ },
24
+ "require": {
25
+ "types": "../types-cjs/frames/server.d.cts",
26
+ "default": "./dist/server.cjs"
27
+ }
28
+ }
29
+ }
30
+ }
package/package.json CHANGED
@@ -1,97 +1,409 @@
1
1
  {
2
2
  "name": "@solidjs/web",
3
- "description": "Solid's web runtime for the browser and the server",
4
- "version": "2.0.0-experimental.8",
3
+ "description": "Solid's web runtime: client rendering, hydration, SSR, and DOM-specific control flow (Portal, Dynamic).",
4
+ "version": "2.0.0-rc.0",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://solidjs.com",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/solidjs/solid-web"
10
+ "url": "git+https://github.com/solidjs/solid.git",
11
+ "directory": "packages/solid-web"
11
12
  },
12
13
  "publishConfig": {
13
14
  "access": "public"
14
15
  },
15
16
  "main": "./dist/server.cjs",
16
17
  "module": "./dist/server.js",
17
- "unpkg": "./dist/web.cjs",
18
+ "unpkg": "./dist/web.js",
19
+ "jsdelivr": "./dist/web.js",
18
20
  "types": "./types/index.d.ts",
19
21
  "type": "module",
20
22
  "sideEffects": false,
21
23
  "files": [
22
24
  "dist",
23
25
  "types",
26
+ "types-cjs",
24
27
  "package.json",
25
28
  "storage/dist",
26
29
  "storage/types",
27
- "storage/package.json"
30
+ "storage/types-cjs",
31
+ "storage/package.json",
32
+ "serialization/dist",
33
+ "serialization/types",
34
+ "serialization/types-cjs",
35
+ "serialization/package.json",
36
+ "serialization/decode/package.json",
37
+ "server-functions/dist",
38
+ "server-functions/package.json",
39
+ "server-functions/rich-args/package.json",
40
+ "frames/dist",
41
+ "frames/package.json"
28
42
  ],
29
43
  "exports": {
30
44
  ".": {
31
45
  "worker": {
32
- "types": "./types/index.d.ts",
33
- "import": "./dist/server.js",
34
- "require": "./dist/server.cjs"
46
+ "import": {
47
+ "types": "./types/index.d.ts",
48
+ "default": "./dist/server.js"
49
+ },
50
+ "require": {
51
+ "types": "./types-cjs/index.d.cts",
52
+ "default": "./dist/server.cjs"
53
+ }
35
54
  },
36
55
  "browser": {
37
56
  "development": {
57
+ "import": {
58
+ "types": "./types/index.d.ts",
59
+ "default": "./dist/dev.js"
60
+ },
61
+ "require": {
62
+ "types": "./types-cjs/index.d.cts",
63
+ "default": "./dist/dev.cjs"
64
+ }
65
+ },
66
+ "import": {
38
67
  "types": "./types/index.d.ts",
39
- "import": "./dist/dev.js",
40
- "require": "./dist/dev.cjs"
68
+ "default": "./dist/web.js"
41
69
  },
42
- "types": "./types/index.d.ts",
43
- "import": "./dist/web.js",
44
- "require": "./dist/web.cjs"
70
+ "require": {
71
+ "types": "./types-cjs/index.d.cts",
72
+ "default": "./dist/web.cjs"
73
+ }
45
74
  },
46
75
  "deno": {
47
- "types": "./types/index.d.ts",
48
- "import": "./dist/server.js",
49
- "require": "./dist/server.cjs"
76
+ "import": {
77
+ "types": "./types/index.d.ts",
78
+ "default": "./dist/server.js"
79
+ },
80
+ "require": {
81
+ "types": "./types-cjs/index.d.cts",
82
+ "default": "./dist/server.cjs"
83
+ }
50
84
  },
51
85
  "node": {
52
- "types": "./types/index.d.ts",
53
- "import": "./dist/server.js",
54
- "require": "./dist/server.cjs"
86
+ "import": {
87
+ "types": "./types/index.d.ts",
88
+ "default": "./dist/server.js"
89
+ },
90
+ "require": {
91
+ "types": "./types-cjs/index.d.cts",
92
+ "default": "./dist/server.cjs"
93
+ }
55
94
  },
56
95
  "development": {
96
+ "import": {
97
+ "types": "./types/index.d.ts",
98
+ "default": "./dist/dev.js"
99
+ },
100
+ "require": {
101
+ "types": "./types-cjs/index.d.cts",
102
+ "default": "./dist/dev.cjs"
103
+ }
104
+ },
105
+ "import": {
57
106
  "types": "./types/index.d.ts",
58
- "import": "./dist/dev.js",
59
- "require": "./dist/dev.cjs"
107
+ "default": "./dist/web.js"
60
108
  },
61
- "types": "./types/index.d.ts",
62
- "import": "./dist/web.js",
63
- "require": "./dist/web.cjs"
109
+ "require": {
110
+ "types": "./types-cjs/index.d.cts",
111
+ "default": "./dist/web.cjs"
112
+ }
113
+ },
114
+ "./jsx-runtime": {
115
+ "import": {
116
+ "types": "./types/jsx.d.ts",
117
+ "default": "./dist/web.js"
118
+ },
119
+ "require": {
120
+ "types": "./types-cjs/jsx.d.cts",
121
+ "default": "./dist/web.cjs"
122
+ }
123
+ },
124
+ "./jsx-dev-runtime": {
125
+ "import": {
126
+ "types": "./types/jsx.d.ts",
127
+ "default": "./dist/dev.js"
128
+ },
129
+ "require": {
130
+ "types": "./types-cjs/jsx.d.cts",
131
+ "default": "./dist/dev.cjs"
132
+ }
64
133
  },
65
134
  "./storage": {
66
- "types": "./storage/types/index.d.ts",
67
- "import": "./storage/dist/storage.js",
68
- "require": "./storage/dist/storage.cjs"
135
+ "import": {
136
+ "types": "./storage/types/index.d.ts",
137
+ "default": "./storage/dist/storage.js"
138
+ },
139
+ "require": {
140
+ "types": "./storage/types-cjs/index.d.cts",
141
+ "default": "./storage/dist/storage.cjs"
142
+ }
143
+ },
144
+ "./serialization": {
145
+ "import": {
146
+ "types": "./serialization/types/index.d.ts",
147
+ "default": "./serialization/dist/serialization.js"
148
+ },
149
+ "require": {
150
+ "types": "./serialization/types-cjs/index.d.cts",
151
+ "default": "./serialization/dist/serialization.cjs"
152
+ }
153
+ },
154
+ "./serialization/decode": {
155
+ "import": {
156
+ "types": "./serialization/types/serializer-decode.d.ts",
157
+ "default": "./serialization/dist/decode.js"
158
+ },
159
+ "require": {
160
+ "types": "./serialization/types-cjs/serializer-decode.d.cts",
161
+ "default": "./serialization/dist/decode.cjs"
162
+ }
163
+ },
164
+ "./server-functions": {
165
+ "worker": {
166
+ "development": {
167
+ "import": {
168
+ "types": "./types/server-functions/server.d.ts",
169
+ "default": "./server-functions/dist/server.dev.js"
170
+ },
171
+ "require": {
172
+ "types": "./types-cjs/server-functions/server.d.cts",
173
+ "default": "./server-functions/dist/server.dev.cjs"
174
+ }
175
+ },
176
+ "import": {
177
+ "types": "./types/server-functions/server.d.ts",
178
+ "default": "./server-functions/dist/server.js"
179
+ },
180
+ "require": {
181
+ "types": "./types-cjs/server-functions/server.d.cts",
182
+ "default": "./server-functions/dist/server.cjs"
183
+ }
184
+ },
185
+ "browser": {
186
+ "import": {
187
+ "types": "./types/server-functions/client.d.ts",
188
+ "default": "./server-functions/dist/client.js"
189
+ },
190
+ "require": {
191
+ "types": "./types-cjs/server-functions/client.d.cts",
192
+ "default": "./server-functions/dist/client.cjs"
193
+ }
194
+ },
195
+ "deno": {
196
+ "development": {
197
+ "import": {
198
+ "types": "./types/server-functions/server.d.ts",
199
+ "default": "./server-functions/dist/server.dev.js"
200
+ },
201
+ "require": {
202
+ "types": "./types-cjs/server-functions/server.d.cts",
203
+ "default": "./server-functions/dist/server.dev.cjs"
204
+ }
205
+ },
206
+ "import": {
207
+ "types": "./types/server-functions/server.d.ts",
208
+ "default": "./server-functions/dist/server.js"
209
+ },
210
+ "require": {
211
+ "types": "./types-cjs/server-functions/server.d.cts",
212
+ "default": "./server-functions/dist/server.cjs"
213
+ }
214
+ },
215
+ "node": {
216
+ "development": {
217
+ "import": {
218
+ "types": "./types/server-functions/server.d.ts",
219
+ "default": "./server-functions/dist/server.dev.js"
220
+ },
221
+ "require": {
222
+ "types": "./types-cjs/server-functions/server.d.cts",
223
+ "default": "./server-functions/dist/server.dev.cjs"
224
+ }
225
+ },
226
+ "import": {
227
+ "types": "./types/server-functions/server.d.ts",
228
+ "default": "./server-functions/dist/server.js"
229
+ },
230
+ "require": {
231
+ "types": "./types-cjs/server-functions/server.d.cts",
232
+ "default": "./server-functions/dist/server.cjs"
233
+ }
234
+ },
235
+ "import": {
236
+ "types": "./types/server-functions/client.d.ts",
237
+ "default": "./server-functions/dist/client.js"
238
+ },
239
+ "require": {
240
+ "types": "./types-cjs/server-functions/client.d.cts",
241
+ "default": "./server-functions/dist/client.cjs"
242
+ }
243
+ },
244
+ "./server-functions/server": {
245
+ "development": {
246
+ "import": {
247
+ "types": "./types/server-functions/server.d.ts",
248
+ "default": "./server-functions/dist/server.dev.js"
249
+ },
250
+ "require": {
251
+ "types": "./types-cjs/server-functions/server.d.cts",
252
+ "default": "./server-functions/dist/server.dev.cjs"
253
+ }
254
+ },
255
+ "import": {
256
+ "types": "./types/server-functions/server.d.ts",
257
+ "default": "./server-functions/dist/server.js"
258
+ },
259
+ "require": {
260
+ "types": "./types-cjs/server-functions/server.d.cts",
261
+ "default": "./server-functions/dist/server.cjs"
262
+ }
263
+ },
264
+ "./server-functions/client": {
265
+ "import": {
266
+ "types": "./types/server-functions/client.d.ts",
267
+ "default": "./server-functions/dist/client.js"
268
+ },
269
+ "require": {
270
+ "types": "./types-cjs/server-functions/client.d.cts",
271
+ "default": "./server-functions/dist/client.cjs"
272
+ }
273
+ },
274
+ "./server-functions/rich-args": {
275
+ "import": {
276
+ "types": "./types/server-functions/rich-args.d.ts",
277
+ "default": "./server-functions/dist/rich-args.js"
278
+ },
279
+ "require": {
280
+ "types": "./types-cjs/server-functions/rich-args.d.cts",
281
+ "default": "./server-functions/dist/rich-args.cjs"
282
+ }
283
+ },
284
+ "./frames": {
285
+ "worker": {
286
+ "import": {
287
+ "types": "./types/frames/server.d.ts",
288
+ "default": "./frames/dist/server.js"
289
+ },
290
+ "require": {
291
+ "types": "./types-cjs/frames/server.d.cts",
292
+ "default": "./frames/dist/server.cjs"
293
+ }
294
+ },
295
+ "browser": {
296
+ "development": {
297
+ "import": {
298
+ "types": "./types/frames/client.d.ts",
299
+ "default": "./frames/dist/client.dev.js"
300
+ },
301
+ "require": {
302
+ "types": "./types-cjs/frames/client.d.cts",
303
+ "default": "./frames/dist/client.dev.cjs"
304
+ }
305
+ },
306
+ "import": {
307
+ "types": "./types/frames/client.d.ts",
308
+ "default": "./frames/dist/client.js"
309
+ },
310
+ "require": {
311
+ "types": "./types-cjs/frames/client.d.cts",
312
+ "default": "./frames/dist/client.cjs"
313
+ }
314
+ },
315
+ "deno": {
316
+ "import": {
317
+ "types": "./types/frames/server.d.ts",
318
+ "default": "./frames/dist/server.js"
319
+ },
320
+ "require": {
321
+ "types": "./types-cjs/frames/server.d.cts",
322
+ "default": "./frames/dist/server.cjs"
323
+ }
324
+ },
325
+ "node": {
326
+ "import": {
327
+ "types": "./types/frames/server.d.ts",
328
+ "default": "./frames/dist/server.js"
329
+ },
330
+ "require": {
331
+ "types": "./types-cjs/frames/server.d.cts",
332
+ "default": "./frames/dist/server.cjs"
333
+ }
334
+ },
335
+ "development": {
336
+ "import": {
337
+ "types": "./types/frames/client.d.ts",
338
+ "default": "./frames/dist/client.dev.js"
339
+ },
340
+ "require": {
341
+ "types": "./types-cjs/frames/client.d.cts",
342
+ "default": "./frames/dist/client.dev.cjs"
343
+ }
344
+ },
345
+ "import": {
346
+ "types": "./types/frames/client.d.ts",
347
+ "default": "./frames/dist/client.js"
348
+ },
349
+ "require": {
350
+ "types": "./types-cjs/frames/client.d.cts",
351
+ "default": "./frames/dist/client.cjs"
352
+ }
353
+ },
354
+ "./frames/server": {
355
+ "import": {
356
+ "types": "./types/frames/server.d.ts",
357
+ "default": "./frames/dist/server.js"
358
+ },
359
+ "require": {
360
+ "types": "./types-cjs/frames/server.d.cts",
361
+ "default": "./frames/dist/server.cjs"
362
+ }
363
+ },
364
+ "./frames/client": {
365
+ "import": {
366
+ "types": "./types/frames/client.d.ts",
367
+ "default": "./frames/dist/client.js"
368
+ },
369
+ "require": {
370
+ "types": "./types-cjs/frames/client.d.cts",
371
+ "default": "./frames/dist/client.cjs"
372
+ }
69
373
  },
70
- "./dist/*": "./dist/*",
71
374
  "./types/*": "./types/*"
72
375
  },
73
376
  "dependencies": {
74
- "seroval": "^1.1.0",
75
- "seroval-plugins": "^1.1.0"
377
+ "seroval": "~1.5.4",
378
+ "seroval-plugins": "~1.5.4"
76
379
  },
77
380
  "peerDependencies": {
78
- "solid-js": "^2.0.0-experimental.8"
381
+ "solid-js": "^2.0.0-rc.0"
79
382
  },
80
383
  "devDependencies": {
81
- "solid-js": "2.0.0-experimental.8"
384
+ "solid-js": "2.0.0-rc.0"
82
385
  },
83
386
  "scripts": {
84
- "build": "npm-run-all -nl build:*",
387
+ "build": "npm-run-all -nl build:clean types:copy-jsx build:js",
85
388
  "build:clean": "rimraf dist/",
86
389
  "build:js": "rollup -c",
87
390
  "link": "symlink-dir . node_modules/@solidjs/web",
88
- "types": "npm-run-all -nl types:*",
89
- "types:clean": "rimraf types/",
391
+ "types": "npm-run-all -nl types:clean types:copy-jsx types:web types:copy-web types:web-storage types:copy-server-functions types:copy-serialization types:web-frames types:copy-frames types:cjs",
392
+ "types:clean": "rimraf types/ types-cjs/ storage/types/ storage/types-cjs/ serialization/types/ serialization/types-cjs/ frames/types/",
393
+ "types:copy-jsx": "ncp ../../node_modules/@dom-expressions/runtime/src/jsx.d.ts ./src/jsx.d.ts && ncp ../../node_modules/@dom-expressions/runtime/src/jsx-properties.d.ts ./src/jsx-properties.d.ts && dom-expressions-jsx-types --input ./src/jsx.d.ts --element \"SolidElement | Node | ArrayElement\" --import 'import type { Element as SolidElement } from \"solid-js\";'",
90
394
  "types:web": "tsc --project ./tsconfig.build.json",
91
- "types:copy-web": "ncp ../../node_modules/dom-expressions/src/client.d.ts ./types/client.d.ts && ncp ../../node_modules/dom-expressions/src/server.d.ts ./types/server.d.ts",
395
+ "types:copy-web": "node -e \"const src = fs.readFileSync('../../node_modules/@dom-expressions/runtime/src/client.d.ts', 'utf8'); const marker = 'export type { RequestEventLocals } from'; if (!src.includes(marker)) throw new Error('client.d.ts drift: the type-only RequestEventLocals re-export was not found — revisit the augmentation-identity rewrite'); fs.writeFileSync('./types/client.d.ts', src.replace(marker, 'export { RequestEventLocals } from'));\" && ncp ../../node_modules/@dom-expressions/runtime/src/server.d.ts ./types/server.d.ts && ncp ../../node_modules/@dom-expressions/runtime/src/serializer.d.ts ./types/serializer.d.ts && ncp ../../node_modules/@dom-expressions/runtime/src/serializer-decode.d.ts ./types/serializer-decode.d.ts && ncp ../../node_modules/@dom-expressions/runtime/src/response.d.ts ./types/response.d.ts && ncp ../../node_modules/@dom-expressions/runtime/src/cookies.d.ts ./types/cookies.d.ts && ncp ./src/jsx.d.ts ./types/jsx.d.ts && ncp ./src/jsx-properties.d.ts ./types/jsx-properties.d.ts",
92
396
  "types:web-storage": "tsc --project ./storage/tsconfig.build.json",
93
- "test": "vitest run",
397
+ "types:web-frames": "tsc --project ./frames/tsconfig.build.json",
398
+ "types:copy-serialization": "node -e \"fs.mkdirSync('./serialization/types', { recursive: true }); fs.copyFileSync('../../node_modules/@dom-expressions/runtime/src/serializer.d.ts', './serialization/types/index.d.ts'); fs.copyFileSync('../../node_modules/@dom-expressions/runtime/src/serializer-decode.d.ts', './serialization/types/serializer-decode.d.ts');\"",
399
+ "types:copy-server-functions": "node -e \"fs.mkdirSync('./types/server-functions', { recursive: true }); for (const f of ['shared', 'flash', 'client', 'server', 'rich-args']) fs.copyFileSync('../../node_modules/@dom-expressions/runtime/src/server-functions/' + f + '.d.ts', './types/server-functions/' + f + '.d.ts');\"",
400
+ "types:copy-frames": "node -e \"fs.mkdirSync('./types/frames', { recursive: true }); for (const f of ['frame-client', 'frame-transport', 'frame-sink', 'serializer']) fs.copyFileSync('../../node_modules/@dom-expressions/runtime/src/' + f + '.d.ts', './types/frames/' + f + '.d.ts'); for (const f of ['client', 'server']) fs.writeFileSync('./types/frames/' + f + '.d.ts', fs.readFileSync('./frames/types/' + f + '.d.ts', 'utf8').replaceAll('@dom-expressions/runtime/src/', './'));\"",
401
+ "types:cjs": "node ../../scripts/sync-dual-types.mjs ./types ./types-cjs ./storage/types ./storage/types-cjs ./serialization/types ./serialization/types-cjs",
402
+ "test": "vitest run && vitest run --config vite.config.server.mjs && vitest run --config vite.config.hydrate.mjs",
403
+ "test:server": "vitest run --config vite.config.server.mjs",
94
404
  "coverage": "vitest run --coverage",
405
+ "bench": "vitest bench --run",
406
+ "bench:server": "vitest bench --run --config vite.config.server-bench.mjs",
95
407
  "test-types": "tsc --project tsconfig.test.json"
96
408
  }
97
409
  }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@solidjs/web/serialization/decode",
3
+ "main": "../dist/decode.cjs",
4
+ "module": "../dist/decode.js",
5
+ "types": "../types/serializer-decode.d.ts",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "../types/serializer-decode.d.ts",
12
+ "default": "../dist/decode.js"
13
+ },
14
+ "require": {
15
+ "types": "../types-cjs/serializer-decode.d.cts",
16
+ "default": "../dist/decode.cjs"
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ var seroval = require('seroval');
4
+ var web = require('seroval-plugins/web');
5
+
6
+ const STATE = Symbol.for("dom-expressions.container-trace-state");
7
+ const state = globalThis[STATE] || (globalThis[STATE] = {
8
+ materialized: new WeakMap(),
9
+ materializedValues: new WeakSet()
10
+ });
11
+ const TRACE = Symbol.for("dom-expressions.container-trace");
12
+ function materialize(marker) {
13
+ let value = state.materialized.get(marker.$tr);
14
+ if (value === undefined) {
15
+ value = state.materializeTrace(marker);
16
+ state.materialized.set(marker.$tr, value);
17
+ if (value !== null && typeof value === "object") state.materializedValues.add(value);
18
+ }
19
+ return value;
20
+ }
21
+ function parseTrace(value, ctx) {
22
+ const trace = value[TRACE];
23
+ return {
24
+ a: trace.array ? 1 : 0,
25
+ i: ctx.parse(trace.subscribe())
26
+ };
27
+ }
28
+ const ContainerTracePlugin = {
29
+ tag: "dom-expressions/container-trace",
30
+ test(value) {
31
+ return value != null && typeof value === "object" && TRACE in value;
32
+ },
33
+ parse: {
34
+ sync() {
35
+ throw new Error("A reactive container can only be serialized by a streaming serializer.");
36
+ },
37
+ async async(value, ctx) {
38
+ const trace = value[TRACE];
39
+ return {
40
+ a: trace.array ? 1 : 0,
41
+ i: await ctx.parse(trace.subscribe())
42
+ };
43
+ },
44
+ stream: parseTrace
45
+ },
46
+ serialize(node, ctx) {
47
+ return "{$tr:" + ctx.serialize(node.i) + ",$ta:" + node.a + "}";
48
+ },
49
+ deserialize(node, ctx) {
50
+ const iterable = ctx.deserialize(node.i);
51
+ const marker = {
52
+ $tr: iterable,
53
+ $ta: node.a
54
+ };
55
+ return state.materializeTrace ? materialize(marker) : marker;
56
+ }
57
+ };
58
+
59
+ const DEFAULT_WEB_PLUGINS = Object.freeze([web.AbortSignalPlugin,
60
+ web.CustomEventPlugin, web.DOMExceptionPlugin, web.EventPlugin,
61
+ web.FormDataPlugin, web.HeadersPlugin, web.ReadableStreamPlugin, web.RequestPlugin, web.ResponsePlugin, web.URLSearchParamsPlugin, web.URLPlugin,
62
+ ContainerTracePlugin]);
63
+ function resolveSerializerPlugins(customPlugins) {
64
+ return customPlugins ? [...customPlugins, ...DEFAULT_WEB_PLUGINS] : [...DEFAULT_WEB_PLUGINS];
65
+ }
66
+ const JSON_CODEC_DISABLED_FEATURES = seroval.Feature.RegExp;
67
+ const JSON_CODEC_DEPTH_LIMIT = 64;
68
+ function resolveCodecOptions({
69
+ plugins,
70
+ disabledFeatures,
71
+ depthLimit
72
+ } = {}) {
73
+ return {
74
+ plugins: resolveSerializerPlugins(plugins),
75
+ disabledFeatures: disabledFeatures === undefined ? JSON_CODEC_DISABLED_FEATURES : disabledFeatures,
76
+ depthLimit: depthLimit === undefined ? JSON_CODEC_DEPTH_LIMIT : depthLimit
77
+ };
78
+ }
79
+ function createJSONDeserializer(options) {
80
+ const refs = new Map();
81
+ const resolved = resolveCodecOptions(options);
82
+ return function deserializeJSONChunk(node) {
83
+ return seroval.fromCrossJSON(node, {
84
+ refs,
85
+ ...resolved
86
+ });
87
+ };
88
+ }
89
+ function createJSONDataTable(options) {
90
+ const deserialize = createJSONDeserializer(options);
91
+ const table = new Map();
92
+ return {
93
+ apply(record) {
94
+ const value = deserialize(record.node);
95
+ if (record.initial) table.set(record.key, value);
96
+ },
97
+ get(key) {
98
+ return table.get(key);
99
+ },
100
+ resolve(ref) {
101
+ return table.get(ref.$ref);
102
+ }
103
+ };
104
+ }
105
+
106
+ exports.DEFAULT_WEB_PLUGINS = DEFAULT_WEB_PLUGINS;
107
+ exports.createJSONDataTable = createJSONDataTable;
108
+ exports.createJSONDeserializer = createJSONDeserializer;
109
+ exports.resolveCodecOptions = resolveCodecOptions;
110
+ exports.resolveSerializerPlugins = resolveSerializerPlugins;