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;
}