@mapvx/web-js 2.0.1 → 2.0.2-dev.1

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.
@@ -65,6 +65,32 @@ class MVXPlace {
65
65
  this.metadata = rawPlace.metadata;
66
66
  this.visibility = (_k = rawPlace.visibility) !== null && _k !== void 0 ? _k : "public";
67
67
  }
68
+ /**
69
+ * Rebuilds an {@link MVXPlace} from a value that has lost its prototype — e.g. a
70
+ * place rehydrated from the persistent (localStorage) cache, where `JSON.parse`
71
+ * produces a plain object stripped of the class methods.
72
+ *
73
+ * The place's methods only read its own data fields, so restoring the prototype is
74
+ * sufficient; the raw API {@link PlaceResponse} shape is not needed (and would not
75
+ * fit, since a serialized place already carries the mapped `MVXPlace` fields). Live
76
+ * instances and non-object values are returned unchanged.
77
+ *
78
+ * @param value - A cached place value (plain object) or an existing instance.
79
+ * @returns An MVXPlace whose methods (e.g. {@link inFloor}) work again.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const place = MVXPlace.fromCache(cachedValue);
84
+ * place.inFloor(parentFloors); // no longer throws
85
+ * ```
86
+ */
87
+ static fromCache(value) {
88
+ if (value instanceof MVXPlace)
89
+ return value;
90
+ if (value === null || typeof value !== "object")
91
+ return value;
92
+ return Object.assign(Object.create(MVXPlace.prototype), value);
93
+ }
68
94
  /**
69
95
  * Returns the floor in which the place exists as an InnerFloor object.
70
96
  * If no matching available floor is found or if the place is not indoor,
@@ -1 +1 @@
1
- {"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,24 @@ exports.CacheManager = void 0;
4
4
  const cacheConfig_1 = require("./cacheConfig");
5
5
  const LRUCache_1 = require("./LRUCache");
6
6
  const PersistentCache_1 = require("./PersistentCache");
7
+ const place_1 = require("../../domain/models/place");
8
+ /**
9
+ * Per-type revivers restoring class prototypes lost when the persistent cache
10
+ * rehydrates values from localStorage (`JSON.parse` yields plain objects without
11
+ * methods). Only caches that hold class instances need an entry; plain-data caches
12
+ * (routes, configurations, etc.) are left untouched.
13
+ */
14
+ const CACHE_DESERIALIZERS = {
15
+ // `places` stores MVXPlace instances.
16
+ places: (value) => place_1.MVXPlace.fromCache(value),
17
+ // `subPlaces` stores a DataSnapshot wrapping an MVXPlace[].
18
+ subPlaces: (value) => {
19
+ const snapshot = value;
20
+ if (!snapshot || !Array.isArray(snapshot.data))
21
+ return value;
22
+ return Object.assign(Object.assign({}, snapshot), { data: snapshot.data.map((place) => place_1.MVXPlace.fromCache(place)) });
23
+ },
24
+ };
7
25
  /**
8
26
  * CacheManager - Facade for managing multiple typed caches
9
27
  *
@@ -49,15 +67,19 @@ class CacheManager {
49
67
  ];
50
68
  for (const cacheType of cacheTypes) {
51
69
  const cacheConfig = (0, cacheConfig_1.getCacheConfig)(cacheType, (_c = config === null || config === void 0 ? void 0 : config.configs) === null || _c === void 0 ? void 0 : _c[cacheType]);
52
- this.caches.set(cacheType, this.createCache(cacheConfig));
70
+ this.caches.set(cacheType, this.createCache(cacheConfig, CACHE_DESERIALIZERS[cacheType]));
53
71
  }
54
72
  }
55
73
  /**
56
- * Creates a cache instance based on persistence configuration
74
+ * Creates a cache instance based on persistence configuration.
75
+ *
76
+ * @param config - Per-type cache configuration.
77
+ * @param deserialize - Optional reviver forwarded to the persistent cache to
78
+ * rebuild class prototypes when values are rehydrated from localStorage.
57
79
  */
