@yiin/reactive-proxy-state 1.0.30 → 1.0.31

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/dist/index.cjs CHANGED
@@ -2465,8 +2465,12 @@ function evictDescendantsFromPathCache(root, pathKey) {
2465
2465
  const cache = pathCache.get(root);
2466
2466
  if (!cache)
2467
2467
  return;
2468
- const prefix = pathKey + ".";
2469
2468
  let evicted = 0;
2469
+ if (cache.has(pathKey)) {
2470
+ cache.delete(pathKey);
2471
+ evicted++;
2472
+ }
2473
+ const prefix = pathKey + ".";
2470
2474
  for (const key of cache.keys()) {
2471
2475
  if (key.startsWith(prefix)) {
2472
2476
  cache.delete(key);
package/dist/index.js CHANGED
@@ -2405,8 +2405,12 @@ function evictDescendantsFromPathCache(root, pathKey) {
2405
2405
  const cache = pathCache.get(root);
2406
2406
  if (!cache)
2407
2407
  return;
2408
- const prefix = pathKey + ".";
2409
2408
  let evicted = 0;
2409
+ if (cache.has(pathKey)) {
2410
+ cache.delete(pathKey);
2411
+ evicted++;
2412
+ }
2413
+ const prefix = pathKey + ".";
2410
2414
  for (const key of cache.keys()) {
2411
2415
  if (key.startsWith(prefix)) {
2412
2416
  cache.delete(key);
package/dist/utils.d.ts CHANGED
@@ -6,9 +6,9 @@ export declare function deepEqual(a: any, b: any, seen?: WeakMap<any, any>): boo
6
6
  export declare function getFromPathCache(root: object, pathKey: string): any | undefined;
7
7
  export declare function setInPathCache(root: object, pathKey: string, value: any): void;
8
8
  /**
9
- * Evict all cached paths that are descendants of the given path prefix.
10
- * Called when a value at `pathKey` is replaced so that deeper cached references
11
- * (which now point to the old, detached object) are not reused.
9
+ * Evict the cached path entry at `pathKey` AND all its descendants.
10
+ * Called when a value at `pathKey` is replaced so that the stale cached reference
11
+ * (and any deeper ones) are not reused on subsequent mutations.
12
12
  */
13
13
  export declare function evictDescendantsFromPathCache(root: object, pathKey: string): void;
14
14
  export declare function getPathConcat(path: string): any[] | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yiin/reactive-proxy-state",
3
- "version": "1.0.30",
3
+ "version": "1.0.31",
4
4
  "author": "Yiin <stanislovas@yiin.lt>",
5
5
  "repository": {
6
6
  "type": "git",