solid-js 1.8.4 → 1.8.5

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 (44) hide show
  1. package/dist/dev.cjs +1 -1
  2. package/dist/dev.js +299 -534
  3. package/dist/server.js +75 -170
  4. package/dist/solid.cjs +1 -1
  5. package/dist/solid.js +257 -461
  6. package/h/dist/h.js +8 -34
  7. package/h/jsx-runtime/dist/jsx.js +1 -1
  8. package/h/jsx-runtime/types/index.d.ts +8 -11
  9. package/h/types/hyperscript.d.ts +11 -11
  10. package/html/dist/html.js +94 -216
  11. package/html/types/lit.d.ts +33 -47
  12. package/package.json +1 -1
  13. package/store/dist/dev.js +42 -114
  14. package/store/dist/server.js +8 -19
  15. package/store/dist/store.js +39 -105
  16. package/store/types/index.d.ts +7 -21
  17. package/store/types/modifiers.d.ts +3 -6
  18. package/store/types/mutable.d.ts +2 -5
  19. package/store/types/server.d.ts +4 -12
  20. package/store/types/store.d.ts +61 -218
  21. package/types/index.d.ts +9 -72
  22. package/types/reactive/array.d.ts +4 -12
  23. package/types/reactive/observable.d.ts +17 -25
  24. package/types/reactive/scheduler.d.ts +6 -9
  25. package/types/reactive/signal.d.ts +140 -228
  26. package/types/render/Suspense.d.ts +5 -5
  27. package/types/render/component.d.ts +31 -62
  28. package/types/render/flow.d.ts +31 -43
  29. package/types/render/hydration.d.ts +13 -13
  30. package/types/server/index.d.ts +2 -57
  31. package/types/server/reactive.d.ts +42 -73
  32. package/types/server/rendering.d.ts +95 -166
  33. package/universal/dist/dev.js +12 -28
  34. package/universal/dist/universal.js +12 -28
  35. package/universal/types/index.d.ts +1 -3
  36. package/universal/types/universal.d.ts +1 -0
  37. package/web/dist/dev.js +81 -619
  38. package/web/dist/server.js +94 -177
  39. package/web/dist/storage.js +3 -3
  40. package/web/dist/web.js +80 -613
  41. package/web/types/client.d.ts +2 -2
  42. package/web/types/core.d.ts +1 -10
  43. package/web/types/index.d.ts +10 -27
  44. 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,
@@ -362,39 +316,19 @@ const $ROOT = Symbol("store-root");
362
316
  function applyState(target, parent, property, merge, key) {
363
317
  const previous = parent[property];
364
318
  if (target === previous) return;
365
- if (
366
- property !== $ROOT &&
367
- (!isWrappable(target) || !isWrappable(previous) || (key && target[key] !== previous[key]))
368
- ) {
319
+ if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || key && target[key] !== previous[key])) {
369
320
  setProperty(parent, property, target);
370
321
  return;
371
322
  }
