@xbg.solutions/utils-cache-connector 1.0.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/lib/cache-connector.d.ts +139 -0
- package/lib/cache-connector.d.ts.map +1 -0
- package/lib/cache-connector.js +277 -0
- package/lib/cache-connector.js.map +1 -0
- package/lib/index.d.ts +52 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +103 -0
- package/lib/index.js.map +1 -0
- package/lib/providers/base-cache-provider.d.ts +95 -0
- package/lib/providers/base-cache-provider.d.ts.map +1 -0
- package/lib/providers/base-cache-provider.js +120 -0
- package/lib/providers/base-cache-provider.js.map +1 -0
- package/lib/providers/firestore-cache-provider.d.ts +58 -0
- package/lib/providers/firestore-cache-provider.d.ts.map +1 -0
- package/lib/providers/firestore-cache-provider.js +418 -0
- package/lib/providers/firestore-cache-provider.js.map +1 -0
- package/lib/providers/memory-cache-provider.d.ts +57 -0
- package/lib/providers/memory-cache-provider.d.ts.map +1 -0
- package/lib/providers/memory-cache-provider.js +217 -0
- package/lib/providers/memory-cache-provider.js.map +1 -0
- package/lib/providers/noop-cache-provider.d.ts +21 -0
- package/lib/providers/noop-cache-provider.d.ts.map +1 -0
- package/lib/providers/noop-cache-provider.js +42 -0
- package/lib/providers/noop-cache-provider.js.map +1 -0
- package/lib/providers/redis-cache-provider.d.ts +64 -0
- package/lib/providers/redis-cache-provider.d.ts.map +1 -0
- package/lib/providers/redis-cache-provider.js +414 -0
- package/lib/providers/redis-cache-provider.js.map +1 -0
- package/lib/types.d.ts +342 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +8 -0
- package/lib/types.js.map +1 -0
- package/package.json +31 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Cache Provider
|
|
3
|
+
*
|
|
4
|
+
* Abstract base class that all cache providers extend.
|
|
5
|
+
* Provides common functionality and enforces interface compliance.
|
|
6
|
+
*/
|
|
7
|
+
import { CacheProviderType, ICacheProvider, CacheSetOptions, CacheEntry, CacheStats, CacheEntryMetadata } from '../types';
|
|
8
|
+
export declare abstract class BaseCacheProvider implements ICacheProvider {
|
|
9
|
+
protected stats: CacheStats;
|
|
10
|
+
/**
|
|
11
|
+
* Get the provider type
|
|
12
|
+
*/
|
|
13
|
+
abstract getType(): CacheProviderType;
|
|
14
|
+
/**
|
|
15
|
+
* Get a value from cache
|
|
16
|
+
*/
|
|
17
|
+
abstract get<T>(key: string): Promise<T | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Get a value with metadata
|
|
20
|
+
*/
|
|
21
|
+
abstract getWithMetadata<T>(key: string): Promise<CacheEntry<T> | null>;
|
|
22
|
+
/**
|
|
23
|
+
* Set a value in cache
|
|
24
|
+
*/
|
|
25
|
+
abstract set<T>(key: string, value: T, options?: CacheSetOptions): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Delete a specific key
|
|
28
|
+
*/
|
|
29
|
+
abstract delete(key: string): Promise<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a key exists
|
|
32
|
+
*/
|
|
33
|
+
abstract has(key: string): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Invalidate cache entries by tags
|
|
36
|
+
*/
|
|
37
|
+
abstract invalidateByTags(tags: string[]): Promise<number>;
|
|
38
|
+
/**
|
|
39
|
+
* Invalidate cache entries by pattern
|
|
40
|
+
*/
|
|
41
|
+
abstract invalidateByPattern(pattern: string, mode?: 'prefix' | 'suffix' | 'contains'): Promise<number>;
|
|
42
|
+
/**
|
|
43
|
+
* Clear all cache entries
|
|
44
|
+
*/
|
|
45
|
+
abstract clear(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Get cache statistics
|
|
48
|
+
*/
|
|
49
|
+
getStats(): Promise<CacheStats>;
|
|
50
|
+
/**
|
|
51
|
+
* Record a cache hit
|
|
52
|
+
*/
|
|
53
|
+
protected recordHit(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Record a cache miss
|
|
56
|
+
*/
|
|
57
|
+
protected recordMiss(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Record an eviction
|
|
60
|
+
*/
|
|
61
|
+
protected recordEviction(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Record an expiration
|
|
64
|
+
*/
|
|
65
|
+
protected recordExpiration(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Update entry count
|
|
68
|
+
*/
|
|
69
|
+
protected updateEntryCount(count: number): void;
|
|
70
|
+
/**
|
|
71
|
+
* Update cache size
|
|
72
|
+
*/
|
|
73
|
+
protected updateSize(size: number): void;
|
|
74
|
+
/**
|
|
75
|
+
* Check if an entry is expired
|
|
76
|
+
*/
|
|
77
|
+
protected isExpired(expiresAt: Date): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Calculate TTL in milliseconds
|
|
80
|
+
*/
|
|
81
|
+
protected calculateExpiresAt(ttl: number): Date;
|
|
82
|
+
/**
|
|
83
|
+
* Create cache entry metadata
|
|
84
|
+
*/
|
|
85
|
+
protected createMetadata(ttl: number, tags?: string[]): CacheEntryMetadata;
|
|
86
|
+
/**
|
|
87
|
+
* Estimate size of a value in bytes
|
|
88
|
+
*/
|
|
89
|
+
protected estimateSize(value: any): number;
|
|
90
|
+
/**
|
|
91
|
+
* Match key against pattern
|
|
92
|
+
*/
|
|
93
|
+
protected matchPattern(key: string, pattern: string, mode: 'prefix' | 'suffix' | 'contains'): boolean;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=base-cache-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-cache-provider.d.ts","sourceRoot":"","sources":["../../src/providers/base-cache-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,8BAAsB,iBAAkB,YAAW,cAAc;IAC/D,SAAS,CAAC,KAAK,EAAE,UAAU,CAQzB;IAEF;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,iBAAiB;IAErC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAEvE;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhF;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAE1D;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GACtC,OAAO,CAAC,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAQrC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B;;OAEG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAIhC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAIlC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAI7C;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,kBAAkB;IAW9E;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAQ1C;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO;CAYtG"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base Cache Provider
|
|
4
|
+
*
|
|
5
|
+
* Abstract base class that all cache providers extend.
|
|
6
|
+
* Provides common functionality and enforces interface compliance.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.BaseCacheProvider = void 0;
|
|
10
|
+
class BaseCacheProvider {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.stats = {
|
|
13
|
+
hits: 0,
|
|
14
|
+
misses: 0,
|
|
15
|
+
hitRatio: 0,
|
|
16
|
+
entryCount: 0,
|
|
17
|
+
size: 0,
|
|
18
|
+
evictions: 0,
|
|
19
|
+
expirations: 0,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get cache statistics
|
|
24
|
+
*/
|
|
25
|
+
async getStats() {
|
|
26
|
+
// Calculate hit ratio
|
|
27
|
+
const total = this.stats.hits + this.stats.misses;
|
|
28
|
+
this.stats.hitRatio = total > 0 ? this.stats.hits / total : 0;
|
|
29
|
+
return Object.assign({}, this.stats);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Record a cache hit
|
|
33
|
+
*/
|
|
34
|
+
recordHit() {
|
|
35
|
+
this.stats.hits++;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Record a cache miss
|
|
39
|
+
*/
|
|
40
|
+
recordMiss() {
|
|
41
|
+
this.stats.misses++;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Record an eviction
|
|
45
|
+
*/
|
|
46
|
+
recordEviction() {
|
|
47
|
+
this.stats.evictions++;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Record an expiration
|
|
51
|
+
*/
|
|
52
|
+
recordExpiration() {
|
|
53
|
+
this.stats.expirations++;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Update entry count
|
|
57
|
+
*/
|
|
58
|
+
updateEntryCount(count) {
|
|
59
|
+
this.stats.entryCount = count;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Update cache size
|
|
63
|
+
*/
|
|
64
|
+
updateSize(size) {
|
|
65
|
+
this.stats.size = size;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if an entry is expired
|
|
69
|
+
*/
|
|
70
|
+
isExpired(expiresAt) {
|
|
71
|
+
return expiresAt.getTime() < Date.now();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Calculate TTL in milliseconds
|
|
75
|
+
*/
|
|
76
|
+
calculateExpiresAt(ttl) {
|
|
77
|
+
return new Date(Date.now() + ttl * 1000);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create cache entry metadata
|
|
81
|
+
*/
|
|
82
|
+
createMetadata(ttl, tags = []) {
|
|
83
|
+
const now = new Date();
|
|
84
|
+
return {
|
|
85
|
+
createdAt: now,
|
|
86
|
+
expiresAt: this.calculateExpiresAt(ttl),
|
|
87
|
+
hitCount: 0,
|
|
88
|
+
lastAccessedAt: now,
|
|
89
|
+
tags,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Estimate size of a value in bytes
|
|
94
|
+
*/
|
|
95
|
+
estimateSize(value) {
|
|
96
|
+
try {
|
|
97
|
+
return JSON.stringify(value).length * 2; // Rough estimate (UTF-16)
|
|
98
|
+
}
|
|
99
|
+
catch (_a) {
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Match key against pattern
|
|
105
|
+
*/
|
|
106
|
+
matchPattern(key, pattern, mode) {
|
|
107
|
+
switch (mode) {
|
|
108
|
+
case 'prefix':
|
|
109
|
+
return key.startsWith(pattern);
|
|
110
|
+
case 'suffix':
|
|
111
|
+
return key.endsWith(pattern);
|
|
112
|
+
case 'contains':
|
|
113
|
+
return key.includes(pattern);
|
|
114
|
+
default:
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.BaseCacheProvider = BaseCacheProvider;
|
|
120
|
+
//# sourceMappingURL=base-cache-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-cache-provider.js","sourceRoot":"","sources":["../../src/providers/base-cache-provider.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAWH,MAAsB,iBAAiB;IAAvC;QACY,UAAK,GAAe;YAC5B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACf,CAAC;IA6JJ,CAAC;IA3GC;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,yBAAY,IAAI,CAAC,KAAK,EAAG;IAC3B,CAAC;IAED;;OAEG;IACO,SAAS;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACO,UAAU;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACO,cAAc;QACtB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,KAAa;QACtC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,IAAY;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,SAAe;QACjC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,GAAW;QACtC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,GAAW,EAAE,OAAiB,EAAE;QACvD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACvC,QAAQ,EAAE,CAAC;YACX,cAAc,EAAE,GAAG;YACnB,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,YAAY,CAAC,KAAU;QAC/B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;QACrE,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACO,YAAY,CAAC,GAAW,EAAE,OAAe,EAAE,IAAsC;QACzF,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/B,KAAK,UAAU;gBACb,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/B;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;CACF;AAtKD,8CAsKC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Firestore Cache Provider
|
|
3
|
+
*
|
|
4
|
+
* Firestore-based cache provider for distributed caching across function instances.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Shared cache across all function instances
|
|
8
|
+
* - Persistent across cold starts
|
|
9
|
+
* - TTL-based expiration using Firestore timestamps
|
|
10
|
+
* - Tag-based invalidation
|
|
11
|
+
* - Automatic cleanup of expired entries
|
|
12
|
+
*
|
|
13
|
+
* Best for:
|
|
14
|
+
* - Medium-traffic repositories
|
|
15
|
+
* - Data that needs to be shared across instances
|
|
16
|
+
* - Cache data that should survive cold starts
|
|
17
|
+
*
|
|
18
|
+
* Trade-offs:
|
|
19
|
+
* - Latency: ~50-100ms (vs memory ~1-5ms)
|
|
20
|
+
* - Cost: Firestore read/write operations
|
|
21
|
+
* - Size limit: 1MB per document
|
|
22
|
+
*/
|
|
23
|
+
import { BaseCacheProvider } from './base-cache-provider';
|
|
24
|
+
import { CacheProviderType, CacheSetOptions, CacheEntry, FirestoreCacheProviderConfig } from '../types';
|
|
25
|
+
export declare class FirestoreCacheProvider extends BaseCacheProvider {
|
|
26
|
+
private config;
|
|
27
|
+
private db;
|
|
28
|
+
private cleanupInterval;
|
|
29
|
+
constructor(config: FirestoreCacheProviderConfig);
|
|
30
|
+
getType(): CacheProviderType;
|
|
31
|
+
/**
|
|
32
|
+
* Get collection reference
|
|
33
|
+
*/
|
|
34
|
+
private getCollection;
|
|
35
|
+
get<T>(key: string): Promise<T | null>;
|
|
36
|
+
getWithMetadata<T>(key: string): Promise<CacheEntry<T> | null>;
|
|
37
|
+
set<T>(key: string, value: T, options?: CacheSetOptions): Promise<void>;
|
|
38
|
+
delete(key: string): Promise<boolean>;
|
|
39
|
+
has(key: string): Promise<boolean>;
|
|
40
|
+
invalidateByTags(tags: string[]): Promise<number>;
|
|
41
|
+
invalidateByPattern(pattern: string, mode?: 'prefix' | 'suffix' | 'contains'): Promise<number>;
|
|
42
|
+
clear(): Promise<void>;
|
|
43
|
+
cleanup(): Promise<number>;
|
|
44
|
+
getStats(): Promise<any>;
|
|
45
|
+
/**
|
|
46
|
+
* Start automatic cleanup of expired entries
|
|
47
|
+
*/
|
|
48
|
+
private startCleanup;
|
|
49
|
+
/**
|
|
50
|
+
* Stop automatic cleanup
|
|
51
|
+
*/
|
|
52
|
+
stopCleanup(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Cleanup on provider destruction
|
|
55
|
+
*/
|
|
56
|
+
destroy(): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=firestore-cache-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore-cache-provider.d.ts","sourceRoot":"","sources":["../../src/providers/firestore-cache-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAclB,qBAAa,sBAAuB,SAAQ,iBAAiB;IAI/C,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,eAAe,CAA+B;gBAElC,MAAM,EAAE,4BAA4B;IAaxD,OAAO,IAAI,iBAAiB;IAI5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkDtC,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAiD9D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B3E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgClC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BjD,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,QAAQ,GAAG,QAAQ,GAAG,UAAqB,GAChD,OAAO,CAAC,MAAM,CAAC;IA6CZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAiC1B,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IA2B9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|