@memberjunction/core 2.127.0 → 2.129.0
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/__tests__/mocks/TestMetadataProvider.d.ts +4 -2
- package/dist/__tests__/mocks/TestMetadataProvider.d.ts.map +1 -1
- package/dist/__tests__/mocks/TestMetadataProvider.js +9 -3
- package/dist/__tests__/mocks/TestMetadataProvider.js.map +1 -1
- package/dist/generic/RegisterForStartup.d.ts +228 -0
- package/dist/generic/RegisterForStartup.d.ts.map +1 -0
- package/dist/generic/RegisterForStartup.js +233 -0
- package/dist/generic/RegisterForStartup.js.map +1 -0
- package/dist/generic/baseEngine.d.ts +191 -8
- package/dist/generic/baseEngine.d.ts.map +1 -1
- package/dist/generic/baseEngine.js +360 -14
- package/dist/generic/baseEngine.js.map +1 -1
- package/dist/generic/baseEngineRegistry.d.ts +247 -0
- package/dist/generic/baseEngineRegistry.d.ts.map +1 -0
- package/dist/generic/baseEngineRegistry.js +470 -0
- package/dist/generic/baseEngineRegistry.js.map +1 -0
- package/dist/generic/entityInfo.d.ts +50 -0
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +56 -0
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/graphqlTypeNames.d.ts +90 -0
- package/dist/generic/graphqlTypeNames.d.ts.map +1 -0
- package/dist/generic/graphqlTypeNames.js +119 -0
- package/dist/generic/graphqlTypeNames.js.map +1 -0
- package/dist/generic/interfaces.d.ts +234 -3
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/localCacheManager.d.ts +388 -0
- package/dist/generic/localCacheManager.d.ts.map +1 -0
- package/dist/generic/localCacheManager.js +856 -0
- package/dist/generic/localCacheManager.js.map +1 -0
- package/dist/generic/providerBase.d.ts +227 -13
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +751 -6
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/queryInfo.d.ts +18 -0
- package/dist/generic/queryInfo.d.ts.map +1 -1
- package/dist/generic/queryInfo.js +18 -0
- package/dist/generic/queryInfo.js.map +1 -1
- package/dist/generic/queryInfoInterfaces.d.ts +17 -0
- package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
- package/dist/generic/runQuery.d.ts +30 -0
- package/dist/generic/runQuery.d.ts.map +1 -1
- package/dist/generic/runQuery.js +13 -0
- package/dist/generic/runQuery.js.map +1 -1
- package/dist/generic/telemetryManager.d.ts +628 -0
- package/dist/generic/telemetryManager.d.ts.map +1 -0
- package/dist/generic/telemetryManager.js +1011 -0
- package/dist/generic/telemetryManager.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +25 -0
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js +4 -5
- package/dist/views/runView.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { BaseSingleton } from "@memberjunction/global";
|
|
2
|
+
import { DatasetItemFilterType, DatasetResultType, ILocalStorageProvider } from "./interfaces";
|
|
3
|
+
import { RunViewParams } from "../views/runView";
|
|
4
|
+
/**
|
|
5
|
+
* The type of cache entry: dataset, runview, or runquery
|
|
6
|
+
*/
|
|
7
|
+
export type CacheEntryType = 'dataset' | 'runview' | 'runquery';
|
|
8
|
+
/**
|
|
9
|
+
* Information about a cached entry, used for the registry and dashboard display
|
|
10
|
+
*/
|
|
11
|
+
export interface CacheEntryInfo {
|
|
12
|
+
/** Storage key */
|
|
13
|
+
key: string;
|
|
14
|
+
/** Type of cache entry */
|
|
15
|
+
type: CacheEntryType;
|
|
16
|
+
/** Dataset name, Entity name, or Query name */
|
|
17
|
+
name: string;
|
|
18
|
+
/** For RunView/RunQuery deduplication */
|
|
19
|
+
fingerprint?: string;
|
|
20
|
+
/** Original params (expandable in UI) */
|
|
21
|
+
params?: Record<string, unknown>;
|
|
22
|
+
/** Cache timestamp */
|
|
23
|
+
cachedAt: number;
|
|
24
|
+
/** Last read timestamp */
|
|
25
|
+
lastAccessedAt: number;
|
|
26
|
+
/** Hit count */
|
|
27
|
+
accessCount: number;
|
|
28
|
+
/** Approximate size in bytes */
|
|
29
|
+
sizeBytes: number;
|
|
30
|
+
/** Server timestamp for freshness check */
|
|
31
|
+
maxUpdatedAt?: string;
|
|
32
|
+
/** Row count for cache validation (used with smart cache check) */
|
|
33
|
+
rowCount?: number;
|
|
34
|
+
/** Optional TTL expiry timestamp */
|
|
35
|
+
expiresAt?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Statistics about the cache
|
|
39
|
+
*/
|
|
40
|
+
export interface CacheStats {
|
|
41
|
+
/** Total number of cached entries */
|
|
42
|
+
totalEntries: number;
|
|
43
|
+
/** Total size of all cached data in bytes */
|
|
44
|
+
totalSizeBytes: number;
|
|
45
|
+
/** Breakdown by cache entry type */
|
|
46
|
+
byType: Record<CacheEntryType, {
|
|
47
|
+
count: number;
|
|
48
|
+
sizeBytes: number;
|
|
49
|
+
}>;
|
|
50
|
+
/** Timestamp of oldest cache entry */
|
|
51
|
+
oldestEntry: number;
|
|
52
|
+
/** Timestamp of newest cache entry */
|
|
53
|
+
newestEntry: number;
|
|
54
|
+
/** Number of cache hits since initialization */
|
|
55
|
+
hits: number;
|
|
56
|
+
/** Number of cache misses since initialization */
|
|
57
|
+
misses: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Configuration for the LocalCacheManager
|
|
61
|
+
*/
|
|
62
|
+
export interface LocalCacheManagerConfig {
|
|
63
|
+
/** Whether caching is enabled */
|
|
64
|
+
enabled: boolean;
|
|
65
|
+
/** Maximum cache size in bytes (default: 50MB) */
|
|
66
|
+
maxSizeBytes: number;
|
|
67
|
+
/** Maximum number of cache entries (default: 1000) */
|
|
68
|
+
maxEntries: number;
|
|
69
|
+
/** Default TTL in milliseconds (default: 5 minutes) */
|
|
70
|
+
defaultTTLMs: number;
|
|
71
|
+
/** Eviction policy when cache is full */
|
|
72
|
+
evictionPolicy: 'lru' | 'lfu' | 'fifo';
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Storage categories for organizing cache data.
|
|
76
|
+
* These map to IndexedDB object stores or localStorage key prefixes.
|
|
77
|
+
*/
|
|
78
|
+
export declare const CacheCategory: {
|
|
79
|
+
/** Cache for RunView results */
|
|
80
|
+
readonly RunViewCache: "RunViewCache";
|
|
81
|
+
/** Cache for RunQuery results */
|
|
82
|
+
readonly RunQueryCache: "RunQueryCache";
|
|
83
|
+
/** Cache for Dataset results */
|
|
84
|
+
readonly DatasetCache: "DatasetCache";
|
|
85
|
+
/** Cache for metadata */
|
|
86
|
+
readonly Metadata: "Metadata";
|
|
87
|
+
/** Default category for uncategorized data */
|
|
88
|
+
readonly Default: "default";
|
|
89
|
+
};
|
|
90
|
+
export type CacheCategory = typeof CacheCategory[keyof typeof CacheCategory];
|
|
91
|
+
/**
|
|
92
|
+
* LocalCacheManager is a singleton that provides a unified caching abstraction
|
|
93
|
+
* for datasets, RunView results, and RunQuery results. It wraps ILocalStorageProvider
|
|
94
|
+
* for actual storage and maintains an internal registry of all cached items.
|
|
95
|
+
*
|
|
96
|
+
* Key features:
|
|
97
|
+
* - Typed methods for datasets, RunViews, and RunQueries
|
|
98
|
+
* - Automatic cache metadata tracking (timestamps, access counts, sizes)
|
|
99
|
+
* - Hit/miss statistics for performance monitoring
|
|
100
|
+
* - Eviction policies (LRU, LFU, FIFO) for memory management
|
|
101
|
+
* - Dashboard-friendly registry queries
|
|
102
|
+
*
|
|
103
|
+
* Usage:
|
|
104
|
+
* ```typescript
|
|
105
|
+
* // Initialize during app startup
|
|
106
|
+
* await LocalCacheManager.Instance.Initialize(storageProvider);
|
|
107
|
+
*
|
|
108
|
+
* // Cache a dataset
|
|
109
|
+
* await LocalCacheManager.Instance.SetDataset('MyDataset', filters, dataset, keyPrefix);
|
|
110
|
+
*
|
|
111
|
+
* // Retrieve cached data
|
|
112
|
+
* const cached = await LocalCacheManager.Instance.GetDataset('MyDataset', filters, keyPrefix);
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare class LocalCacheManager extends BaseSingleton<LocalCacheManager> {
|
|
116
|
+
/**
|
|
117
|
+
* Returns the singleton instance of LocalCacheManager
|
|
118
|
+
*/
|
|
119
|
+
static get Instance(): LocalCacheManager;
|
|
120
|
+
private _storageProvider;
|
|
121
|
+
private _registry;
|
|
122
|
+
private _initialized;
|
|
123
|
+
private _initializePromise;
|
|
124
|
+
private _stats;
|
|
125
|
+
private _config;
|
|
126
|
+
private readonly REGISTRY_KEY;
|
|
127
|
+
protected constructor();
|
|
128
|
+
/**
|
|
129
|
+
* Initialize the cache manager with a storage provider.
|
|
130
|
+
* This should be called during app startup after the storage provider is available.
|
|
131
|
+
*
|
|
132
|
+
* This method is safe to call multiple times - subsequent calls will return the same
|
|
133
|
+
* promise as the first caller, ensuring initialization only happens once.
|
|
134
|
+
*
|
|
135
|
+
* @param storageProvider - The local storage provider to use for persistence
|
|
136
|
+
* @param config - Optional configuration overrides
|
|
137
|
+
* @returns A promise that resolves when initialization is complete
|
|
138
|
+
*/
|
|
139
|
+
Initialize(storageProvider: ILocalStorageProvider, config?: Partial<LocalCacheManagerConfig>): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Internal initialization logic - only called once by the first caller
|
|
142
|
+
*/
|
|
143
|
+
private doInitialize;
|
|
144
|
+
/**
|
|
145
|
+
* Returns whether the cache manager has been initialized
|
|
146
|
+
*/
|
|
147
|
+
get IsInitialized(): boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Returns the current configuration
|
|
150
|
+
*/
|
|
151
|
+
get Config(): LocalCacheManagerConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Updates the configuration at runtime
|
|
154
|
+
*/
|
|
155
|
+
UpdateConfig(config: Partial<LocalCacheManagerConfig>): void;
|
|
156
|
+
/**
|
|
157
|
+
* Stores a dataset in the local cache.
|
|
158
|
+
*
|
|
159
|
+
* @param name - The dataset name
|
|
160
|
+
* @param itemFilters - Optional filters applied to the dataset
|
|
161
|
+
* @param dataset - The dataset result to cache
|
|
162
|
+
* @param keyPrefix - Prefix for the cache key (typically includes connection info)
|
|
163
|
+
*/
|
|
164
|
+
SetDataset(name: string, itemFilters: DatasetItemFilterType[] | undefined, dataset: DatasetResultType, keyPrefix: string): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Retrieves a cached dataset.
|
|
167
|
+
*
|
|
168
|
+
* @param name - The dataset name
|
|
169
|
+
* @param itemFilters - Optional filters applied to the dataset
|
|
170
|
+
* @param keyPrefix - Prefix for the cache key
|
|
171
|
+
* @returns The cached dataset or null if not found
|
|
172
|
+
*/
|
|
173
|
+
GetDataset(name: string, itemFilters: DatasetItemFilterType[] | undefined, keyPrefix: string): Promise<DatasetResultType | null>;
|
|
174
|
+
/**
|
|
175
|
+
* Gets the timestamp of a cached dataset.
|
|
176
|
+
*
|
|
177
|
+
* @param name - The dataset name
|
|
178
|
+
* @param itemFilters - Optional filters applied to the dataset
|
|
179
|
+
* @param keyPrefix - Prefix for the cache key
|
|
180
|
+
* @returns The cache timestamp or null if not found
|
|
181
|
+
*/
|
|
182
|
+
GetDatasetTimestamp(name: string, itemFilters: DatasetItemFilterType[] | undefined, keyPrefix: string): Promise<Date | null>;
|
|
183
|
+
/**
|
|
184
|
+
* Clears a cached dataset.
|
|
185
|
+
*
|
|
186
|
+
* @param name - The dataset name
|
|
187
|
+
* @param itemFilters - Optional filters applied to the dataset
|
|
188
|
+
* @param keyPrefix - Prefix for the cache key
|
|
189
|
+
*/
|
|
190
|
+
ClearDataset(name: string, itemFilters: DatasetItemFilterType[] | undefined, keyPrefix: string): Promise<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Checks if a dataset is cached.
|
|
193
|
+
*
|
|
194
|
+
* @param name - The dataset name
|
|
195
|
+
* @param itemFilters - Optional filters applied to the dataset
|
|
196
|
+
* @param keyPrefix - Prefix for the cache key
|
|
197
|
+
* @returns True if the dataset is cached
|
|
198
|
+
*/
|
|
199
|
+
IsDatasetCached(name: string, itemFilters: DatasetItemFilterType[] | undefined, keyPrefix: string): Promise<boolean>;
|
|
200
|
+
/**
|
|
201
|
+
* Generates a human-readable cache fingerprint for a RunView request.
|
|
202
|
+
* This fingerprint uniquely identifies the query based on its parameters and connection.
|
|
203
|
+
*
|
|
204
|
+
* Format: EntityName|filter|orderBy|resultType|maxRows|startRow|connection
|
|
205
|
+
* Example: Users|Active=1|Name ASC|simple|100|0|localhost
|
|
206
|
+
*
|
|
207
|
+
* @param params - The RunView parameters
|
|
208
|
+
* @param connectionPrefix - Prefix identifying the connection (e.g., server URL) to differentiate caches across connections
|
|
209
|
+
* @returns A unique, human-readable fingerprint string
|
|
210
|
+
*/
|
|
211
|
+
GenerateRunViewFingerprint(params: RunViewParams, connectionPrefix?: string): string;
|
|
212
|
+
/**
|
|
213
|
+
* Stores a RunView result in the cache.
|
|
214
|
+
*
|
|
215
|
+
* @param fingerprint - The cache fingerprint (from GenerateRunViewFingerprint)
|
|
216
|
+
* @param params - The original RunView parameters
|
|
217
|
+
* @param results - The results to cache
|
|
218
|
+
* @param maxUpdatedAt - The latest __mj_UpdatedAt from the results
|
|
219
|
+
* @param rowCount - Optional row count (defaults to results.length if not provided)
|
|
220
|
+
*/
|
|
221
|
+
SetRunViewResult(fingerprint: string, params: RunViewParams, results: unknown[], maxUpdatedAt: string, rowCount?: number): Promise<void>;
|
|
222
|
+
/**
|
|
223
|
+
* Retrieves a cached RunView result.
|
|
224
|
+
*
|
|
225
|
+
* @param fingerprint - The cache fingerprint
|
|
226
|
+
* @returns The cached results, maxUpdatedAt, and rowCount, or null if not found
|
|
227
|
+
*/
|
|
228
|
+
GetRunViewResult(fingerprint: string): Promise<{
|
|
229
|
+
results: unknown[];
|
|
230
|
+
maxUpdatedAt: string;
|
|
231
|
+
rowCount: number;
|
|
232
|
+
} | null>;
|
|
233
|
+
/**
|
|
234
|
+
* Invalidates a cached RunView result.
|
|
235
|
+
*
|
|
236
|
+
* @param fingerprint - The cache fingerprint to invalidate
|
|
237
|
+
*/
|
|
238
|
+
InvalidateRunViewResult(fingerprint: string): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* Invalidates all cached RunView results for a specific entity.
|
|
241
|
+
* Useful when an entity's data changes and all related caches should be cleared.
|
|
242
|
+
*
|
|
243
|
+
* @param entityName - The entity name to invalidate
|
|
244
|
+
*/
|
|
245
|
+
InvalidateEntityCaches(entityName: string): Promise<void>;
|
|
246
|
+
/**
|
|
247
|
+
* Generates a human-readable cache fingerprint for a RunQuery request.
|
|
248
|
+
*
|
|
249
|
+
* Format: QueryName|QueryID|params|connection
|
|
250
|
+
* Example: GetActiveUsers|abc123|{"status":"active"}|localhost
|
|
251
|
+
*
|
|
252
|
+
* @param queryId - The query ID
|
|
253
|
+
* @param queryName - The query name
|
|
254
|
+
* @param parameters - Optional query parameters
|
|
255
|
+
* @param connectionPrefix - Prefix identifying the connection (e.g., server URL) to differentiate caches across connections
|
|
256
|
+
* @returns A unique, human-readable fingerprint string
|
|
257
|
+
*/
|
|
258
|
+
GenerateRunQueryFingerprint(queryId?: string, queryName?: string, parameters?: Record<string, unknown>, connectionPrefix?: string): string;
|
|
259
|
+
/**
|
|
260
|
+
* Stores a RunQuery result in the cache.
|
|
261
|
+
*
|
|
262
|
+
* @param fingerprint - The cache fingerprint
|
|
263
|
+
* @param queryName - The query name for display
|
|
264
|
+
* @param results - The results to cache
|
|
265
|
+
* @param maxUpdatedAt - The latest update timestamp (for smart cache validation)
|
|
266
|
+
* @param rowCount - Optional row count (defaults to results.length if not provided)
|
|
267
|
+
* @param queryId - Optional query ID for reference
|
|
268
|
+
* @param ttlMs - Optional TTL in milliseconds (for cache expiry tracking)
|
|
269
|
+
*/
|
|
270
|
+
SetRunQueryResult(fingerprint: string, queryName: string, results: unknown[], maxUpdatedAt: string, rowCount?: number, queryId?: string, ttlMs?: number): Promise<void>;
|
|
271
|
+
/**
|
|
272
|
+
* Retrieves a cached RunQuery result.
|
|
273
|
+
*
|
|
274
|
+
* @param fingerprint - The cache fingerprint
|
|
275
|
+
* @returns The cached results, maxUpdatedAt, rowCount, and queryId, or null if not found
|
|
276
|
+
*/
|
|
277
|
+
GetRunQueryResult(fingerprint: string): Promise<{
|
|
278
|
+
results: unknown[];
|
|
279
|
+
maxUpdatedAt: string;
|
|
280
|
+
rowCount: number;
|
|
281
|
+
queryId?: string;
|
|
282
|
+
} | null>;
|
|
283
|
+
/**
|
|
284
|
+
* Invalidates a cached RunQuery result.
|
|
285
|
+
*
|
|
286
|
+
* @param fingerprint - The cache fingerprint to invalidate
|
|
287
|
+
*/
|
|
288
|
+
InvalidateRunQueryResult(fingerprint: string): Promise<void>;
|
|
289
|
+
/**
|
|
290
|
+
* Invalidates all cached RunQuery results for a specific query.
|
|
291
|
+
* Useful when a query's underlying data changes and all related caches should be cleared.
|
|
292
|
+
*
|
|
293
|
+
* @param queryName - The query name to invalidate
|
|
294
|
+
*/
|
|
295
|
+
InvalidateQueryCaches(queryName: string): Promise<void>;
|
|
296
|
+
/**
|
|
297
|
+
* Gets the cache status (fingerprint data) for a RunQuery result.
|
|
298
|
+
* Used for smart cache validation with the server.
|
|
299
|
+
*
|
|
300
|
+
* @param fingerprint - The cache fingerprint
|
|
301
|
+
* @returns The cache status with maxUpdatedAt and rowCount, or null if not found/expired
|
|
302
|
+
*/
|
|
303
|
+
GetRunQueryCacheStatus(fingerprint: string): Promise<{
|
|
304
|
+
maxUpdatedAt: string;
|
|
305
|
+
rowCount: number;
|
|
306
|
+
} | null>;
|
|
307
|
+
/**
|
|
308
|
+
* Returns all cache entries for dashboard display.
|
|
309
|
+
*/
|
|
310
|
+
GetAllEntries(): CacheEntryInfo[];
|
|
311
|
+
/**
|
|
312
|
+
* Returns cache entries filtered by type.
|
|
313
|
+
*
|
|
314
|
+
* @param type - The cache entry type to filter by
|
|
315
|
+
*/
|
|
316
|
+
GetEntriesByType(type: CacheEntryType): CacheEntryInfo[];
|
|
317
|
+
/**
|
|
318
|
+
* Returns comprehensive cache statistics.
|
|
319
|
+
*/
|
|
320
|
+
GetStats(): CacheStats;
|
|
321
|
+
/**
|
|
322
|
+
* Calculates the cache hit rate as a percentage.
|
|
323
|
+
*/
|
|
324
|
+
GetHitRate(): number;
|
|
325
|
+
/**
|
|
326
|
+
* Clears all cache entries of a specific type.
|
|
327
|
+
*
|
|
328
|
+
* @param type - The cache entry type to clear
|
|
329
|
+
* @returns The number of entries cleared
|
|
330
|
+
*/
|
|
331
|
+
ClearByType(type: CacheEntryType): Promise<number>;
|
|
332
|
+
/**
|
|
333
|
+
* Clears all cache entries.
|
|
334
|
+
*
|
|
335
|
+
* @returns The number of entries cleared
|
|
336
|
+
*/
|
|
337
|
+
ClearAll(): Promise<number>;
|
|
338
|
+
/**
|
|
339
|
+
* Resets the hit/miss statistics.
|
|
340
|
+
*/
|
|
341
|
+
ResetStats(): void;
|
|
342
|
+
/**
|
|
343
|
+
* Maps a cache entry type to its storage category.
|
|
344
|
+
*/
|
|
345
|
+
private getCategoryForType;
|
|
346
|
+
/**
|
|
347
|
+
* Builds a cache key for a dataset.
|
|
348
|
+
*/
|
|
349
|
+
private buildDatasetKey;
|
|
350
|
+
/**
|
|
351
|
+
* Registers a cache entry in the registry.
|
|
352
|
+
*/
|
|
353
|
+
private registerEntry;
|
|
354
|
+
/**
|
|
355
|
+
* Unregisters a cache entry from the registry.
|
|
356
|
+
*/
|
|
357
|
+
private unregisterEntry;
|
|
358
|
+
/**
|
|
359
|
+
* Records an access to a cache entry (updates lastAccessedAt and accessCount).
|
|
360
|
+
*/
|
|
361
|
+
private recordAccess;
|
|
362
|
+
/**
|
|
363
|
+
* Loads the registry from storage.
|
|
364
|
+
*/
|
|
365
|
+
private loadRegistry;
|
|
366
|
+
private _persistTimeout;
|
|
367
|
+
/**
|
|
368
|
+
* Debounced registry persistence to avoid too many writes.
|
|
369
|
+
*/
|
|
370
|
+
private debouncedPersistRegistry;
|
|
371
|
+
/**
|
|
372
|
+
* Persists the registry to storage.
|
|
373
|
+
*/
|
|
374
|
+
private persistRegistry;
|
|
375
|
+
/**
|
|
376
|
+
* Estimates the size of a string in bytes.
|
|
377
|
+
*/
|
|
378
|
+
private estimateSize;
|
|
379
|
+
/**
|
|
380
|
+
* Evicts entries if needed to make room for new data.
|
|
381
|
+
*/
|
|
382
|
+
private evictIfNeeded;
|
|
383
|
+
/**
|
|
384
|
+
* Evicts entries based on the configured eviction policy.
|
|
385
|
+
*/
|
|
386
|
+
private evict;
|
|
387
|
+
}
|
|
388
|
+
//# sourceMappingURL=localCacheManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
|