372
323
  if (Array.isArray(target)) {
373
- if (
374
- target.length &&
375
- previous.length &&
376
- (!merge || (key && target[0] && target[0][key] != null))
377
- ) {
324
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
378
325
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
379
- for (
380
- start = 0, end = Math.min(previous.length, target.length);
381
- start < end &&
382
- (previous[start] === target[start] ||
383
- (key && previous[start] && target[start] && previous[start][key] === target[start][key]));
384
- start++
385
- ) {
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++) {
386
327
  applyState(target[start], previous, start, merge, key);
387
328
  }
388
329
  const temp = new Array(target.length),
389
330
  newIndices = new Map();
390
- for (
391
- end = previous.length - 1, newEnd = target.length - 1;
392
- end >= start &&
393
- newEnd >= start &&
394
- (previous[end] === target[newEnd] ||
395
- (key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]));
396
- end--, newEnd--
397
- ) {
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--) {
398
332
  temp[newEnd] = previous[end];
399
333
  }
400
334
  if (start > newEnd || start > end) {
@@ -448,19 +382,16 @@ function applyState(target, parent, property, merge, key) {
448
382
  }
449
383
  }
450
384
  function reconcile(value, options = {}) {
451
- const { merge, key = "id" } = options,
385
+ const {
386
+ merge,
387
+ key = "id"
388
+ } = options,
452
389
  v = unwrap(value);
453
390
  return state => {
454
391
  if (!isWrappable(state) || !isWrappable(v)) return v;
455
- const res = applyState(
456
- v,
457
- {
458
- [$ROOT]: state
459
- },
460
- $ROOT,
461
- merge,
462
- key
463
- );
392
+ const res = applyState(v, {
393
+ [$ROOT]: state
394
+ }, $ROOT, merge, key);
464
395
  return res === undefined ? state : res;
465
396
  };
466
397
  }
@@ -470,10 +401,7 @@ const setterTraps = {
470
401
  if (property === $RAW) return target;
471
402
  const value = target[property];
472
403
  let proxy;
473
- return isWrappable(value)
474
- ? producers.get(value) ||
475
- (producers.set(value, (proxy = new Proxy(value, setterTraps))), proxy)
476
- : value;
404
+ return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
477
405
  },
478
406
  set(target, property, value) {
479
407
  setProperty(target, property, unwrap(value));
@@ -489,7 +417,7 @@ function produce(fn) {
489
417
  if (isWrappable(state)) {
490
418
  let proxy;
491
419
  if (!(proxy = producers.get(state))) {
492
- producers.set(state, (proxy = new Proxy(state, setterTraps)));
420
+ producers.set(state, proxy = new Proxy(state, setterTraps));
493
421
  }
494
422
  fn(proxy);
495
423
  }
@@ -501,6 +429,6 @@ const DEV = {
501
429
  $NODE,
502
430
  isWrappable,
503
431
  hooks: DevHooks
504
- };
432
+ } ;
505
433
 
506
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 };
@@ -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);
@@ -340,39 +300,19 @@ const $ROOT = Symbol("store-root");
340
300
  function applyState(target, parent, property, merge, key) {
341
301
  const previous = parent[property];
342
302
  if (target === previous) return;
343
- if (
344
- property !== $ROOT &&
345
- (!isWrappable(target) || !isWrappable(previous) || (key && target[key] !== previous[key]))
346
- ) {
303
+ if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || key && target[key] !== previous[key])) {
347
304
  setProperty(parent, property, target);
348
305
  return;
349
306
  }
350
307
  if (Array.isArray(target)) {
351
- if (
352
- target.length &&
353
- previous.length &&
354
- (!merge || (key && target[0] && target[0][key] != null))
355
- ) {
308
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
356
309
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
357
- for (
358
- start = 0, end = Math.min(previous.length, target.length);
359
- start < end &&
360
- (previous[start] === target[start] ||
361
- (key && previous[start] && target[start] && previous[start][key] === target[start][key]));
362
- start++
363
- ) {
310
+ 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++) {
364
311
  applyState(target[start], previous, start, merge, key);
365
312
  }
366
313
  const temp = new Array(target.length),
367
314
  newIndices = new Map();
368
- for (
369
- end = previous.length - 1, newEnd = target.length - 1;
370
- end >= start &&
371
- newEnd >= start &&
372
- (previous[end] === target[newEnd] ||
373
- (key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]));
374
- end--, newEnd--
375
- ) {
315
+ 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--) {
376
316
  temp[newEnd] = previous[end];
377
317
  }
378
318
  if (start > newEnd || start > end) {
@@ -426,19 +366,16 @@ function applyState(target, parent, property, merge, key) {
426
366
  }
427
367
  }
428
368
  function reconcile(value, options = {}) {
429
- const { merge, key = "id" } = options,
369
+ const {
370
+ merge,
371
+ key = "id"
372
+ } = options,
430
373
  v = unwrap(value);
431
374
  return state => {
432
375
  if (!isWrappable(state) || !isWrappable(v)) return v;
433
- const res = applyState(
434
- v,
435
- {
436
- [$ROOT]: state
437
- },
438
- $ROOT,
439
- merge,
440
- key
441
- );
376
+ const res = applyState(v, {
377
+ [$ROOT]: state
378
+ }, $ROOT, merge, key);
442
379
  return res === undefined ? state : res;
443
380
  };
444
381
  }
@@ -448,10 +385,7 @@ const setterTraps = {
448
385
  if (property === $RAW) return target;
449
386
  const value = target[property];
450
387
  let proxy;
451
- return isWrappable(value)
452
- ? producers.get(value) ||
453
- (producers.set(value, (proxy = new Proxy(value, setterTraps))), proxy)
454
- : value;
388
+ return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
455
389
  },
456
390
  set(target, property, value) {
457
391
  setProperty(target, property, unwrap(value));
@@ -467,7 +401,7 @@ function produce(fn) {
467
401
  if (isWrappable(state)) {
468
402
  let proxy;
469
403
  if (!(proxy = producers.get(state))) {
470
- producers.set(state, (proxy = new Proxy(state, setterTraps)));
404
+ producers.set(state, proxy = new Proxy(state, setterTraps));
471
405
  }
472
406
  fn(proxy);
473
407
  }