diff options
Diffstat (limited to 'ext/cron')
-rw-r--r-- | ext/cron/01_cron.ts | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/ext/cron/01_cron.ts b/ext/cron/01_cron.ts index b3d417e3c..84e5c7fff 100644 --- a/ext/cron/01_cron.ts +++ b/ext/cron/01_cron.ts @@ -84,9 +84,7 @@ function cron( handlerOrOptions1: | (() => Promise<void> | void) | ({ backoffSchedule?: number[]; signal?: AbortSignal }), - handlerOrOptions2?: - | (() => Promise<void> | void) - | ({ backoffSchedule?: number[]; signal?: AbortSignal }), + handler2?: () => Promise<void> | void, ) { if (name === undefined) { throw new TypeError("Deno.cron requires a unique name"); @@ -98,16 +96,17 @@ function cron( schedule = parseScheduleToString(schedule); let handler: () => Promise<void> | void; - let options: { backoffSchedule?: number[]; signal?: AbortSignal } | undefined; + let options: + | { backoffSchedule?: number[]; signal?: AbortSignal } + | undefined = undefined; if (typeof handlerOrOptions1 === "function") { handler = handlerOrOptions1; - if (typeof handlerOrOptions2 === "function") { - throw new TypeError("options must be an object"); + if (handler2 !== undefined) { + throw new TypeError("Deno.cron requires a single handler"); } - options = handlerOrOptions2; - } else if (typeof handlerOrOptions2 === "function") { - handler = handlerOrOptions2; + } else if (typeof handler2 === "function") { + handler = handler2; options = handlerOrOptions1; } else { throw new TypeError("Deno.cron requires a handler"); |