From 9e0fee5f0028a40f32ea4590c8f92bb229e664bb Mon Sep 17 00:00:00 2001 From: Taylor Schley Date: Tue, 22 Feb 2022 15:50:08 -0600 Subject: [PATCH] feat: better types --- types/index.d.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index a4dc851..e97ce69 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -58,11 +58,11 @@ declare class Bree extends EventEmitter { } declare namespace Bree { - interface JobOptions { - name?: string; - path?: string | (() => void); - timeout?: number | string | boolean; - interval?: number | string; + interface Job { + name: string; + path: string | (() => void); + timeout: number | string | boolean; + interval: number | string; date?: Date; cron?: string; hasSeconds?: boolean; @@ -73,6 +73,8 @@ declare namespace Bree { timezone?: string; } + type JobOptions = Required> & Partial>; + interface BreeConfigs { logger: Record; root: string | boolean; @@ -82,7 +84,7 @@ declare namespace Bree { timeout: number | boolean; interval: number; timezone: string; - jobs: Array void) | JobOptions>; + jobs: JobOptions[]; hasSeconds: boolean; cronValidate: Record; closeWorkerAfterMs: number; @@ -94,7 +96,9 @@ declare namespace Bree { outputWorkerMetadata: boolean; } - type BreeOptions = Partial; + type BreeOptions = Partial & { + jobs?: Array void) | JobOptions>; + }; type PluginFunc = (options: T, c: typeof Bree) => void;