solid-js 1.7.9 → 1.7.11

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 (48) hide show
  1. package/dist/dev.cjs +36 -20
  2. package/dist/dev.js +326 -548
  3. package/dist/server.cjs +38 -23
  4. package/dist/server.js +108 -192
  5. package/dist/solid.cjs +36 -20
  6. package/dist/solid.js +284 -475
  7. package/h/dist/h.js +8 -34
  8. package/h/jsx-runtime/dist/jsx.js +1 -1
  9. package/h/jsx-runtime/types/index.d.ts +8 -11
  10. package/h/types/hyperscript.d.ts +11 -11
  11. package/html/dist/html.js +94 -216
  12. package/html/types/lit.d.ts +31 -45
  13. package/package.json +1 -1
  14. package/store/dist/dev.cjs +4 -3
  15. package/store/dist/dev.js +46 -117
  16. package/store/dist/server.js +8 -19
  17. package/store/dist/store.cjs +4 -3
  18. package/store/dist/store.js +43 -108
  19. package/store/types/index.d.ts +7 -21
  20. package/store/types/modifiers.d.ts +3 -6
  21. package/store/types/mutable.d.ts +2 -5
  22. package/store/types/server.d.ts +4 -12
  23. package/store/types/store.d.ts +61 -215
  24. package/types/index.d.ts +9 -69
  25. package/types/reactive/array.d.ts +4 -12
  26. package/types/reactive/observable.d.ts +17 -25
  27. package/types/reactive/scheduler.d.ts +6 -9
  28. package/types/reactive/signal.d.ts +150 -236
  29. package/types/render/Suspense.d.ts +5 -5
  30. package/types/render/component.d.ts +31 -62
  31. package/types/render/flow.d.ts +31 -43
  32. package/types/render/hydration.d.ts +12 -12
  33. package/types/server/index.d.ts +2 -55
  34. package/types/server/reactive.d.ts +44 -72
  35. package/types/server/rendering.d.ts +95 -171
  36. package/universal/dist/dev.js +12 -28
  37. package/universal/dist/universal.js +12 -28
  38. package/universal/types/index.d.ts +1 -3
  39. package/universal/types/universal.d.ts +1 -0
  40. package/web/dist/dev.js +79 -610
  41. package/web/dist/server.cjs +5 -1
  42. package/web/dist/server.js +82 -177
  43. package/web/dist/web.js +79 -610
  44. package/web/types/client.d.ts +2 -2
  45. package/web/types/core.d.ts +1 -10
  46. package/web/types/index.d.ts +10 -27
  47. package/web/types/server-mock.d.ts +32 -47
  48. package/web/types/server.d.ts +1 -1
@@ -4,7 +4,8 @@ var solidJs = require('solid-js');
4
4
 
5
5
  const $RAW = Symbol("store-raw"),
6
6
  $NODE = Symbol("store-node"),
7
- $HAS = Symbol("store-has");
7
+ $HAS = Symbol("store-has"),
8
+ $SELF = Symbol("store-self");
8
9
  const DevHooks = {
9
10
  onStoreNodeUpdate: null
10
11
  };
@@ -82,7 +83,7 @@ function proxyDescriptor$1(target, property) {
82
83
  return desc;
83
84
  }
84
85
  function trackSelf(target) {
85
- solidJs.getListener() && getNode(getNodes(target, $NODE), "_")();
86
+ solidJs.getListener() && getNode(getNodes(target, $NODE), $SELF)();
86
87
  }
87
88
  function ownKeys(target) {
88
89
  trackSelf(target);
@@ -141,7 +142,7 @@ function setProperty(state, property, value, deleting = false) {
141
142
  for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
142
143
  (node = getNode(nodes, "length", len)) && node.$(state.length);
143
144
  }
144
- (node = nodes._) && node.$();
145
+ (node = nodes[$SELF]) && node.$();
145
146
  }
