@@ -33,6 +33,12 @@ export interface ClientSideCacheConfig {
3333 * Defaults to false if not specified.
3434 */
3535 enableMetrics ?: boolean ;
36+
37+ /**
38+ * Whether to use server-assisted (invalidation-based) caching mode.
39+ * Defaults to false if not specified.
40+ */
41+ serverAssisted ?: boolean ;
3642}
3743
3844/**
@@ -48,6 +54,11 @@ export interface ClientSideCacheOptions {
4854 * Whether to enable metrics collection for this cache.
4955 */
5056 enableMetrics ?: boolean ;
57+
58+ /**
59+ * Whether to use server-assisted (invalidation-based) caching mode.
60+ */
61+ serverAssisted ?: boolean ;
5162}
5263
5364/**
@@ -99,6 +110,11 @@ export class ClientSideCache {
99110 */
100111 readonly enableMetrics : boolean ;
101112
113+ /**
114+ * Whether server-assisted caching mode is enabled.
115+ */
116+ readonly serverAssisted : boolean ;
117+
102118 /**
103119 * Creates a new ClientSideCache instance.
104120 *
@@ -122,6 +138,7 @@ export class ClientSideCache {
122138 this . entryTtlMs = config . entryTtlMs ;
123139 this . evictionPolicy = config . evictionPolicy ;
124140 this . enableMetrics = config . enableMetrics ?? false ;
141+ this . serverAssisted = config . serverAssisted ?? false ;
125142 }
126143
127144 /**
@@ -156,6 +173,7 @@ export class ClientSideCache {
156173 entryTtlMs,
157174 evictionPolicy : options ?. evictionPolicy ,
158175 enableMetrics : options ?. enableMetrics ,
176+ serverAssisted : options ?. serverAssisted ,
159177 } ) ;
160178 }
161179}
0 commit comments