UNPKG

alepha

Version:

Easy-to-use modern TypeScript framework for building many kind of applications.

45 lines (38 loc) 1.46 kB
import { $module } from "alepha"; import { AlephaLock } from "alepha/lock"; import { $scheduler } from "./primitives/$scheduler.ts"; import { CronProvider } from "./providers/CronProvider.ts"; import { WorkerdCronProvider } from "./providers/WorkerdCronProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- export * from "./constants/CRON.ts"; export * from "./primitives/$scheduler.ts"; export * from "./providers/CronProvider.ts"; export * from "./providers/WorkerdCronProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- declare module "alepha" { interface Hooks { /** * Cloudflare Workers scheduled event. * * Emitted when a cron trigger fires in Cloudflare Workers. */ "cloudflare:scheduled": { cron: string; scheduledTime: number; }; } } // --------------------------------------------------------------------------------------------------------------------- export const AlephaScheduler = $module({ name: "alepha.scheduler", primitives: [$scheduler], imports: [AlephaLock], services: [CronProvider], variants: [WorkerdCronProvider], register: (alepha) => // Replace CronProvider with WorkerdCronProvider for Cloudflare Workers alepha.with({ provide: CronProvider, use: WorkerdCronProvider, }), });