diff --git a/package.json b/package.json index 167742b..3302d20 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@pushrocks/lik": "^4.0.17", "@pushrocks/smartdelay": "^2.0.10", "@pushrocks/smartpromise": "^3.0.2", + "croner": "^1.1.23", "dayjs": "^1.8.35", "is-nan": "^1.3.0" }, diff --git a/ts/smarttime.classes.cronjob.ts b/ts/smarttime.classes.cronjob.ts index 8657a35..d6c3091 100644 --- a/ts/smarttime.classes.cronjob.ts +++ b/ts/smarttime.classes.cronjob.ts @@ -6,7 +6,7 @@ import { CronParser } from './smarttime.classes.cronparser'; export type TJobFunction = (() => void) | (() => Promise); export class CronJob { - public cronParser: CronParser; + public cronParser: CronParser | typeof plugins.croner; public status: 'started' | 'stopped' | 'initial' = 'initial'; public cronExpression: string; public jobFunction: TJobFunction; @@ -15,7 +15,7 @@ export class CronJob { constructor(cronManager: CronManager, cronExpressionArg: string, jobFunction: TJobFunction) { this.cronExpression = cronExpressionArg; this.jobFunction = jobFunction; - this.cronParser = new CronParser(cronExpressionArg); + this.cronParser = plugins.croner(cronExpressionArg); } /** @@ -43,7 +43,7 @@ export class CronJob { * gets the time to next execution */ public getTimeToNextExecution() { - return this.cronParser.getMsToNextTimeMatch(); + return this.cronParser.msToNext(); } public start() { diff --git a/ts/smarttime.classes.cronparser.ts b/ts/smarttime.classes.cronparser.ts index 03333cc..a04131a 100644 --- a/ts/smarttime.classes.cronparser.ts +++ b/ts/smarttime.classes.cronparser.ts @@ -33,7 +33,7 @@ export class CronParser { } } - public getMsToNextTimeMatch() { + public msToNext() { const cronArray = this.cronArray; const secondExpression = cronArray[0]; const minuteExpression = cronArray[1]; diff --git a/ts/smarttime.plugins.ts b/ts/smarttime.plugins.ts index aead7db..e67ab30 100644 --- a/ts/smarttime.plugins.ts +++ b/ts/smarttime.plugins.ts @@ -6,6 +6,7 @@ import * as smartpromise from '@pushrocks/smartpromise'; export { lik, smartdelay, smartpromise }; // third parties +import croner from 'croner'; import dayjs from 'dayjs'; -export { dayjs }; +export { croner, dayjs };