solid-js 1.8.13 → 1.8.14

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 (42) hide show
  1. package/dist/dev.js +307 -544
  2. package/dist/server.js +75 -170
  3. package/dist/solid.js +265 -471
  4. package/h/dist/h.js +8 -34
  5. package/h/jsx-runtime/dist/jsx.js +1 -1
  6. package/h/jsx-runtime/types/index.d.ts +8 -11
  7. package/h/types/hyperscript.d.ts +11 -11
  8. package/html/dist/html.js +94 -216
  9. package/html/types/lit.d.ts +33 -47
  10. package/package.json +3 -3
  11. package/store/dist/dev.js +43 -122
  12. package/store/dist/server.js +8 -19
  13. package/store/dist/store.js +40 -113
  14. package/store/types/index.d.ts +7 -21
  15. package/store/types/modifiers.d.ts +3 -6
  16. package/store/types/mutable.d.ts +2 -5
  17. package/store/types/server.d.ts +4 -12
  18. package/store/types/store.d.ts +61 -218
  19. package/types/index.d.ts +10 -75
  20. package/types/reactive/array.d.ts +4 -12
  21. package/types/reactive/observable.d.ts +17 -25
  22. package/types/reactive/scheduler.d.ts +6 -9
  23. package/types/reactive/signal.d.ts +142 -233
  24. package/types/render/Suspense.d.ts +5 -5
  25. package/types/render/component.d.ts +33 -64
  26. package/types/render/flow.d.ts +31 -43
  27. package/types/render/hydration.d.ts +13 -13
  28. package/types/server/index.d.ts +2 -57
  29. package/types/server/reactive.d.ts +42 -73
  30. package/types/server/rendering.d.ts +96 -167
  31. package/universal/dist/dev.js +12 -28
  32. package/universal/dist/universal.js +12 -28
  33. package/universal/types/index.d.ts +1 -3
  34. package/universal/types/universal.d.ts +1 -0
  35. package/web/dist/dev.js +82 -623
  36. package/web/dist/server.js +96 -210
  37. package/web/dist/web.js +80 -614
  38. package/web/storage/dist/storage.js +3 -3
  39. package/web/types/client.d.ts +2 -2
  40. package/web/types/core.d.ts +1 -10
  41. package/web/types/index.d.ts +10 -27
  42. package/web/types/server-mock.d.ts +32 -47
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "solid-js",
3
3
  "description": "A declarative JavaScript library for building user interfaces.",
4
- "version": "1.8.13",
4
+ "version": "1.8.14",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://solidjs.com",
@@ -166,8 +166,8 @@
166
166
  },
167
167
  "./web/storage": {
168
168
  "types": "./web/storage/types/index.d.ts",
169
- "import": "./web/storage/dist/index.js",
170
- "require": "./web/storage/dist/index.cjs"
169
+ "import": "./web/storage/dist/storage.js",
170
+ "require": "./web/storage/dist/storage.cjs"
171
171
  },
172
172
  "./web/dist/*": "./web/dist/*",
173
173
  "./web/types/*": "./web/types/*",
package/store/dist/dev.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEV as DEV$1, $PROXY, $TRACK, getListener, batch, createSignal } from "solid-js";
1
+ import { DEV as DEV$1, $PROXY, $TRACK, getListener, batch, createSignal } from 'solid-js';
2
2
 
3
3
  const $RAW = Symbol("store-raw"),
4
4
  $NODE = Symbol("store-node"),