58
- createCache(config) {
80
+ createCache(config, deserialize) {
59
81
  if (this.persistent && config.persistenceKey) {
60
- return new PersistentCache_1.PersistentCache(config, this.maxStorageBytes);
82
+ return new PersistentCache_1.PersistentCache(config, this.maxStorageBytes, deserialize);
61
83
  }
62
84
  return new LRUCache_1.LRUCache(config);
63
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"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"}
@@ -28,12 +28,20 @@ const LRUCache_1 = require("./LRUCache");
28
28
  * ```
29
29
  */
30
30
  class PersistentCache {
31
- constructor(config, maxStorageBytes) {
31
+ /**
32
+ * @param config - Cache configuration (limits, TTL, persistence key).
33
+ * @param maxStorageBytes - Optional per-cache localStorage budget.
34
+ * @param deserialize - Optional reviver applied to each value read back from
35
+ * localStorage. `JSON.parse` strips class prototypes, so values that carry
36
+ * methods (e.g. `MVXPlace`) must be rebuilt here; plain-data caches omit it.
37
+ */
38
+ constructor(config, maxStorageBytes, deserialize) {
32
39
  this.storageAvailable = true;
33
40
  this.lruCache = new LRUCache_1.LRUCache(config);
34
41
  this.persistenceKey = config.persistenceKey || "mvx_cache";
35
42
  this.maxStorageBytes = maxStorageBytes !== null && maxStorageBytes !== void 0 ? maxStorageBytes : cacheConfig_1.DEFAULT_MAX_STORAGE_BYTES;
36
43
  this.ttlMs = config.ttlMs;
44
+ this.deserialize = deserialize;
37
45
  this.hydrate();
38
46
  }
39
47
  get(key) {
@@ -85,8 +93,8 @@ class PersistentCache {
85
93
  if (this.ttlMs > 0 && now - entry.timestamp > this.ttlMs) {
86
94
  continue;
87
95
  }
88
- // Restore to LRU cache
89
- this.lruCache.set(entry.key, entry.value);
96
+ // Restore to LRU cache, reviving class prototypes stripped by JSON when needed.
97
+ this.lruCache.set(entry.key, this.deserialize ? this.deserialize(entry.value) : entry.value);
90
98
  }
91
99
  }
92
100
  catch (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"PersistentCache.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/PersistentCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PersistentCache.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/PersistentCache.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const browser_1 = require("@sentry/browser");
9
9
  // replaced with the package version by scripts/inject-build-defines.js. The DSN
10
10
  // falls back to the public MapVX Sentry project DSN when none is injected at
11
11
  // build time — a DSN's public key is safe to ship in the client bundle.
12
- const SDK_VERSION = typeof VERSION !== "undefined" ? VERSION : "2.0.1";
12
+ const SDK_VERSION = typeof VERSION !== "undefined" ? VERSION : "2.0.2-dev.1";
13
13
  const DSN = typeof SENTRY_DSN !== "undefined" && SENTRY_DSN
14
14
  ? SENTRY_DSN
15
15
  : "https://872f598f020e3cd73a0933b562d24c81@sentry.mapvx.app/5";
@@ -191,6 +191,26 @@ export declare class MVXPlace {
191
191
  * ```
192
192
  */
193
193
  constructor(rawPlace: PlaceResponse);
194
+ /**
195
+ * Rebuilds an {@link MVXPlace} from a value that has lost its prototype — e.g. a
196
+ * place rehydrated from the persistent (localStorage) cache, where `JSON.parse`
197
+ * produces a plain object stripped of the class methods.
198
+ *
199
+ * The place's methods only read its own data fields, so restoring the prototype is
200
+ * sufficient; the raw API {@link PlaceResponse} shape is not needed (and would not
201
+ * fit, since a serialized place already carries the mapped `MVXPlace` fields). Live
202
+ * instances and non-object values are returned unchanged.
203
+ *
204
+ * @param value - A cached place value (plain object) or an existing instance.
205
+ * @returns An MVXPlace whose methods (e.g. {@link inFloor}) work again.
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * const place = MVXPlace.fromCache(cachedValue);
210
+ * place.inFloor(parentFloors); // no longer throws
211
+ * ```
212
+ */
213
+ static fromCache(value: unknown): MVXPlace;
194
214
  /**
195
215
  * Returns the floor in which the place exists as an InnerFloor object.
196
216
  * If no matching available floor is found or if the place is not indoor,
@@ -1 +1 @@
1
- {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAQ;IACnB;;OAEG;IACI,OAAO,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,WAAW,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEhC;;;OAGG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,SAAS,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAEjC;;OAEG;IACI,eAAe,EAAE,MAAM,CAAA;IAE9B;;;;OAIG;IACI,WAAW,EAAE,UAAU,EAAE,CAAA;IAEhC;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B;;OAEG;IACI,mBAAmB,EAAE,MAAM,CAAA;IAElC;;;OAGG;IACI,YAAY,CAAC,EAAE,YAAY,CAAA;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACI,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAEtC;;OAEG;IACI,IAAI,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,MAAM,EAAE,MAAM,EAAE,CAAA;IAEvB;;;OAGG;IACI,OAAO,EAAE,MAAM,EAAE,CAAA;IAExB;;;OAGG;IACI,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IAE9B;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,UAAU,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACI,IAAI,EAAE,MAAM,EAAE,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB;;OAEG;IACI,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;IAEpD;;;;;;;;;;;OAWG;gBACS,QAAQ,EAAE,aAAa;IA0CnC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS;IAQhE;;;OAGG;IACH,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAQ;IACnB;;OAEG;IACI,OAAO,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,WAAW,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEhC;;;OAGG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,SAAS,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAEjC;;OAEG;IACI,eAAe,EAAE,MAAM,CAAA;IAE9B;;;;OAIG;IACI,WAAW,EAAE,UAAU,EAAE,CAAA;IAEhC;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B;;OAEG;IACI,mBAAmB,EAAE,MAAM,CAAA;IAElC;;;OAGG;IACI,YAAY,CAAC,EAAE,YAAY,CAAA;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACI,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAEtC;;OAEG;IACI,IAAI,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,MAAM,EAAE,MAAM,EAAE,CAAA;IAEvB;;;OAGG;IACI,OAAO,EAAE,MAAM,EAAE,CAAA;IAExB;;;OAGG;IACI,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IAE9B;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,UAAU,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACI,IAAI,EAAE,MAAM,EAAE,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB;;OAEG;IACI,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;IAEpD;;;;;;;;;;;OAWG;gBACS,QAAQ,EAAE,aAAa;IA0CnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;IAM1C;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS;IAQhE;;;OAGG;IACH,QAAQ,IAAI,MAAM;CAGnB"}
@@ -62,6 +62,32 @@ export class MVXPlace {
62
62
  this.metadata = rawPlace.metadata;
63
63
  this.visibility = (_k = rawPlace.visibility) !== null && _k !== void 0 ? _k : "public";
64
64
  }
65
+ /**
66
+ * Rebuilds an {@link MVXPlace} from a value that has lost its prototype — e.g. a
67
+ * place rehydrated from the persistent (localStorage) cache, where `JSON.parse`
68
+ * produces a plain object stripped of the class methods.
69
+ *
70
+ * The place's methods only read its own data fields, so restoring the prototype is
71
+ * sufficient; the raw API {@link PlaceResponse} shape is not needed (and would not
72
+ * fit, since a serialized place already carries the mapped `MVXPlace` fields). Live
73
+ * instances and non-object values are returned unchanged.
74
+ *
75
+ * @param value - A cached place value (plain object) or an existing instance.
76
+ * @returns An MVXPlace whose methods (e.g. {@link inFloor}) work again.
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * const place = MVXPlace.fromCache(cachedValue);
81
+ * place.inFloor(parentFloors); // no longer throws
82
+ * ```
83
+ */
84
+ static fromCache(value) {
85
+ if (value instanceof MVXPlace)
86
+ return value;
87
+ if (value === null || typeof value !== "object")
88
+ return value;
89
+ return Object.assign(Object.create(MVXPlace.prototype), value);
90
+ }
65
91
  /**
66
92
  * Returns the floor in which the place exists as an InnerFloor object.
67
93
  * If no matching available floor is found or if the place is not indoor,
@@ -1 +1 @@
1
- {"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,11 @@ export declare class CacheManager {
32
32
  private readonly maxStorageBytes;
33
33
  constructor(config?: CacheManagerConfig);
34
34
  /**
35
- * Creates a cache instance based on persistence configuration
35
+ * Creates a cache instance based on persistence configuration.
36
+ *
37
+ * @param config - Per-type cache configuration.
38
+ * @param deserialize - Optional reviver forwarded to the persistent cache to
39
+ * rebuild class prototypes when values are rehydrated from localStorage.
36
40
  */
37
41
  private createCache;
38
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAIf,MAAM,eAAe,CAAA;AAuBtB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE5B,MAAM,CAAC,EAAE,kBAAkB;IAuBvC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKpD;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKrD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAO3C,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKjD,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAKlD,gBAAgB,IAAI,IAAI;IAMxB,kBAAkB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAK3D,kBAAkB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAK5D,0BAA0B,IAAI,IAAI;IAMlC,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKlF,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAOnF,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAK9D,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAO/D,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKtD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAOvD,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKpD;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrD,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKnE;;;;;OAKG;IACH,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAOpE;;OAEG;IACH,aAAa,IAAI,IAAI;IAMrB;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAwBtC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU;IAQ/C;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;CASlD"}
@@ -1,6 +1,24 @@
1
1
  import { DEFAULT_MAX_STORAGE_BYTES, getCacheConfig, } from "./cacheConfig";
2
2
  import { LRUCache } from "./LRUCache";
3
3
  import { PersistentCache } from "./PersistentCache";
4
+ import { MVXPlace } from "../../domain/models/place";
5
+ /**
6
+ * Per-type revivers restoring class prototypes lost when the persistent cache
7
+ * rehydrates values from localStorage (`JSON.parse` yields plain objects without
8
+ * methods). Only caches that hold class instances need an entry; plain-data caches
9
+ * (routes, configurations, etc.) are left untouched.
10
+ */
11
+ const CACHE_DESERIALIZERS = {
12
+ // `places` stores MVXPlace instances.
13
+ places: (value) => MVXPlace.fromCache(value),
14
+ // `subPlaces` stores a DataSnapshot wrapping an MVXPlace[].
15
+ subPlaces: (value) => {
16
+ const snapshot = value;
17
+ if (!snapshot || !Array.isArray(snapshot.data))
18
+ return value;
19
+ return Object.assign(Object.assign({}, snapshot), { data: snapshot.data.map((place) => MVXPlace.fromCache(place)) });
20
+ },
21
+ };
4
22
  /**
5
23
  * CacheManager - Facade for managing multiple typed caches
6
24
  *
@@ -46,15 +64,19 @@ export class CacheManager {
46
64
  ];
47
65
  for (const cacheType of cacheTypes) {
48
66
  const cacheConfig = getCacheConfig(cacheType, (_c = config === null || config === void 0 ? void 0 : config.configs) === null || _c === void 0 ? void 0 : _c[cacheType]);
49
- this.caches.set(cacheType, this.createCache(cacheConfig));
67
+ this.caches.set(cacheType, this.createCache(cacheConfig, CACHE_DESERIALIZERS[cacheType]));
50
68
  }
51
69
  }
52
70
  /**
53
- * Creates a cache instance based on persistence configuration
71
+ * Creates a cache instance based on persistence configuration.
72
+ *
73
+ * @param config - Per-type cache configuration.
74
+ * @param deserialize - Optional reviver forwarded to the persistent cache to
75
+ * rebuild class prototypes when values are rehydrated from localStorage.
54
76
  */
55
- createCache(config) {
77
+ createCache(config, deserialize) {
56
78
  if (this.persistent && config.persistenceKey) {
57
- return new PersistentCache(config, this.maxStorageBytes);
79
+ return new PersistentCache(config, this.maxStorageBytes, deserialize);
58
80
  }
59
81
  return new LRUCache(config);
60
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,16 @@ export declare class PersistentCache<T> implements ICache<T> {
29
29
  private readonly persistenceKey;
30
30
  private readonly maxStorageBytes;
31
31
  private readonly ttlMs;
32
+ private readonly deserialize?;
32
33
  private storageAvailable;
33
- constructor(config: CacheConfig, maxStorageBytes?: number);
34
+ /**
35
+ * @param config - Cache configuration (limits, TTL, persistence key).
36
+ * @param maxStorageBytes - Optional per-cache localStorage budget.
37
+ * @param deserialize - Optional reviver applied to each value read back from
38
+ * localStorage. `JSON.parse` strips class prototypes, so values that carry
39
+ * methods (e.g. `MVXPlace`) must be rebuilt here; plain-data caches omit it.
40
+ */
41
+ constructor(config: CacheConfig, maxStorageBytes?: number, deserialize?: (value: T) => T);
34
42
  get(key: string): T | undefined;
35
43
  set(key: string, value: T): void;
36
44
  has(key: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PersistentCache.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/cache/PersistentCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAqBhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,gBAAgB,CAAgB;gBAE5B,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM;IASzD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAKhC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,MAAM,EAAE;IAIhB,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,OAAO,CAAC,OAAO;IAiCf;;OAEG;IACH,OAAO,CAAC,OAAO;IAmCf;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAU3B"}
1
+ {"version":3,"file":"PersistentCache.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/cache/PersistentCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAqBhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAiB;IAC9C,OAAO,CAAC,gBAAgB,CAAgB;IAExC;;;;;;OAMG;gBACS,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;IAUxF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAKhC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,MAAM,EAAE;IAIhB,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,OAAO,CAAC,OAAO;IAiCf;;OAEG;IACH,OAAO,CAAC,OAAO;IAmCf;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -25,12 +25,20 @@ import { LRUCache } from "./LRUCache";
25
25
  * ```
26
26
  */
27
27
  export class PersistentCache {
28
- constructor(config, maxStorageBytes) {
28
+ /**
29
+ * @param config - Cache configuration (limits, TTL, persistence key).
30
+ * @param maxStorageBytes - Optional per-cache localStorage budget.
31
+ * @param deserialize - Optional reviver applied to each value read back from
32
+ * localStorage. `JSON.parse` strips class prototypes, so values that carry
33
+ * methods (e.g. `MVXPlace`) must be rebuilt here; plain-data caches omit it.
34
+ */
35
+ constructor(config, maxStorageBytes, deserialize) {
29
36
  this.storageAvailable = true;
30
37
  this.lruCache = new LRUCache(config);
31
38
  this.persistenceKey = config.persistenceKey || "mvx_cache";
32
39
  this.maxStorageBytes = maxStorageBytes !== null && maxStorageBytes !== void 0 ? maxStorageBytes : DEFAULT_MAX_STORAGE_BYTES;
33
40
  this.ttlMs = config.ttlMs;
41
+ this.deserialize = deserialize;
34
42
  this.hydrate();
35
43
  }
36
44
  get(key) {
@@ -82,8 +90,8 @@ export class PersistentCache {
82
90
  if (this.ttlMs > 0 && now - entry.timestamp > this.ttlMs) {
83
91
  continue;
84
92
  }
85
- // Restore to LRU cache
86
- this.lruCache.set(entry.key, entry.value);
93
+ // Restore to LRU cache, reviving class prototypes stripped by JSON when needed.
94
+ this.lruCache.set(entry.key, this.deserialize ? this.deserialize(entry.value) : entry.value);
87
95
  }
88
96
  }
89
97
  catch (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"PersistentCache.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/PersistentCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAmBrC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,eAAe;IAO1B,YAAY,MAAmB,EAAE,eAAwB;QAFjD,qBAAgB,GAAY,IAAI,CAAA;QAGtC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAI,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,WAAW,CAAA;QAC1D,IAAI,CAAC,eAAe,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,yBAAyB,CAAA;QACnE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAEzB,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACjC,CAAC;IAED;;OAEG;IACK,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACxD,IAAI,CAAC,MAAM;gBAAE,OAAM;YAEnB,MAAM,IAAI,GAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,OAAM;YACR,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAEtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzD,SAAQ;gBACV,CAAC;gBAED,uBAAuB;gBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,2DAA2D;YAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAM;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,GAAyB,EAAE,CAAA;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YAEjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG;wBACH,KAAK;wBACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;qBACvB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAqB,EAAE,OAAO,EAAE,CAAA;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAEvC,sBAAsB;YACtB,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7C,gCAAgC;gBAChC,OAAM;YACR,CAAC;YAED,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QACvD,CAAC;QAAC,WAAM,CAAC;YACP,wCAAwC;YACxC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAM;QAElC,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC9C,CAAC;QAAC,WAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAA;YAClC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACtC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAChC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"PersistentCache.js","sourceRoot":"","sources":["../../../../src/infrastructure/cache/PersistentCache.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { BrowserClient, defaultStackParser, getDefaultIntegrations, makeFetchTra
5
5
  // replaced with the package version by scripts/inject-build-defines.js. The DSN
6
6
  // falls back to the public MapVX Sentry project DSN when none is injected at
7
7
  // build time — a DSN's public key is safe to ship in the client bundle.
8
- const SDK_VERSION = typeof VERSION !== "undefined" ? VERSION : "2.0.1";
8
+ const SDK_VERSION = typeof VERSION !== "undefined" ? VERSION : "2.0.2-dev.1";
9
9
  const DSN = typeof SENTRY_DSN !== "undefined" && SENTRY_DSN
10
10
  ? SENTRY_DSN
11
11
  : "https://872f598f020e3cd73a0933b562d24c81@sentry.mapvx.app/5";