lakutata
Version:
An IoC-based universal application framework.
53 lines (50 loc) • 1.92 kB
TypeScript
import { Cache } from './TypeDef.internal.17.js';
import { CacherOptions } from './TypeDef.internal.98.js';
import { Component } from './TypeDef.internal.96.js';
import { CacheStoreOptions } from './TypeDef.internal.99.js';
import { ComponentOptionsBuilder } from './TypeDef.internal.100.js';
declare const BuildCacherOptions: ComponentOptionsBuilder<CacherOptions>;
type MultipleSetInput = {
key: string;
value: any;
ttl?: number;
};
type OnSetEventData = {
key: string;
value: any;
error?: Error;
};
type OnDelEventData = {
key: string;
error?: Error;
};
type OnRefreshEventData = {
key: string;
value: any;
error?: Error;
};
declare class Cacher extends Component {
protected readonly stores?: CacheStoreOptions[] | CacheStoreOptions;
protected readonly ttl?: number;
protected readonly refreshThreshold?: number;
protected readonly refreshAllStores?: boolean;
protected readonly nonBlocking?: boolean;
protected readonly cacheId?: string;
protected cache: Cache;
protected init(): Promise<void>;
protected destroy(): Promise<void>;
set<T>(key: string, value: T, ttl?: number): Promise<T>;
multipleSet(options: MultipleSetInput[]): Promise<MultipleSetInput[]>;
get<T = any>(key: string): Promise<T>;
multipleGet(keys: string[]): Promise<any[]>;
getTTL(key: string): Promise<number>;
del(key: string): Promise<boolean>;
multipleDel(keys: string[]): Promise<boolean>;
clear(): Promise<boolean>;
on(event: 'set', listener: (data: OnSetEventData) => void): this;
on(event: 'del', listener: (data: OnDelEventData) => void): this;
on(event: 'clear', listener: (error?: Error) => void): this;
on(event: 'refresh', listener: (data: OnRefreshEventData) => void): this;
}
export { BuildCacherOptions, Cacher };
export type { MultipleSetInput, OnDelEventData, OnRefreshEventData, OnSetEventData };