type alias SchedulerJobDefinition
Since 0.3.0

The declarative form of one scheduler job registration — the entry an application writes instead of calling cron()/every()/delay() imperatively after start().

A union discriminated on trigger: each arm carries exactly the field its scheduling strategy needs (expression for cron, intervalMs for every, delayMs for delay), so a cron entry without an expression — the one mistake that would otherwise produce a job that silently never fires — is a COMPILE error rather than a runtime one.

Definition

{ readonly trigger: "cron"; readonly name: string; readonly expression: string; readonly handler: SchedulerJobHandler; readonly data?: unknown; readonly retry?: RetryOptions; }
| { readonly trigger: "every"; readonly name: string; readonly intervalMs: number; readonly handler: SchedulerJobHandler; readonly data?: unknown; readonly retry?: RetryOptions; }
| { readonly trigger: "delay"; readonly name: string; readonly delayMs: number; readonly handler: SchedulerJobHandler; readonly data?: unknown; readonly retry?: RetryOptions; }

Usage

import { type SchedulerJobDefinition } from "scheduler-plugin/src/index.ts";