@cemusta/nestjs-pulse
Version:
The modern MongoDB-powered scheduling library pulse for NestJS
18 lines (17 loc) • 691 B
TypeScript
import { ModuleMetadata, Type, FactoryProvider, Provider } from "@nestjs/common";
import { PulseConfig } from "@pulsecron/pulse";
export type PulseModuleConfig = PulseConfig;
export type PulseQueueConfig = Omit<PulseModuleConfig, "mongo" | "db"> & {
autoStart?: boolean;
collection?: string;
};
export interface PulseConfigFactory<T> {
createPulseConfig(): Promise<T> | T;
}
export interface PulseModuleAsyncConfig<T> extends Pick<ModuleMetadata, "imports"> {
useExisting?: Type<PulseConfigFactory<T>>;
useClass?: Type<PulseConfigFactory<T>>;
useFactory?: (...args: any[]) => Promise<T> | T;
inject?: FactoryProvider["inject"];
extraProviders?: Provider[];
}