Browse Source

chore: Comment out the unused caching utilities (so they're not mistakenly used).

pull/151/head
Trent Larson 3 days ago
parent
commit
5971f0976a
  1. 194
      src/utils/PlatformServiceMixin.ts

194
src/utils/PlatformServiceMixin.ts

@ -59,14 +59,14 @@ import {
// TYPESCRIPT INTERFACES
// =================================================
/**
* Cache entry interface for storing data with TTL
*/
interface CacheEntry<T> {
data: T;
timestamp: number;
ttl: number; // milliseconds
}
// /**
// * Cache entry interface for storing data with TTL
// */
// interface CacheEntry<T> {
// data: T;
// timestamp: number;
// ttl: number; // milliseconds
// }
/**
* Vue component interface that uses the PlatformServiceMixin
@ -79,21 +79,21 @@ interface VueComponentWithMixin {
platformService(): PlatformService;
}
/**
* Global cache store for mixin instances
* Uses WeakMap to avoid memory leaks when components are destroyed
*/
const componentCaches = new WeakMap<
VueComponentWithMixin,
Map<string, CacheEntry<unknown>>
>();
/**
* Cache configuration constants
*/
const CACHE_DEFAULTS = {
default: 15000, // 15 seconds default TTL
} as const;
// /**
// * Global cache store for mixin instances
// * Uses WeakMap to avoid memory leaks when components are destroyed
// */
// const componentCaches = new WeakMap<
// VueComponentWithMixin,
// Map<string, CacheEntry<unknown>>
// >();
//
// /**
// * Cache configuration constants
// */
// const CACHE_DEFAULTS = {
// default: 15000, // 15 seconds default TTL
// } as const;
const _memoryLogs: string[] = [];
@ -203,8 +203,8 @@ export const PlatformServiceMixin = {
logger.debug(
`[PlatformServiceMixin] ActiveDid updated from ${oldDid} to ${newDid}`,
);
// Clear caches that might be affected by the change
this.$clearAllCaches();
// // Clear caches that might be affected by the change
// this.$clearAllCaches();
}
},
@ -256,71 +256,71 @@ export const PlatformServiceMixin = {
return (value as T) || defaultValue;
},
// =================================================
// CACHING UTILITY METHODS
// =================================================
/**
* Get or initialize cache for this component instance
*/
_getCache(): Map<string, CacheEntry<unknown>> {
let cache = componentCaches.get(this as unknown as VueComponentWithMixin);
if (!cache) {
cache = new Map();
componentCaches.set(this as unknown as VueComponentWithMixin, cache);
}
return cache;
},
/**
* Check if cache entry is valid (not expired)
*/
_isCacheValid(entry: CacheEntry<unknown>): boolean {
return Date.now() - entry.timestamp < entry.ttl;
},
/**
* Get data from cache if valid, otherwise return null
*/
_getCached<T>(key: string): T | null {
const cache = this._getCache();
const entry = cache.get(key);
if (entry && this._isCacheValid(entry)) {
return entry.data as T;
}
cache.delete(key); // Clean up expired entries
return null;
},
/**
* Store data in cache with TTL
*/
_setCached<T>(key: string, data: T, ttl?: number): T {
const cache = this._getCache();
const actualTtl = ttl || CACHE_DEFAULTS.default;
cache.set(key, {
data,
timestamp: Date.now(),
ttl: actualTtl,
});
return data;
},
/**
* Invalidate specific cache entry
*/
_invalidateCache(key: string): void {
const cache = this._getCache();
cache.delete(key);
},
/**
* Clear all cache entries for this component
*/
_clearCache(): void {
const cache = this._getCache();
cache.clear();
},
// // =================================================
// // CACHING UTILITY METHODS
// // =================================================
// /**
// * Get or initialize cache for this component instance
// */
// _getCache(): Map<string, CacheEntry<unknown>> {
// let cache = componentCaches.get(this as unknown as VueComponentWithMixin);
// if (!cache) {
// cache = new Map();
// componentCaches.set(this as unknown as VueComponentWithMixin, cache);
// }
// return cache;
// },
// /**
// * Check if cache entry is valid (not expired)
// */
// _isCacheValid(entry: CacheEntry<unknown>): boolean {
// return Date.now() - entry.timestamp < entry.ttl;
// },
// /**
// * Get data from cache if valid, otherwise return null
// */
// _getCached<T>(key: string): T | null {
// const cache = this._getCache();
// const entry = cache.get(key);
// if (entry && this._isCacheValid(entry)) {
// return entry.data as T;
// }
// cache.delete(key); // Clean up expired entries
// return null;
// },
// /**
// * Store data in cache with TTL
// */
// _setCached<T>(key: string, data: T, ttl?: number): T {
// const cache = this._getCache();
// const actualTtl = ttl || CACHE_DEFAULTS.default;
// cache.set(key, {
// data,
// timestamp: Date.now(),
// ttl: actualTtl,
// });
// return data;
// },
// /**
// * Invalidate specific cache entry
// */
// _invalidateCache(key: string): void {
// const cache = this._getCache();
// cache.delete(key);
// },
// /**
// * Clear all cache entries for this component
// */
// _clearCache(): void {
// const cache = this._getCache();
// cache.clear();
// },
// =================================================
// ENHANCED DATABASE METHODS (with error handling)
@ -872,13 +872,13 @@ export const PlatformServiceMixin = {
return await this.$contacts();
},
/**
* Clear all caches for this component - $clearAllCaches()
* Useful for manual cache management
*/
$clearAllCaches(): void {
this._clearCache();
},
// /**
// * Clear all caches for this component - $clearAllCaches()
// * Useful for manual cache management
// */
// $clearAllCaches(): void {
// this._clearCache();
// },
// =================================================
// HIGH-LEVEL ENTITY OPERATIONS (eliminate verbose SQL patterns)

Loading…
Cancel
Save