mastercache
Version:
Multi-tier cache module for Node.js. Redis, Upstash, CloudfareKV, File, in-memory and others drivers
50 lines (47 loc) • 1.81 kB
TypeScript
import { E as Emitter, e as CacheEvent } from '../../../events-CkqPK7En.js';
import { Bus } from '../../bus/bus.js';
import { LocalCache } from '../facades/local-cache.js';
import { RemoteCache } from '../facades/remote-cache.js';
import { BaseDriver } from '../../drivers/base-driver.js';
import { MasterCacheOptions } from '../../mastercache-options.js';
import { CacheEntryOptions } from '../cache-entry/cache-entry-options.js';
import { d as CacheStackDrivers } from '../../../mastercache-Di19srNZ.js';
import { Logger } from 'typescript-log';
import { CacheBusMessage } from '../../types/bus.js';
import '@boringnode/bus/types/main';
import '../cache-entry/cache-entry.js';
import '../../types/driver.js';
import '../../types/provider.js';
import '../../types/helpers.js';
import '../../types/options/methods-options.js';
import '../../types/options/options.js';
import '../../types/options/drivers-options.js';
import 'knex';
import 'kysely';
import '@aws-sdk/client-dynamodb';
import 'ioredis';
import 'orchid-orm';
declare class CacheStack extends BaseDriver {
#private;
name: string;
options: MasterCacheOptions;
l1?: LocalCache;
l2?: RemoteCache;
bus?: Bus;
defaultOptions: CacheEntryOptions;
logger: Logger;
constructor(name: string, options: MasterCacheOptions, drivers: CacheStackDrivers, bus?: Bus);
get emitter(): Emitter;
namespace(namespace: string): CacheStack;
/**
* Publish a message to the bus channel
*
* @returns true if the message was published, false if not
* and undefined if a bus is not part of the stack
*/
publish(message: CacheBusMessage): Promise<boolean | undefined>;
emit(event: CacheEvent): void;
serialize(value: any): string;
deserialize(value: string): any;
}
export { CacheStack };