146
147
  function mergeStoreNode(state, value) {
147
148
  const keys = Object.keys(value);
package/store/dist/dev.js CHANGED
@@ -1,8 +1,9 @@
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"),
5
- $HAS = Symbol("store-has");
5
+ $HAS = Symbol("store-has"),
6
+ $SELF = Symbol("store-self");
6
7
  const DevHooks = {
7
8
  onStoreNodeUpdate: null
8
9
  };
@@ -10,7 +11,7 @@ function wrap$1(value) {
10
11
  let p = value[$PROXY];
11
12
  if (!p) {
12
13
  Object.defineProperty(value, $PROXY, {
13
- value: (p = new Proxy(value, proxyTraps$1))
14
+ value: p = new Proxy(value, proxyTraps$1)
14
15
  });
15
16
  if (!Array.isArray(value)) {
16
17
  const keys = Object.keys(value),
@@ -30,29 +31,20 @@ function wrap$1(value) {
30
31
  }
31
32
  function isWrappable(obj) {
32
33
  let proto;
33
- return (
34
- obj != null &&
35
- typeof obj === "object" &&
36
- (obj[$PROXY] ||
37
- !(proto = Object.getPrototypeOf(obj)) ||
38
- proto === Object.prototype ||
39
- Array.isArray(obj))
40
- );
34
+ return obj != null && typeof obj === "object" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));
41
35
  }
42
36
  function unwrap(item, set = new Set()) {
43
37
  let result, unwrapped, v, prop;
44
- if ((result = item != null && item[$RAW])) return result;
38
+ if (result = item != null && item[$RAW]) return result;
45
39
  if (!isWrappable(item) || set.has(item)) return item;
46
40
  if (Array.isArray(item)) {
47
- if (Object.isFrozen(item)) item = item.slice(0);
48
- else set.add(item);
41
+ if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);
49
42
  for (let i = 0, l = item.length; i < l; i++) {
50
43
  v = item[i];
51
44
  if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;
52
45
  }
53
46
  } else {
54
- if (Object.isFrozen(item)) item = Object.assign({}, item);
55
- else set.add(item);
47
+ if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);
56
48
  const keys = Object.keys(item),
57
49
  desc = Object.getOwnPropertyDescriptors(item);
58
50
  for (let i = 0, l = keys.length; i < l; i++) {
@@ -66,10 +58,9 @@ function unwrap(item, set = new Set()) {
66
58
  }
67
59
  function getNodes(target, symbol) {
68
60
  let nodes = target[symbol];
69
- if (!nodes)
70
- Object.defineProperty(target, symbol, {
71
- value: (nodes = Object.create(null))
72
- });
61
+ if (!nodes) Object.defineProperty(target, symbol, {
62
+ value: nodes = Object.create(null)
63
+ });
73
64
  return nodes;
74
65
  }
75
66
  function getNode(nodes, property, value) {
@@ -79,19 +70,18 @@ function getNode(nodes, property, value) {
79
70
  internal: true
80
71
  });
81
72
  s.$ = set;
82
- return (nodes[property] = s);
73
+ return nodes[property] = s;
83
74
  }
84
75
  function proxyDescriptor$1(target, property) {
85
76
  const desc = Reflect.getOwnPropertyDescriptor(target, property);
86
- if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE)
87
- return desc;
77
+ if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE) return desc;
88
78
  delete desc.value;
89
79
  delete desc.writable;
90
80
  desc.get = () => target[$PROXY][property];
91
81
  return desc;
92
82
  }
93
83
  function trackSelf(target) {
94
- getListener() && getNode(getNodes(target, $NODE), "_")();
84
+ getListener() && getNode(getNodes(target, $NODE), $SELF)();
95
85
  }
