ts-cache-mongoose
Version:
Cache plugin for mongoose Queries and Aggregate (in-memory, redis)
41 lines (36 loc) • 1.6 kB
text/typescript
import { ModuleMetadata, InjectionToken, OptionalFactoryDependency, Type, DynamicModule, OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import CacheMongoose, { CacheOptions } from '../index.cjs';
import 'mongoose';
import 'ioredis';
type CacheModuleOptions = CacheOptions;
interface CacheOptionsFactory {
createCacheOptions(): CacheModuleOptions | Promise<CacheModuleOptions>;
}
interface CacheModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
isGlobal?: boolean;
inject?: (InjectionToken | OptionalFactoryDependency)[];
useClass?: Type<CacheOptionsFactory>;
useExisting?: Type<CacheOptionsFactory>;
useFactory?: (...args: any[]) => CacheModuleOptions | Promise<CacheModuleOptions>;
}
declare class CacheModule {
static forRoot(options: CacheModuleOptions & {
isGlobal?: boolean;
}): DynamicModule;
static forRootAsync(options: CacheModuleAsyncOptions): DynamicModule;
private static createAsyncProviders;
}
declare const CACHE_OPTIONS: unique symbol;
declare class CacheService implements OnApplicationBootstrap, OnApplicationShutdown {
private readonly logger;
private readonly options;
private cacheMongoose;
constructor(options: CacheModuleOptions);
get instance(): CacheMongoose;
onApplicationBootstrap(): Promise<void>;
onApplicationShutdown(): Promise<void>;
clear(customKey?: string): Promise<void>;
}
export { CACHE_OPTIONS, CacheModule, CacheService };
export type { CacheModuleAsyncOptions, CacheModuleOptions, CacheOptionsFactory };
//# sourceMappingURL=index.d.cts.map