Function: CacheUpdate()
function CacheUpdate(ProviderClass: Constructor<CacheProvider>, tagExtractor: TagExtractor): (originalMethod: Function, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => Promise<any>;
Defined in: src/data-management/cache/cache-update.decorator.ts:30
Parameters
| Parameter | Type | Description |
|---|---|---|
ProviderClass |
Constructor<CacheProvider> |
La clase del cache provider a usar |
tagExtractor |
TagExtractor |
Función que extrae tags del resultado y argumentos |
Returns
(originalMethod: Function, context: ClassMethodDecoratorContext): (this: any, ...args: any[]) => Promise<any>;
Parameters
| Parameter | Type |
|---|---|
originalMethod |
Function |
context |
ClassMethodDecoratorContext |
Returns
(this: any, ...args: any[]): Promise<any>;
Parameters
| Parameter | Type |
|---|---|
this |
any |
…args |
any[] |
Returns
Promise<any>
Cache Update
Decorator
Actualiza las entradas del cache que coincidan con los tags extraídos del resultado de un método. Útil para mantener el cache sincronizado después de operaciones de actualización (PUT, PATCH, etc.).
Preserva el TTL original de cada entrada del cache.
Example
@CacheUpdate(
LocalStorageCache,
(result) => [`user:${result.id}`]
)
async updateUser(userId: string, data: any): Promise<User> {
const response = await this.httpClient.put(`/users/${userId}`, data);
return response.data;
}