96
86
  function ownKeys(target) {
97
87
  trackSelf(target);
@@ -111,25 +101,12 @@ const proxyTraps$1 = {
111
101
  if (property === $NODE || property === $HAS || property === "__proto__") return value;
112
102
  if (!tracked) {
113
103
  const desc = Object.getOwnPropertyDescriptor(target, property);
114
- if (
115
- getListener() &&
116
- (typeof value !== "function" || target.hasOwnProperty(property)) &&
117
- !(desc && desc.get)
118
- )
119
- value = getNode(nodes, property, value)();
104
+ if (getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();
120
105
  }
121
106
  return isWrappable(value) ? wrap$1(value) : value;
122
107
  },
123
108
  has(target, property) {
124
- if (
125
- property === $RAW ||
126
- property === $PROXY ||
127
- property === $TRACK ||
128
- property === $NODE ||
129
- property === $HAS ||
130
- property === "__proto__"
131
- )
132
- return true;
109
+ if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
133
110
  getListener() && getNode(getNodes(target, $HAS), property)();
134
111
  return property in target;
135
112
  },
@@ -158,12 +135,12 @@ function setProperty(state, property, value, deleting = false) {
158
135
  }
159
136
  let nodes = getNodes(state, $NODE),
160
137
  node;
161
- if ((node = getNode(nodes, property, prev))) node.$(() => value);
138
+ if (node = getNode(nodes, property, prev)) node.$(() => value);
162
139
  if (Array.isArray(state) && state.length !== len) {
163
140
  for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
164
141
  (node = getNode(nodes, "length", len)) && node.$(state.length);
165
142
  }
166
- (node = nodes._) && node.$();
143
+ (node = nodes[$SELF]) && node.$();
167
144
  }
168
145
  function mergeStoreNode(state, value) {
169
146
  const keys = Object.keys(value);
@@ -204,7 +181,11 @@ function updatePath(current, path, traversed = []) {
204
181
  }
205
182
  return;
206
183
  } else if (isArray && partType === "object") {
207
- 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;
208
189
  for (let i = from; i <= to; i += by) {
209
190
  updatePath(current, [i].concat(path), traversed);
210
191
  }
@@ -223,17 +204,14 @@ function updatePath(current, path, traversed = []) {
223
204
  }
224
205
  if (part === undefined && value == undefined) return;
225
206
  value = unwrap(value);
226
- if (part === undefined || (isWrappable(prev) && isWrappable(value) && !Array.isArray(value))) {
207
+ if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {
227
208
  mergeStoreNode(prev, value);
228
209
  } else setProperty(current, part, value);
229
210
  }
230
211
  function createStore(...[store, options]) {
231
212
  const unwrappedStore = unwrap(store || {});
232
213
  const isArray = Array.isArray(unwrappedStore);
233
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function")
234
- throw new Error(
235
- `Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`
236
- );
214
+ if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`);
237
215
  const wrappedStore = wrap$1(unwrappedStore);
238
216
  DEV$1.registerGraph({
239
217
  value: unwrappedStore,
@@ -241,9 +219,7 @@ function createStore(...[store, options]) {
241
219
  });
242
220
  function setStore(...args) {
243
221
  batch(() => {
244
- isArray && args.length === 1
245
- ? updateArray(unwrappedStore, args[0])
246
- : updatePath(unwrappedStore, args);
222
+ isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);
247
223
  });
248
224
  }
249
225
  return [wrappedStore, setStore];
@@ -251,19 +227,11 @@ function createStore(...[store, options]) {
251
227
 
252
228
  function proxyDescriptor(target, property) {
253
229
  const desc = Reflect.getOwnPropertyDescriptor(target, property);
254
- if (
255
- !desc ||
256
- desc.get ||
257
- desc.set ||
258
- !desc.configurable ||
259
- property === $PROXY ||
260
- property === $NODE
261
- )
262
- return desc;
230
+ if (!desc || desc.get || desc.set || !desc.configurable || property === $PROXY || property === $NODE) return desc;
263
231
  delete desc.value;
264
232
  delete desc.writable;
265
233
  desc.get = () => target[$PROXY][property];
266
- desc.set = v => (target[$PROXY][property] = v);
234
+ desc.set = v => target[$PROXY][property] = v;
267
235
  return desc;
268
236
  }
269
237
  const proxyTraps = {
@@ -281,24 +249,14 @@ const proxyTraps = {
281
249
  if (!tracked) {
282
250
  const desc = Object.getOwnPropertyDescriptor(target, property);
283
251
  const isFunction = typeof value === "function";
284
- if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get))
285
- value = getNode(nodes, property, value)();
286
- 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]) {
287
253
  return (...args) => batch(() => Array.prototype[property].apply(receiver, args));
288
254
  }
289
255
  }
290
256
  return isWrappable(value) ? wrap(value) : value;
291
257
  },
292
258
  has(target, property) {
293
- if (
294
- property === $RAW ||
295
- property === $PROXY ||
296
- property === $TRACK ||
297
- property === $NODE ||
298
- property === $HAS ||
299
- property === "__proto__"
300
- )
301
- return true;
259
+ if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
302
260
  getListener() && getNode(getNodes(target, $HAS), property)();
303
261
  return property in target;
304
262
  },
@@ -317,7 +275,7 @@ function wrap(value) {
317
275
  let p = value[$PROXY];
318
276
  if (!p) {
319
277
  Object.defineProperty(value, $PROXY, {
320
- value: (p = new Proxy(value, proxyTraps))
278
+ value: p = new Proxy(value, proxyTraps)
321
279
  });
322
280
  const keys = Object.keys(value),
323
281
  desc = Object.getOwnPropertyDescriptors(value);
@@ -342,10 +300,7 @@ function wrap(value) {
342
300
  }
343
301
  function createMutable(state, options) {
344
302
  const unwrappedStore = unwrap(state || {});
345
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function")
346
- throw new Error(
347
- `Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`
348
- );
303
+ if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);
349
304
  const wrappedStore = wrap(unwrappedStore);
350
305
  DEV$1.registerGraph({
351
306
  value: unwrappedStore,
@@ -361,39 +316,19 @@ const $ROOT = Symbol("store-root");
361
316
  function applyState(target, parent, property, merge, key) {
362
317
  const previous = parent[property];
363
318
  if (target === previous) return;
364
- if (
365
- property !== $ROOT &&
366
- (!isWrappable(target) || !isWrappable(previous) || (key && target[key] !== previous[key]))
367
- ) {
319
+ if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || key && target[key] !== previous[key])) {
368
320
  setProperty(parent, property, target);
369
321
  return;
370
322
  }
371
323
  if (Array.isArray(target)) {
372
- if (
373
- target.length &&
374
- previous.length &&
375
- (!merge || (key && target[0] && target[0][key] != null))
376
- ) {
324
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
377
325
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
378
- for (
379
- start = 0, end = Math.min(previous.length, target.length);
380
- start < end &&
381
- (previous[start] === target[start] ||
382
- (key && previous[start] && target[start] && previous[start][key] === target[start][key]));
383
- start++
384
- ) {
326
+ 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++) {
385
327
  applyState(target[start], previous, start, merge, key);
386
328
  }
387
329
  const temp = new Array(target.length),
388
330
  newIndices = new Map();
389
- for (
390
- end = previous.length - 1, newEnd = target.length - 1;
391
- end >= start &&
392
- newEnd >= start &&
393
- (previous[end] === target[newEnd] ||
394
- (key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]));
395
- end--, newEnd--
396
- ) {
331
+ 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--) {
397
332
  temp[newEnd] = previous[end];
398
333
  }
399
334
  if (start > newEnd || start > end) {
@@ -447,19 +382,16 @@ function applyState(target, parent, property, merge, key) {
447
382
  }
448
383
  }
449
384
  function reconcile(value, options = {}) {
450
- const { merge, key = "id" } = options,
385
+ const {
386
+ merge,
387
+ key = "id"
388
+ } = options,
451
389
  v = unwrap(value);
452
390
  return state => {
453
391
  if (!isWrappable(state) || !isWrappable(v)) return v;
454
- const res = applyState(
455
- v,
456
- {
457
- [$ROOT]: state
458
- },
459
- $ROOT,
460
- merge,
461
- key
462
- );
392
+ const res = applyState(v, {
393
+ [$ROOT]: state
394
+ }, $ROOT, merge, key);
463
395
  return res === undefined ? state : res;
464
396
  };
465
397
  }
@@ -469,10 +401,7 @@ const setterTraps = {
469
401
  if (property === $RAW) return target;
470
402
  const value = target[property];
471
403
  let proxy;
472
- return isWrappable(value)
473
- ? producers.get(value) ||
474
- (producers.set(value, (proxy = new Proxy(value, setterTraps))), proxy)
475
- : value;
404
+ return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
476
405
  },
477
406
  set(target, property, value) {
478
407
  setProperty(target, property, unwrap(value));
@@ -488,7 +417,7 @@ function produce(fn) {
488
417
  if (isWrappable(state)) {
489
418
  let proxy;
490
419
  if (!(proxy = producers.get(state))) {
491
- producers.set(state, (proxy = new Proxy(state, setterTraps)));
420
+ producers.set(state, proxy = new Proxy(state, setterTraps));
492
421
  }
493
422
  fn(proxy);
494
423
  }
@@ -500,6 +429,6 @@ const DEV = {
500
429
  $NODE,
501
430
  isWrappable,
502
431
  hooks: DevHooks
503
- };
432
+ } ;
504
433
 
505
434
  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 };
@@ -4,7 +4,8 @@ var solidJs = require('solid-js');
4
4
 
5
5
  const $RAW = Symbol("store-raw"),
6
6
  $NODE = Symbol("store-node"),
7
- $HAS = Symbol("store-has");
7
+ $HAS = Symbol("store-has"),
8
+ $SELF = Symbol("store-self");
8
9
  function wrap$1(value) {
9
10
  let p = value[solidJs.$PROXY];
10
11
  if (!p) {
@@ -79,7 +80,7 @@ function proxyDescriptor$1(target, property) {
79
80
  return desc;
80
81
  }
81
82
  function trackSelf(target) {
82
- solidJs.getListener() && getNode(getNodes(target, $NODE), "_")();
83
+ solidJs.getListener() && getNode(getNodes(target, $NODE), $SELF)();
83
84
  }
84
85
  function ownKeys(target) {
85
86
  trackSelf(target);
@@ -135,7 +136,7 @@ function setProperty(state, property, value, deleting = false) {
135
136
  for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
136
137
  (node = getNode(nodes, "length", len)) && node.$(state.length);
137
138
  }
138
- (node = nodes._) && node.$();
139
+ (node = nodes[$SELF]) && node.$();
139
140
  }
140
141
  function mergeStoreNode(state, value) {
141
142
  const keys = Object.keys(value);