solid-js 1.8.9 → 1.8.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 (45) 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 +1 -1
  11. package/store/dist/dev.js +42 -117
  12. package/store/dist/server.js +8 -19
  13. package/store/dist/store.js +39 -108
  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.cjs +3 -3
  36. package/web/dist/dev.js +84 -623
  37. package/web/dist/server.cjs +25 -17
  38. package/web/dist/server.js +117 -217
  39. package/web/dist/storage.js +3 -3
  40. package/web/dist/web.cjs +3 -3
  41. package/web/dist/web.js +83 -617
  42. package/web/types/client.d.ts +2 -2
  43. package/web/types/core.d.ts +1 -10
  44. package/web/types/index.d.ts +10 -27
  45. package/web/types/server-mock.d.ts +32 -47
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,7 +275,7 @@ 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);
@@ -343,10 +300,7 @@ function wrap(value) {
343
300
  }
344
301
  function createMutable(state, options) {
345
302
  const unwrappedStore = unwrap(state || {});
346
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function")
347
- throw new Error(
348
- `Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`
349
- );
303
+ if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);
350
304
  const wrappedStore = wrap(unwrappedStore);
351
305
  DEV$1.registerGraph({
352
306
  value: unwrappedStore,
@@ -363,42 +317,19 @@ function applyState(target, parent, property, merge, key) {
363
317
  const previous = parent[property];
364
318
  if (target === previous) return;
365
319
  const isArray = Array.isArray(target);
366
- if (
367
- property !== $ROOT &&
368
- (!isWrappable(target) ||
369
- !isWrappable(previous) ||
370
- isArray !== Array.isArray(previous) ||
371
- (key && target[key] !== previous[key]))
372
- ) {
320
+ if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {
373
321
  setProperty(parent, property, target);
374
322
  return;
375
323
  }
376
324
  if (isArray) {
377
- if (
378
- target.length &&
379
- previous.length &&
380
- (!merge || (key && target[0] && target[0][key] != null))
381
- ) {
325
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
382
326
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
383
- for (
384
- start = 0, end = Math.min(previous.length, target.length);
385
- start < end &&
386
- (previous[start] === target[start] ||
387
- (key && previous[start] && target[start] && previous[start][key] === target[start][key]));
388
- start++
389
- ) {
327
+ 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++) {
390
328
  applyState(target[start], previous, start, merge, key);
391
329
  }
392
330
  const temp = new Array(target.length),
393
331
  newIndices = new Map();
394
- for (
395
- end = previous.length - 1, newEnd = target.length - 1;
396
- end >= start &&
397
- newEnd >= start &&
398
- (previous[end] === target[newEnd] ||
399
- (key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]));
400
- end--, newEnd--
401
- ) {
332
+ 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--) {
402
333
  temp[newEnd] = previous[end];
403
334
  }
404
335
  if (start > newEnd || start > end) {
@@ -452,19 +383,16 @@ function applyState(target, parent, property, merge, key) {
452
383
  }
453
384
  }
454
385
  function reconcile(value, options = {}) {
455
- const { merge, key = "id" } = options,
386
+ const {
387
+ merge,
388
+ key = "id"
389
+ } = options,
456
390
  v = unwrap(value);
457
391
  return state => {
458
392
  if (!isWrappable(state) || !isWrappable(v)) return v;
459
- const res = applyState(
460
- v,
461
- {
462
- [$ROOT]: state
463
- },
464
- $ROOT,
465
- merge,
466
- key
467
- );
393
+ const res = applyState(v, {
394
+ [$ROOT]: state
395
+ }, $ROOT, merge, key);
468
396
  return res === undefined ? state : res;
469
397
  };
470
398
  }
@@ -474,10 +402,7 @@ const setterTraps = {
474
402
  if (property === $RAW) return target;
475
403
  const value = target[property];
476
404
  let proxy;
477
- return isWrappable(value)
478
- ? producers.get(value) ||
479
- (producers.set(value, (proxy = new Proxy(value, setterTraps))), proxy)
480
- : value;
405
+ return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
481
406
  },
482
407
  set(target, property, value) {
483
408
  setProperty(target, property, unwrap(value));
@@ -493,7 +418,7 @@ function produce(fn) {
493
418
  if (isWrappable(state)) {
494
419
  let proxy;
495
420
  if (!(proxy = producers.get(state))) {
496
- producers.set(state, (proxy = new Proxy(state, setterTraps)));
421
+ producers.set(state, proxy = new Proxy(state, setterTraps));
497
422
  }
498
423
  fn(proxy);
499
424
  }
@@ -505,6 +430,6 @@ const DEV = {
505
430
  $NODE,
506
431
  isWrappable,
507
432
  hooks: DevHooks
508
- };
433
+ } ;
509
434
 
510
435
  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 };
@@ -1,4 +1,4 @@
1
- import { $PROXY, $TRACK, getListener, batch, createSignal } from "solid-js";
1
+ import { $PROXY, $TRACK, getListener, batch, createSignal } from 'solid-js';
2
2
 
3
3
  const $RAW = Symbol("store-raw"),
4
4
  $NODE = Symbol("store-node"),
@@ -8,7 +8,7 @@ function wrap$1(value) {
8
8
  let p = value[$PROXY];
9
9
  if (!p) {
10
10
  Object.defineProperty(value, $PROXY, {
11
- value: (p = new Proxy(value, proxyTraps$1))
11
+ value: p = new Proxy(value, proxyTraps$1)
12
12
  });
13
13
  if (!Array.isArray(value)) {
14
14
  const keys = Object.keys(value),
@@ -28,29 +28,20 @@ function wrap$1(value) {
28
28
  }
29
29
  function isWrappable(obj) {
30
30
  let proto;
31
- return (
32
- obj != null &&
33
- typeof obj === "object" &&
34
- (obj[$PROXY] ||
35
- !(proto = Object.getPrototypeOf(obj)) ||
36
- proto === Object.prototype ||
37
- Array.isArray(obj))
38
- );
31
+ return obj != null && typeof obj === "object" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));
39
32
  }
40
33
  function unwrap(item, set = new Set()) {
41
34
  let result, unwrapped, v, prop;
42
- if ((result = item != null && item[$RAW])) return result;
35
+ if (result = item != null && item[$RAW]) return result;
43
36
  if (!isWrappable(item) || set.has(item)) return item;
44
37
  if (Array.isArray(item)) {
45
- if (Object.isFrozen(item)) item = item.slice(0);
46
- else set.add(item);
38
+ if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);
47
39
  for (let i = 0, l = item.length; i < l; i++) {
48
40
  v = item[i];
49
41
  if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;
50
42
  }
51
43
  } else {
52
- if (Object.isFrozen(item)) item = Object.assign({}, item);
53
- else set.add(item);
44
+ if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);
54
45
  const keys = Object.keys(item),
55
46
  desc = Object.getOwnPropertyDescriptors(item);
56
47
  for (let i = 0, l = keys.length; i < l; i++) {
@@ -64,10 +55,9 @@ function unwrap(item, set = new Set()) {
64
55
  }
65
56
  function getNodes(target, symbol) {
66
57
  let nodes = target[symbol];
67
- if (!nodes)
68
- Object.defineProperty(target, symbol, {
69
- value: (nodes = Object.create(null))
70
- });
58
+ if (!nodes) Object.defineProperty(target, symbol, {
59
+ value: nodes = Object.create(null)
60
+ });
71
61
  return nodes;
72
62
  }
73
63
  function getNode(nodes, property, value) {
@@ -77,12 +67,11 @@ function getNode(nodes, property, value) {
77
67
  internal: true
78
68
  });
79
69
  s.$ = set;
80
- return (nodes[property] = s);
70
+ return nodes[property] = s;
81
71
  }
82
72
  function proxyDescriptor$1(target, property) {
83
73
  const desc = Reflect.getOwnPropertyDescriptor(target, property);
84
- if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE)
85
- return desc;
74
+ if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE) return desc;
86
75
  delete desc.value;
87
76
  delete desc.writable;
88
77
  desc.get = () => target[$PROXY][property];
@@ -109,25 +98,12 @@ const proxyTraps$1 = {
109
98
  if (property === $NODE || property === $HAS || property === "__proto__") return value;
110
99
  if (!tracked) {
111
100
  const desc = Object.getOwnPropertyDescriptor(target, property);
112
- if (
113
- getListener() &&
114
- (typeof value !== "function" || target.hasOwnProperty(property)) &&
115
- !(desc && desc.get)
116
- )
117
- value = getNode(nodes, property, value)();
101
+ if (getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();
118
102
  }
119
103
  return isWrappable(value) ? wrap$1(value) : value;
120
104
  },
121
105
  has(target, property) {
122
- if (
123
- property === $RAW ||
124
- property === $PROXY ||
125
- property === $TRACK ||
126
- property === $NODE ||
127
- property === $HAS ||
128
- property === "__proto__"
129
- )
130
- return true;
106
+ if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
131
107
  getListener() && getNode(getNodes(target, $HAS), property)();
132
108
  return property in target;
133
109
  },
@@ -153,7 +129,7 @@ function setProperty(state, property, value, deleting = false) {
153
129
  }
154
130
  let nodes = getNodes(state, $NODE),
155
131
  node;
156
- if ((node = getNode(nodes, property, prev))) node.$(() => value);
132
+ if (node = getNode(nodes, property, prev)) node.$(() => value);
157
133
  if (Array.isArray(state) && state.length !== len) {
158
134
  for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
159
135
  (node = getNode(nodes, "length", len)) && node.$(state.length);
@@ -199,7 +175,11 @@ function updatePath(current, path, traversed = []) {
199
175
  }
200
176
  return;
201
177
  } else if (isArray && partType === "object") {
202
- const { from = 0, to = current.length - 1, by = 1 } = part;
178
+ const {
179
+ from = 0,
180
+ to = current.length - 1,
181
+ by = 1
182
+ } = part;
203
183
  for (let i = from; i <= to; i += by) {
204
184
  updatePath(current, [i].concat(path), traversed);
205
185
  }
@@ -218,7 +198,7 @@ function updatePath(current, path, traversed = []) {
218
198
  }
219
199
  if (part === undefined && value == undefined) return;
220
200
  value = unwrap(value);
221
- if (part === undefined || (isWrappable(prev) && isWrappable(value) && !Array.isArray(value))) {
201
+ if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {
222
202
  mergeStoreNode(prev, value);
223
203
  } else setProperty(current, part, value);
224
204
  }
@@ -228,9 +208,7 @@ function createStore(...[store, options]) {
228
208
  const wrappedStore = wrap$1(unwrappedStore);
229
209
  function setStore(...args) {
230
210
  batch(() => {
231
- isArray && args.length === 1
232
- ? updateArray(unwrappedStore, args[0])
233
- : updatePath(unwrappedStore, args);
211
+ isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);
234
212
  });
235
213
  }
236
214
  return [wrappedStore, setStore];
@@ -238,19 +216,11 @@ function createStore(...[store, options]) {
238
216
 
239
217
  function proxyDescriptor(target, property) {
240
218
  const desc = Reflect.getOwnPropertyDescriptor(target, property);
241
- if (
242
- !desc ||
243
- desc.get ||
244
- desc.set ||
245
- !desc.configurable ||
246
- property === $PROXY ||
247
- property === $NODE
248
- )
249
- return desc;
219
+ if (!desc || desc.get || desc.set || !desc.configurable || property === $PROXY || property === $NODE) return desc;
250
220
  delete desc.value;
251
221
  delete desc.writable;
252
222
  desc.get = () => target[$PROXY][property];
253
- desc.set = v => (target[$PROXY][property] = v);
223
+ desc.set = v => target[$PROXY][property] = v;
254
224
  return desc;
255
225
  }
256
226
  const proxyTraps = {
@@ -268,24 +238,14 @@ const proxyTraps = {
268
238
  if (!tracked) {
269
239
  const desc = Object.getOwnPropertyDescriptor(target, property);
270
240
  const isFunction = typeof value === "function";
271
- if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get))
272
- value = getNode(nodes, property, value)();
273
- else if (value != null && isFunction && value === Array.prototype[property]) {
241
+ if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
274
242
  return (...args) => batch(() => Array.prototype[property].apply(receiver, args));
275
243
  }
276
244
  }
277
245
  return isWrappable(value) ? wrap(value) : value;
278
246
  },
279
247
  has(target, property) {
280
- if (
281
- property === $RAW ||
282
- property === $PROXY ||
283
- property === $TRACK ||
284
- property === $NODE ||
285
- property === $HAS ||
286
- property === "__proto__"
287
- )
288
- return true;
248
+ if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
289
249
  getListener() && getNode(getNodes(target, $HAS), property)();
290
250
  return property in target;
291
251
  },
@@ -304,7 +264,7 @@ function wrap(value) {
304
264
  let p = value[$PROXY];
305
265
  if (!p) {
306
266
  Object.defineProperty(value, $PROXY, {
307
- value: (p = new Proxy(value, proxyTraps))
267
+ value: p = new Proxy(value, proxyTraps)
308
268
  });
309
269
  const keys = Object.keys(value),
310
270
  desc = Object.getOwnPropertyDescriptors(value);
@@ -341,42 +301,19 @@ function applyState(target, parent, property, merge, key) {
341
301
  const previous = parent[property];
342
302
  if (target === previous) return;
343
303
  const isArray = Array.isArray(target);
344
- if (
345
- property !== $ROOT &&
346
- (!isWrappable(target) ||
347
- !isWrappable(previous) ||
348
- isArray !== Array.isArray(previous) ||
349
- (key && target[key] !== previous[key]))
350
- ) {
304
+ if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {
351
305
  setProperty(parent, property, target);
352
306
  return;
353
307
  }
354
308
  if (isArray) {
355
- if (
356
- target.length &&
357
- previous.length &&
358
- (!merge || (key && target[0] && target[0][key] != null))
359
- ) {
309
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
360
310
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
361
- for (
362
- start = 0, end = Math.min(previous.length, target.length);
363
- start < end &&
364
- (previous[start] === target[start] ||
365
- (key && previous[start] && target[start] && previous[start][key] === target[start][key]));
366
- start++
367
- ) {
311
+ 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++) {
368
312
  applyState(target[start], previous, start, merge, key);
369
313
  }
370
314
  const temp = new Array(target.length),
371
315
  newIndices = new Map();
372
- for (
373
- end = previous.length - 1, newEnd = target.length - 1;
374
- end >= start &&
375
- newEnd >= start &&
376
- (previous[end] === target[newEnd] ||
377
- (key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]));
378
- end--, newEnd--
379
- ) {
316
+ 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--) {
380
317
  temp[newEnd] = previous[end];
381
318
  }
382
319
  if (start > newEnd || start > end) {
@@ -430,19 +367,16 @@ function applyState(target, parent, property, merge, key) {
430
367
  }
431
368
  }
432
369
  function reconcile(value, options = {}) {
433
- const { merge, key = "id" } = options,
370
+ const {
371
+ merge,
372
+ key = "id"
373
+ } = options,
434
374
  v = unwrap(value);
435
375
  return state => {
436
376
  if (!isWrappable(state) || !isWrappable(v)) return v;
437
- const res = applyState(
438
- v,
439
- {
440
- [$ROOT]: state
441
- },
442
- $ROOT,
443
- merge,
444
- key
445
- );
377
+ const res = applyState(v, {
378
+ [$ROOT]: state
379
+ }, $ROOT, merge, key);
446
380
  return res === undefined ? state : res;
447
381
  };
448
382
  }
@@ -452,10 +386,7 @@ const setterTraps = {
452
386
  if (property === $RAW) return target;
453
387
  const value = target[property];
454
388
  let proxy;
455
- return isWrappable(value)
456
- ? producers.get(value) ||
457
- (producers.set(value, (proxy = new Proxy(value, setterTraps))), proxy)
458
- : value;
389
+ return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
459
390
  },
460
391
  set(target, property, value) {
461
392
  setProperty(target, property, unwrap(value));
@@ -471,7 +402,7 @@ function produce(fn) {
471
402
  if (isWrappable(state)) {
472
403
  let proxy;
473
404
  if (!(proxy = producers.get(state))) {
474
- producers.set(state, (proxy = new Proxy(state, setterTraps)));
405
+ producers.set(state, proxy = new Proxy(state, setterTraps));
475
406
  }
476
407
  fn(proxy);
477
408
  }