@@ -11,7 +11,7 @@ function wrap$1(value) {
11
11
  let p = value[$PROXY];
12
12
  if (!p) {
13
13
  Object.defineProperty(value, $PROXY, {
14
- value: (p = new Proxy(value, proxyTraps$1))
14
+ value: p = new Proxy(value, proxyTraps$1)
15
15
  });
16
16
  if (!Array.isArray(value)) {
17
17
  const keys = Object.keys(value),
@@ -31,29 +31,20 @@ function wrap$1(value) {
31
31
  }
32
32
  function isWrappable(obj) {
33
33
  let proto;
34
- return (
35
- obj != null &&
36
- typeof obj === "object" &&
37
- (obj[$PROXY] ||
38
- !(proto = Object.getPrototypeOf(obj)) ||
39
- proto === Object.prototype ||
40
- Array.isArray(obj))
41
- );
34
+ return obj != null && typeof obj === "object" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));
42
35
  }
43
36
  function unwrap(item, set = new Set()) {
44
37
  let result, unwrapped, v, prop;
45
- if ((result = item != null && item[$RAW])) return result;
38
+ if (result = item != null && item[$RAW]) return result;
46
39
  if (!isWrappable(item) || set.has(item)) return item;
47
40
  if (Array.isArray(item)) {
48
- if (Object.isFrozen(item)) item = item.slice(0);
49
- else set.add(item);
41
+ if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);
50
42
  for (let i = 0, l = item.length; i < l; i++) {
51
43
  v = item[i];
52
44
  if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;
53
45
  }
54
46
  } else {
55
- if (Object.isFrozen(item)) item = Object.assign({}, item);
56
- else set.add(item);
47
+ if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);
57
48
  const keys = Object.keys(item),
58
49
  desc = Object.getOwnPropertyDescriptors(item);
59
50
  for (let i = 0, l = keys.length; i < l; i++) {
@@ -67,10 +58,9 @@ function unwrap(item, set = new Set()) {
67
58
  }
68
59
  function getNodes(target, symbol) {
69
60
  let nodes = target[symbol];
70
- if (!nodes)
71
- Object.defineProperty(target, symbol, {
72
- value: (nodes = Object.create(null))
73
- });
61
+ if (!nodes) Object.defineProperty(target, symbol, {
62
+ value: nodes = Object.create(null)
63
+ });
74
64
  return nodes;
75
65
  }
76
66
  function getNode(nodes, property, value) {
@@ -80,12 +70,11 @@ function getNode(nodes, property, value) {
80
70
  internal: true
81
71
  });
82
72
  s.$ = set;
83
- return (nodes[property] = s);
73
+ return nodes[property] = s;
84
74
  }
85
75
  function proxyDescriptor$1(target, property) {
86
76
  const desc = Reflect.getOwnPropertyDescriptor(target, property);
87
- if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE)
88
- return desc;
77
+ if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE) return desc;
89
78
  delete desc.value;
90
79
  delete desc.writable;
91
80
  desc.get = () => target[$PROXY][property];
