@leyyo/cache
Version:
Common cache library
19 lines (18 loc) • 958 B
TypeScript
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>;