@legendapp/state 1.0.0-rc.22 → 1.0.0-rc.24

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.
package/index.js CHANGED
@@ -178,13 +178,13 @@ function updateTracking(node, track) {
178
178
  if (!tracker.nodes) {
179
179
  tracker.nodes = new Map();
180
180
  }
181
- const existing = tracker.nodes.get(node.id);
181
+ const existing = tracker.nodes.get(node);
182
182
  if (existing) {
183
183
  existing.track = existing.track || track;
184
184
  existing.num++;
185
185
  }
186
186
  else {
187
- tracker.nodes.set(node.id, { node, track, num: 1 });
187
+ tracker.nodes.set(node, { node, track, num: 1 });
188
188
  }
189
189
  }
190
190
  }
@@ -197,7 +197,6 @@ const symbolDelete = /* @__PURE__ */ Symbol('delete');
197
197
  const symbolOpaque = Symbol('opaque');
198
198
  const extraPrimitiveActivators = new Map();
199
199
  const extraPrimitiveProps = new Map();
200
- const nextNodeID = { current: 0 };
201
200
  function checkActivate(node) {
202
201
  const root = node.root;
203
202
  const activate = root.activate;
@@ -215,37 +214,27 @@ function peek(node) {
215
214
  checkActivate(node);
216
215
  return getNodeValue(node);
217
216
  }
217
+ const arrNodeKeys = [];
218
218
  function getNodeValue(node) {
219
- const arr = [];
219
+ let count = 0;
220
220
  let n = node;
221
221
  while (isChildNodeValue(n)) {
222
- arr.push(n.key);
222
+ arrNodeKeys[count++] = n.key;
223
223
  n = n.parent;
224
224
  }
225
225
  let child = node.root._;
226
- for (let i = arr.length - 1; i >= 0; i--) {
227
- if (arr[i] !== undefined && child) {
228
- child = child[arr[i]];
229
- }
226
+ for (let i = count - 1; child && i >= 0; i--) {
227
+ child = child[arrNodeKeys[i]];
230
228
  }
231
229
  return child;
232
230
  }
233
231
  function getChildNode(node, key) {
234
232
  var _a;
235
- // Convert string to number if it's not a BigInt
236
- if (key && isString(key) && key.length < 17) {
237
- const n = +key;
238
- // Convert to number if it's a string representing a valid number
239
- // This is faster than isNaN
240
- if (n - n < 1)
241
- key = n;
242
- }
243
- // Get the child by id if included, or by key
233
+ // Get the child by key
244
234
  let child = (_a = node.children) === null || _a === void 0 ? void 0 : _a.get(key);
245
235
  // Create the child node if it doesn't already exist
246
236
  if (!child) {
247
237
  child = {
248
- id: nextNodeID.current++,
249
238
  root: node.root,
250
239
  parent: node,
251
240
  key,
@@ -680,7 +669,7 @@ function updateNodes(parent, obj, prevValue) {
680
669
  for (let i = 0; i < prevValue.length; i++) {
681
670
  const p = prevValue[i];
682
671
  if (p) {
683
- const child = parent.children.get(i);
672
+ const child = parent.children.get(i + '');
684
673
  if (child) {
685
674
  prevChildrenById.set(p[idField], child);
686
675
  }
@@ -716,7 +705,7 @@ function updateNodes(parent, obj, prevValue) {
716
705
  let didMove = false;
717
706
  if (parent.descendantHasListener || !hasADiff) {
718
707
  for (let i = 0; i < length; i++) {
719
- const key = isArr ? +keys[i] : keys[i];
708
+ const key = isArr ? keys[i] : keys[i];
720
709
  const value = obj[key];
721
710
  const prev = prevValue === null || prevValue === void 0 ? void 0 : prevValue[key];
722
711
  let isDiff = value !== prev;
@@ -798,8 +787,7 @@ function getProxy(node, p) {
798
787
  }
799
788
  const proxyHandler = {
800
789
  get(node, p) {
801
- var _a, _b;
802
- // Return true is called by isObservable()
790
+ // Return true if called by isObservable()
803
791
  if (p === symbolIsObservable) {
804
792
  return true;
805
793
  }
@@ -809,7 +797,7 @@ const proxyHandler = {
809
797
  if (p === symbolGetNode) {
810
798
  return node;
811
799
  }
812
- const fn = (_b = (_a = node.fns) === null || _a === void 0 ? void 0 : _a[p]) !== null && _b !== void 0 ? _b : objectFns.get(p);
800
+ const fn = objectFns.get(p);
813
801
  // If this is an observable function, call it
814
802
  if (fn) {
815
803
  return function (a, b, c) {
@@ -817,7 +805,16 @@ const proxyHandler = {
817
805
  // Array call and apply are slow so micro-optimize this hot path.
818
806
  // The observable functions depends on the number of arguments so we have to
819
807
  // call it with the correct arguments, not just undefined
820
- return l > 2 ? fn(node, a, b, c) : l > 1 ? fn(node, a, b) : fn(node, a);
808
+ switch (l) {
809
+ case 0:
810
+ return fn(node);
811
+ case 1:
812
+ return fn(node, a);
813
+ case 2:
814
+ return fn(node, a, b);
815
+ default:
816
+ return fn(node, a, b, c);
817
+ }
821
818
  };
822
819
  }
823
820
  const value = peek(node);
@@ -850,7 +847,7 @@ const proxyHandler = {
850
847
  updateTracking(node, true);
851
848
  return function (cbOrig, thisArg) {
852
849
  function cb(_, index, array) {
853
- return cbOrig(getProxy(node, index), index, array);
850
+ return cbOrig(getProxy(node, index + ''), index, array);
854
851
  }
855
852
  return value[p](cb, thisArg);
856
853
  };
@@ -963,9 +960,10 @@ function setKey(node, key, newValue, level) {
963
960
  const parentValue = isRoot ? node.root : ensureNodeValue(node);
964
961
  // Save the previous value first
965
962
  const prevValue = parentValue[key];
963
+ const isFunc = isFunction(newValue);
966
964
  // Compute newValue if newValue is a function or an observable
967
965
  newValue =
968
- !inAssign && isFunction(newValue)
966
+ !inAssign && isFunc
969
967
  ? newValue(prevValue)
970
968
  : isObject(newValue) && (newValue === null || newValue === void 0 ? void 0 : newValue[symbolIsObservable])
971
969
  ? newValue.peek()
@@ -1002,7 +1000,7 @@ function setKey(node, key, newValue, level) {
1002
1000
  notify(isPrim && isRoot ? node : childNode, newValue, prevValue, (level !== null && level !== void 0 ? level : prevValue === undefined) ? -1 : hasADiff ? 0 : 1, whenOptimizedOnlyIf);
1003
1001
  }
1004
1002
  endBatch();
1005
- return isRoot ? getProxy(node) : getProxy(node, key);
1003
+ return isFunc ? newValue : isRoot ? getProxy(node) : getProxy(node, key);
1006
1004
  }
1007
1005
  function assign(node, value) {
1008
1006
  const proxy = getProxy(node);
@@ -1036,7 +1034,6 @@ function createObservable(value, makePrimitive) {
1036
1034
  _: valueIsPromise ? undefined : value,
1037
1035
  };
1038
1036
  const node = {
1039
- id: nextNodeID.current++,
1040
1037
  root,
1041
1038
  };
1042
1039
  const obs = makePrimitive || isActualPrimitive(value)
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/batching.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/setupTracking.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["set","setBase"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/batching.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/setupTracking.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["set","setBase"],"mappings":"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"}
package/index.mjs CHANGED
@@ -176,13 +176,13 @@ function updateTracking(node, track) {
176
176
  if (!tracker.nodes) {
177
177
  tracker.nodes = new Map();
178
178
  }
179
- const existing = tracker.nodes.get(node.id);
179
+ const existing = tracker.nodes.get(node);
180
180
  if (existing) {
181
181
  existing.track = existing.track || track;
182
182
  existing.num++;
183
183
  }
184
184
  else {
185
- tracker.nodes.set(node.id, { node, track, num: 1 });
185
+ tracker.nodes.set(node, { node, track, num: 1 });
186
186
  }
187
187
  }
188
188
  }
@@ -195,7 +195,6 @@ const symbolDelete = /* @__PURE__ */ Symbol('delete');
195
195
  const symbolOpaque = Symbol('opaque');
196
196
  const extraPrimitiveActivators = new Map();
197
197
  const extraPrimitiveProps = new Map();
198
- const nextNodeID = { current: 0 };
199
198
  function checkActivate(node) {
200
199
  const root = node.root;
201
200
  const activate = root.activate;
@@ -213,37 +212,27 @@ function peek(node) {
213
212
  checkActivate(node);
214
213
  return getNodeValue(node);
215
214
  }
215
+ const arrNodeKeys = [];
216
216
  function getNodeValue(node) {
217
- const arr = [];
217
+ let count = 0;
218
218
  let n = node;
219
219
  while (isChildNodeValue(n)) {
220
- arr.push(n.key);
220
+ arrNodeKeys[count++] = n.key;
221
221
  n = n.parent;
222
222
  }
223
223
  let child = node.root._;
224
- for (let i = arr.length - 1; i >= 0; i--) {
225
- if (arr[i] !== undefined && child) {
226
- child = child[arr[i]];
227
- }
224
+ for (let i = count - 1; child && i >= 0; i--) {
225
+ child = child[arrNodeKeys[i]];
228
226
  }
229
227
  return child;
230
228
  }
231
229
  function getChildNode(node, key) {
232
230
  var _a;
233
- // Convert string to number if it's not a BigInt
234
- if (key && isString(key) && key.length < 17) {
235
- const n = +key;
236
- // Convert to number if it's a string representing a valid number
237
- // This is faster than isNaN
238
- if (n - n < 1)
239
- key = n;
240
- }
241
- // Get the child by id if included, or by key
231
+ // Get the child by key
242
232
  let child = (_a = node.children) === null || _a === void 0 ? void 0 : _a.get(key);
243
233
  // Create the child node if it doesn't already exist
244
234
  if (!child) {
245
235
  child = {
246
- id: nextNodeID.current++,
247
236
  root: node.root,
248
237
  parent: node,
249
238
  key,
@@ -678,7 +667,7 @@ function updateNodes(parent, obj, prevValue) {
678
667
  for (let i = 0; i < prevValue.length; i++) {
679
668
  const p = prevValue[i];
680
669
  if (p) {
681
- const child = parent.children.get(i);
670
+ const child = parent.children.get(i + '');
682
671
  if (child) {
683
672
  prevChildrenById.set(p[idField], child);
684
673
  }
@@ -714,7 +703,7 @@ function updateNodes(parent, obj, prevValue) {
714
703
  let didMove = false;
715
704
  if (parent.descendantHasListener || !hasADiff) {
716
705
  for (let i = 0; i < length; i++) {
717
- const key = isArr ? +keys[i] : keys[i];
706
+ const key = isArr ? keys[i] : keys[i];
718
707
  const value = obj[key];
719
708
  const prev = prevValue === null || prevValue === void 0 ? void 0 : prevValue[key];
720
709
  let isDiff = value !== prev;
@@ -796,8 +785,7 @@ function getProxy(node, p) {
796
785
  }
797
786
  const proxyHandler = {
798
787
  get(node, p) {
799
- var _a, _b;
800
- // Return true is called by isObservable()
788
+ // Return true if called by isObservable()
801
789
  if (p === symbolIsObservable) {
802
790
  return true;
803
791
  }
@@ -807,7 +795,7 @@ const proxyHandler = {
807
795
  if (p === symbolGetNode) {
808
796
  return node;
809
797
  }
810
- const fn = (_b = (_a = node.fns) === null || _a === void 0 ? void 0 : _a[p]) !== null && _b !== void 0 ? _b : objectFns.get(p);
798
+ const fn = objectFns.get(p);
811
799
  // If this is an observable function, call it
812
800
  if (fn) {
813
801
  return function (a, b, c) {
@@ -815,7 +803,16 @@ const proxyHandler = {
815
803
  // Array call and apply are slow so micro-optimize this hot path.
816
804
  // The observable functions depends on the number of arguments so we have to
817
805
  // call it with the correct arguments, not just undefined
818
- return l > 2 ? fn(node, a, b, c) : l > 1 ? fn(node, a, b) : fn(node, a);
806
+ switch (l) {
807
+ case 0:
808
+ return fn(node);
809
+ case 1:
810
+ return fn(node, a);
811
+ case 2:
812
+ return fn(node, a, b);
813
+ default:
814
+ return fn(node, a, b, c);
815
+ }
819
816
  };
820
817
  }
821
818
  const value = peek(node);
@@ -848,7 +845,7 @@ const proxyHandler = {
848
845
  updateTracking(node, true);
849
846
  return function (cbOrig, thisArg) {
850
847
  function cb(_, index, array) {
851
- return cbOrig(getProxy(node, index), index, array);
848
+ return cbOrig(getProxy(node, index + ''), index, array);
852
849
  }
853
850
  return value[p](cb, thisArg);
854
851
  };
@@ -961,9 +958,10 @@ function setKey(node, key, newValue, level) {
961
958
  const parentValue = isRoot ? node.root : ensureNodeValue(node);
962
959
  // Save the previous value first
963
960
  const prevValue = parentValue[key];
961
+ const isFunc = isFunction(newValue);
964
962
  // Compute newValue if newValue is a function or an observable
965
963
  newValue =
966
- !inAssign && isFunction(newValue)
964
+ !inAssign && isFunc
967
965
  ? newValue(prevValue)
968
966
  : isObject(newValue) && (newValue === null || newValue === void 0 ? void 0 : newValue[symbolIsObservable])
969
967
  ? newValue.peek()
@@ -1000,7 +998,7 @@ function setKey(node, key, newValue, level) {
1000
998
  notify(isPrim && isRoot ? node : childNode, newValue, prevValue, (level !== null && level !== void 0 ? level : prevValue === undefined) ? -1 : hasADiff ? 0 : 1, whenOptimizedOnlyIf);
1001
999
  }
1002
1000
  endBatch();
1003
- return isRoot ? getProxy(node) : getProxy(node, key);
1001
+ return isFunc ? newValue : isRoot ? getProxy(node) : getProxy(node, key);
1004
1002
  }
1005
1003
  function assign(node, value) {
1006
1004
  const proxy = getProxy(node);
@@ -1034,7 +1032,6 @@ function createObservable(value, makePrimitive) {
1034
1032
  _: valueIsPromise ? undefined : value,
1035
1033
  };
1036
1034
  const node = {
1037
- id: nextNodeID.current++,
1038
1035
  root,
1039
1036
  };
1040
1037
  const obs = makePrimitive || isActualPrimitive(value)