@@ -112,25 +101,12 @@ const proxyTraps$1 = {
112
101
  if (property === $NODE || property === $HAS || property === "__proto__") return value;
113
102
  if (!tracked) {
114
103
  const desc = Object.getOwnPropertyDescriptor(target, property);
115
- if (
116
- getListener() &&
117
- (typeof value !== "function" || target.hasOwnProperty(property)) &&
118
- !(desc && desc.get)
119
- )
120
- value = getNode(nodes, property, value)();
104
+ if (getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();
121
105
  }
122
106
  return isWrappable(value) ? wrap$1(value) : value;
123
107
  },
124
108
  has(target, property) {
125
- if (
126
- property === $RAW ||
127
- property === $PROXY ||
128
- property === $TRACK ||
129
- property === $NODE ||
130
- property === $HAS ||
131
- property === "__proto__"
132
- )
133
- return true;
109
+ if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
134
110
  getListener() && getNode(getNodes(target, $HAS), property)();
135
111
  return property in target;
136
112
  },
@@ -159,7 +135,7 @@ function setProperty(state, property, value, deleting = false) {
159
135
  }
160
136
  let nodes = getNodes(state, $NODE),
161
137
  node;
162
- if ((node = getNode(nodes, property, prev))) node.$(() => value);
138
+ if (node = getNode(nodes, property, prev)) node.$(() => value);
163
139
  if (Array.isArray(state) && state.length !== len) {
164
140
  for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
165
141
  (node = getNode(nodes, "length", len)) && node.$(state.length);
@@ -205,7 +181,11 @@ function updatePath(current, path, traversed = []) {
205
181
  }
206
182
  return;
207
183
  } else if (isArray && partType === "object") {
208
- const { from = 0, to = current.length - 1, by = 1 } = part;
184
+ const {
185
+ from = 0,
186
+ to = current.length - 1,
187
+ by = 1
188
+ } = part;
209
189
  for (let i = from; i <= to; i += by) {
210
190
  updatePath(current, [i].concat(path), traversed);
211
191
  }
@@ -224,17 +204,14 @@ function updatePath(current, path, traversed = []) {
224
204
  }
225
205
  if (part === undefined && value == undefined) return;
226
206
  value = unwrap(value);
227
- if (part === undefined || (isWrappable(prev) && isWrappable(value) && !Array.isArray(value))) {
207
+ if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {
228
208
  mergeStoreNode(prev, value);
229
209
  } else setProperty(current, part, value);
230
210
  }
231
211
  function createStore(...[store, options]) {
232
212
  const unwrappedStore = unwrap(store || {});
233
213
  const isArray = Array.isArray(unwrappedStore);
234
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function")
235
- throw new Error(
236
- `Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`
237
- );
214
+ if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`);
238
215
  const wrappedStore = wrap$1(unwrappedStore);
239
216
  DEV$1.registerGraph({
240
217
  value: unwrappedStore,
@@ -242,9 +219,7 @@ function createStore(...[store, options]) {
242
219
  });
243
220
  function setStore(...args) {
244
221
  batch(() => {
245
- isArray && args.length === 1
246
- ? updateArray(unwrappedStore, args[0])
247
- : updatePath(unwrappedStore, args);
222
+ isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);
248
223
  });
249
224
  }
250
225
  return [wrappedStore, setStore];
@@ -252,19 +227,11 @@ function createStore(...[store, options]) {
252
227
 
253
228
  function proxyDescriptor(target, property) {
254
229
  const desc = Reflect.getOwnPropertyDescriptor(target, property);
255
- if (
256
- !desc ||
257
- desc.get ||
258
- desc.set ||
259
- !desc.configurable ||
260
- property === $PROXY ||
261
- property === $NODE
262
- )
263
- return desc;
230
+ if (!desc || desc.get || desc.set || !desc.configurable || property === $PROXY || property === $NODE) return desc;
264
231
  delete desc.value;
265
232
  delete desc.writable;
266
233
  desc.get = () => target[$PROXY][property];
267
- desc.set = v => (target[$PROXY][property] = v);
234
+ desc.set = v => target[$PROXY][property] = v;
268
235
  return desc;
269
236
  }
270
237
  const proxyTraps = {
@@ -282,24 +249,14 @@ const proxyTraps = {
282
249
  if (!tracked) {
283
250
  const desc = Object.getOwnPropertyDescriptor(target, property);
284
251
  const isFunction = typeof value === "function";
285
- if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get))
286
- value = getNode(nodes, property, value)();
287
- else if (value != null && isFunction && value === Array.prototype[property]) {
252
+ if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
288
253
  return (...args) => batch(() => Array.prototype[property].apply(receiver, args));
289
254
  }
290
255
  }
291
256
  return isWrappable(value) ? wrap(value) : value;
292
257
  },
293
258
  has(target, property) {
294
- if (
295
- property === $RAW ||
296
- property === $PROXY ||
297
- property === $TRACK ||
298
- property === $NODE ||
299
- property === $HAS ||
300
- property === "__proto__"
301
- )
302
- return true;
259
+ if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
303
260
  getListener() && getNode(getNodes(target, $HAS), property)();
304
261
  return property in target;
305
262
  },
@@ -318,16 +275,12 @@ function wrap(value) {
318
275
  let p = value[$PROXY];
319
276
  if (!p) {
320
277
  Object.defineProperty(value, $PROXY, {
321
- value: (p = new Proxy(value, proxyTraps))
278
+ value: p = new Proxy(value, proxyTraps)
322
279
  });
323
280
  const keys = Object.keys(value),
324
281
  desc = Object.getOwnPropertyDescriptors(value);
325
282
  const proto = Object.getPrototypeOf(value);
326
- const isClass =
327
- value !== null &&
328
- typeof value === "object" &&
329
- !Array.isArray(value) &&
330
- proto !== Object.prototype;
283
+ const isClass = value !== null && typeof value === "object" && !Array.isArray(value) && proto !== Object.prototype;
331
284
  if (isClass) {
332
285
  const descriptors = Object.getOwnPropertyDescriptors(proto);
333
286
  keys.push(...Object.keys(descriptors));
@@ -357,10 +310,7 @@ function wrap(value) {
357
310
  }
358
311
  function createMutable(state, options) {
359
312
  const unwrappedStore = unwrap(state || {});
360
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function")
361
- throw new Error(
362
- `Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`
363
- );
313
+ if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);
364
314
  const wrappedStore = wrap(unwrappedStore);
365
315
  DEV$1.registerGraph({
366
316
  value: unwrappedStore,
@@ -377,42 +327,19 @@ function applyState(target, parent, property, merge, key) {
377
327
  const previous = parent[property];
378
328
  if (target === previous) return;
379
329
  const isArray = Array.isArray(target);
380
- if (
381
- property !== $ROOT &&
382
- (!isWrappable(target) ||
383
- !isWrappable(previous) ||
384
- isArray !== Array.isArray(previous) ||
385
- (key && target[key] !== previous[key]))
386
- ) {
330
+ if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {
387
331
  setProperty(parent, property, target);
388
332
  return;
389
333
  }
390
334
  if (isArray) {
391
- if (
392
- target.length &&
393
- previous.length &&
394
- (!merge || (key && target[0] && target[0][key] != null))
395
- ) {
335
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
396
336
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
397
- for (
398
- start = 0, end = Math.min(previous.length, target.length);
399
- start < end &&
400
- (previous[start] === target[start] ||
401
- (key && previous[start] && target[start] && previous[start][key] === target[start][key]));
402
- start++
403
- ) {
337
+ for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] === target[start][key]); start++) {
404
338
  applyState(target[start], previous, start, merge, key);
405
339
  }
406
340
  const temp = new Array(target.length),
407
341
  newIndices = new Map();
408
- for (
409
- end = previous.length - 1, newEnd = target.length - 1;
410
- end >= start &&
411
- newEnd >= start &&
412
- (previous[end] === target[newEnd] ||
413
- (key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]));
414
- end--, newEnd--
415
- ) {
342
+ for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
416
343
  temp[newEnd] = previous[end];
417
344
  }
418
345
  if (start > newEnd || start > end) {
@@ -466,19 +393,16 @@ function applyState(target, parent, property, merge, key) {
466
393
  }
467
394
  }
468
395
  function reconcile(value, options = {}) {
469
- const { merge, key = "id" } = options,
396
+ const {
397
+ merge,
398
+ key = "id"
399
+ } = options,
470
400
  v = unwrap(value);
471
401
  return state => {
472
402
  if (!isWrappable(state) || !isWrappable(v)) return v;
473
- const res = applyState(
474
- v,
475
- {
476
- [$ROOT]: state
477
- },
478
- $ROOT,
479
- merge,
480
- key
481
- );
403
+ const res = applyState(v, {
404
+ [$ROOT]: state
405
+ }, $ROOT, merge, key);
482
406
  return res === undefined ? state : res;
483
407
  };
484
408
  }
@@ -488,10 +412,7 @@ const setterTraps = {
488
412
  if (property === $RAW) return target;
489
413
  const value = target[property];
490
414
  let proxy;
491
- return isWrappable(value)
492
- ? producers.get(value) ||
493
- (producers.set(value, (proxy = new Proxy(value, setterTraps))), proxy)
494
- : value;
415
+ return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
495
416
  },
496
417
  set(target, property, value) {
497
418
  setProperty(target, property, unwrap(value));
@@ -507,7 +428,7 @@ function produce(fn) {
507
428
  if (isWrappable(state)) {
508
429
  let proxy;
509
430
  if (!(proxy = producers.get(state))) {
510
- producers.set(state, (proxy = new Proxy(state, setterTraps)));
431
+ producers.set(state, proxy = new Proxy(state, setterTraps));
511
432
  }
512
433
  fn(proxy);
513
434
  }
@@ -519,6 +440,6 @@ const DEV = {
519
440
  $NODE,
520
441
  isWrappable,
521
442
  hooks: DevHooks
522
- };
443
+ } ;
523
444
 
524
445
  export { $RAW, DEV, createMutable, createStore, modifyMutable, produce, reconcile, unwrap };
@@ -1,10 +1,6 @@
1
1
  const $RAW = Symbol("state-raw");
2
2
  function isWrappable(obj) {
3
- return (
4
- obj != null &&
5
- typeof obj === "object" &&
6
- (Object.getPrototypeOf(obj) === Object.prototype || Array.isArray(obj))
7
- );
3
+ return obj != null && typeof obj === "object" && (Object.getPrototypeOf(obj) === Object.prototype || Array.isArray(obj));
8
4
  }
9
5
  function unwrap(item) {
10
6
  return item;
@@ -53,7 +49,11 @@ function updatePath(current, path, traversed = []) {
53
49
  }
54
50
  return;
55
51
  } else if (isArray && partType === "object") {
56
- const { from = 0, to = current.length - 1, by = 1 } = part;
52
+ const {
53
+ from = 0,
54
+ to = current.length - 1,
55
+ by = 1
56
+ } = part;
57
57
  for (let i = from; i <= to; i += by) {
58
58
  updatePath(current, [i].concat(path), traversed);
59
59
  }
@@ -71,7 +71,7 @@ function updatePath(current, path, traversed = []) {
71
71
  if (value === next) return;
72
72
  }
73
73
  if (part === undefined && value == undefined) return;
74
- if (part === undefined || (isWrappable(next) && isWrappable(value) && !Array.isArray(value))) {
74
+ if (part === undefined || isWrappable(next) && isWrappable(value) && !Array.isArray(value)) {
75
75
  mergeStoreNode(next, value);
76
76
  } else setProperty(current, part, value);
77
77
  }
@@ -108,15 +108,4 @@ function produce(fn) {
108
108
  }
109
109
  const DEV = undefined;
110
110
 
111
- export {
112
- $RAW,
113
- DEV,
114
- createMutable,
115
- createStore,
116
- isWrappable,
117
- produce,
118
- reconcile,
119
- setProperty,
120
- unwrap,
121
- updatePath
122
- };
111
+ export { $RAW, DEV, createMutable, createStore, isWrappable, produce, reconcile, setProperty, unwrap, updatePath };