UNPKG

@leyyo/cache

Version:
19 lines (18 loc) 958 B
import { CacheInfoCheck } from "../types"; import { CacheInvalidatorConsumer, CacheInvalidatorDeleteRequest, CacheInvalidatorInvalidateRequest, CacheInvalidatorNotifyRequest } from "../invalidator"; export interface CacheRemote extends CacheInvalidatorConsumer { readonly id: string; setNotifyLambda(lambda: CacheRemoteNotifyLambda): void; setInvalidateLambda(lambda: CacheRemoteInvalidateLambda): void; setDeleteLambda(lambda: CacheRemoteDeleteLambda): void; get enabled(): boolean; disable(): void; enable(): void; info(check: CacheInfoCheck): Promise<CacheRemoteInfo>; } export interface CacheRemoteInfo { id: string; } export type CacheRemoteNotifyLambda = (data: CacheInvalidatorNotifyRequest) => Promise<unknown>; export type CacheRemoteInvalidateLambda = (data: CacheInvalidatorInvalidateRequest) => Promise<unknown>; export type CacheRemoteDeleteLambda = (data: CacheInvalidatorDeleteRequest) => Promise<unknown>;