cachly
Version:
Type-safe, production-ready in-memory cache system for Node.js and TypeScript with advanced features.
35 lines • 1.26 kB
TypeScript
interface Request {
method: string;
originalUrl: string;
params: any;
}
interface Response {
statusCode: number;
send(body: any): Response;
json(body: any): Response;
}
interface NextFunction {
(error?: any): void;
}
import { Cachly } from '../Cachly';
export interface CacheMiddlewareOptions {
cache: Cachly;
keyGenerator?: (req: Request) => string;
ttl?: number;
tags?: string[] | ((req: Request) => string[]);
dependsOn?: string[] | ((req: Request) => string[]);
skip?: (req: Request) => boolean;
varyBy?: string[];
statusCodes?: number[];
}
export declare function createCacheMiddleware(options: CacheMiddlewareOptions): (req: Request, res: Response, next: NextFunction) => Promise<void | Response>;
export declare function createInvalidateMiddleware(options: {
cache: Cachly;
tags?: string[] | ((req: Request) => string[]);
keys?: string[] | ((req: Request) => string[]);
pattern?: string | ((req: Request) => string);
}): (req: Request, _: Response, next: NextFunction) => Promise<void>;
export declare const cacheMiddleware: typeof createCacheMiddleware;
export declare const invalidateMiddleware: typeof createInvalidateMiddleware;
export {};
//# sourceMappingURL=express.d.ts.map