croner 4.0.79 → 4.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/croner.cjs +5 -1
- package/dist/croner.min.js +1 -1
- package/dist/croner.min.js.map +1 -1
- package/dist/croner.min.mjs +1 -1
- package/dist/croner.min.mjs.map +1 -1
- package/package.json +2 -1
- package/src/croner.js +5 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# Croner
|
|
7
7
|
|
|
8
8
|
 [](https://badge.fury.io/js/croner) [](https://www.codacy.com/gh/Hexagon/croner/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Hexagon/croner&utm_campaign=Badge_Grade)
|
|
9
|
-
[](https://github.com/Hexagon/croner/blob/master/LICENSE) [](https://github.com/Hexagon/croner/blob/master/LICENSE) [](https://www.npmjs.org/package/croner)
|
|
10
10
|
[](https://discord.gg/VgpuJ48K8K)
|
|
11
11
|
|
|
12
12
|
* Trigger functions in JavaScript using [Cron](https://en.wikipedia.org/wiki/Cron#CRON_expression) syntax.
|
|
@@ -37,7 +37,7 @@ console.log(Math.floor(msLeft/1000/3600/24) + " days left to next christmas eve"
|
|
|
37
37
|
|
|
38
38
|
More [examples](#examples)...
|
|
39
39
|
|
|
40
|
-
## Why another javascript cron implementation
|
|
40
|
+
## Why another javascript cron implementation
|
|
41
41
|
|
|
42
42
|
Because the existing ones isn't good enough. They have serious bugs, use bloated dependencies, does not work in all environments and/or just doesn't work as expected.
|
|
43
43
|
|
package/dist/croner.cjs
CHANGED
|
@@ -863,8 +863,12 @@
|
|
|
863
863
|
*/
|
|
864
864
|
Cron.prototype.schedule = function (func) {
|
|
865
865
|
|
|
866
|
+
// If a function is already scheduled, bail out
|
|
867
|
+
if (func && this.fn) {
|
|
868
|
+
throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");
|
|
869
|
+
|
|
866
870
|
// Update function if passed
|
|
867
|
-
if (func) {
|
|
871
|
+
} else if (func) {
|
|
868
872
|
this.fn = func;
|
|
869
873
|
}
|
|
870
874
|
|
package/dist/croner.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.Cron=factory())})(this,function(){"use strict";function convertTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronDate(date,timezone){this.timezone=timezone;if(date&&date instanceof Date){this.fromDate(date)}else if(date===void 0){this.fromDate(new Date)}else if(date&&typeof date==="string"){this.fromString(date)}else if(date instanceof CronDate){this.fromCronDate(date)}else{throw new TypeError("CronDate: Invalid type ("+typeof date+") passed as parameter to CronDate constructor")}}CronDate.prototype.fromDate=function(date,fromLocal){if(this.timezone&&!fromLocal){date=convertTZ(date,this.timezone)}this.milliseconds=date.getMilliseconds();this.seconds=date.getSeconds();this.minutes=date.getMinutes();this.hours=date.getHours();this.days=date.getDate();this.months=date.getMonth();this.years=date.getFullYear()};CronDate.prototype.fromCronDate=function(date){this.timezone=date.timezone;this.milliseconds=date.milliseconds;this.seconds=date.seconds;this.minutes=date.minutes;this.hours=date.hours;this.days=date.days;this.months=date.months;this.years=date.years};CronDate.prototype.apply=function(){const newDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);this.milliseconds=newDate.getMilliseconds();this.seconds=newDate.getSeconds();this.minutes=newDate.getMinutes();this.hours=newDate.getHours();this.days=newDate.getDate();this.months=newDate.getMonth();this.years=newDate.getFullYear()};CronDate.prototype.fromString=function(str){const parsedDate=this.parseISOLocal(str);if(isNaN(parsedDate)){throw new TypeError("CronDate: Provided string value for CronDate could not be parsed as date.")}this.fromDate(parsedDate,true)};CronDate.prototype.increment=function(pattern,rerun){if(!rerun){this.seconds+=1}this.milliseconds=0;const origTime=this.getTime(),findNext=(target,pattern,offset,override)=>{const startPos=override===void 0?this[target]+offset:0+offset;for(let i=startPos;i<pattern[target].length;i++){if(pattern[target][i]){this[target]=i-offset;return true}}return false},resetPrevious=()=>{while(doing>=0){findNext(toDo[doing][0],pattern,toDo[doing][2],0);doing--}};const toDo=[["seconds","minutes",0],["minutes","hours",0],["hours","days",0],["days","months",-1],["months","years",0]];let doing=0;while(doing<5){if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious()}if(this.years>=4e3){return null}doing++}while(!pattern.daysOfWeek[this.getDate(true).getDay()]){this.days+=1;doing=2;resetPrevious()}if(origTime!=this.getTime()){this.apply();return this.increment(pattern,true)}else{return this}};CronDate.prototype.getDate=function(internal){const targetDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);if(internal||!this.timezone){return targetDate}else{const offset=convertTZ(targetDate,this.timezone).getTime()-targetDate.getTime();return new Date(targetDate.getTime()-offset)}};CronDate.prototype.getTime=function(internal){return this.getDate(internal).getTime()};CronDate.prototype.parseISOLocal=function(dateTimeString){const dateTimeStringSplit=dateTimeString.split(/\D/);if(dateTimeStringSplit.length<6){return NaN}const year=parseInt(dateTimeStringSplit[0],10),month=parseInt(dateTimeStringSplit[1],10),day=parseInt(dateTimeStringSplit[2],10),hour=parseInt(dateTimeStringSplit[3],10),minute=parseInt(dateTimeStringSplit[4],10),second=parseInt(dateTimeStringSplit[5],10);if(isNaN(year)||isNaN(month)||isNaN(day)||isNaN(hour)||isNaN(minute)||isNaN(second)){return NaN}else{return new Date(year,month-1,day,hour,minute,second)}};function CronPattern(pattern){this.pattern=pattern;this.seconds=Array(60).fill(0);this.minutes=Array(60).fill(0);this.hours=Array(24).fill(0);this.days=Array(31).fill(0);this.months=Array(12).fill(0);this.daysOfWeek=Array(8).fill(0);this.parse()}CronPattern.prototype.parse=function(){if(!(typeof this.pattern==="string"||this.pattern.constructor===String)){throw new TypeError("CronPattern: Pattern has to be of type string.")}const parts=this.pattern.trim().replace(/\s+/g," ").split(" ");if(parts.length<5||parts.length>6){throw new TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exacly five or six space separated parts required.")}if(parts.length===5){parts.unshift("0")}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);this.throwAtIllegalCharacters(parts);this.partToArray("seconds",parts[0],0);this.partToArray("minutes",parts[1],0);this.partToArray("hours",parts[2],0);this.partToArray("days",parts[3],-1);this.partToArray("months",parts[4],-1);this.partToArray("daysOfWeek",parts[5],0);if(this.daysOfWeek[7]){this.daysOfWeek[0]=1}};CronPattern.prototype.partToArray=function(type,conf,valueIndexOffset,recursed){const arr=this[type];if(conf==="*"){for(let i=0;i<arr.length;i++){arr[i]=1}return}const split=conf.split(",");if(split.length>1){for(let i=0;i<split.length;i++){this.partToArray(type,split[i],valueIndexOffset,true)}}else if(conf.indexOf("-")!==-1&&conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRangeWithStepping(conf,type,valueIndexOffset)}else if(conf.indexOf("-")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRange(conf,type,valueIndexOffset)}else if(conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleStepping(conf,type,valueIndexOffset)}else{this.handleNumber(conf,type,valueIndexOffset)}};CronPattern.prototype.throwAtIllegalCharacters=function(parts){const reValidCron=/[^/*0-9,-]+/;for(let i=0;i<parts.length;i++){if(reValidCron.test(parts[i])){throw new TypeError("CronPattern: configuration entry "+i+" ("+parts[i]+") contains illegal characters.")}}};CronPattern.prototype.handleNumber=function(conf,type,valueIndexOffset){const i=parseInt(conf,10)+valueIndexOffset;if(i<0||i>=this[type].length){throw new TypeError("CronPattern: "+type+" value out of range: '"+conf+"'")}this[type][i]=1};CronPattern.prototype.handleRangeWithStepping=function(conf,type,valueIndexOffset){const matches=conf.match(/^(\d+)-(\d+)\/(\d+)$/);if(matches===null)throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '"+conf+"'");let[,lower,upper,steps]=matches;lower=parseInt(lower,10)+valueIndexOffset;upper=parseInt(upper,10)+valueIndexOffset;steps=parseInt(steps,10)+valueIndexOffset;if(isNaN(lower))throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(upper))throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");if(lower<0||upper>=this[type].length)throw new TypeError("CronPattern: Value out of range: '"+conf+"'");if(lower>upper)throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'");for(let i=lower;i<=upper;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleRange=function(conf,type,valueIndexOffset){const split=conf.split("-");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal range: '"+conf+"'")}const lower=parseInt(split[0],10)+valueIndexOffset,upper=parseInt(split[1],10)+valueIndexOffset;if(isNaN(lower)){throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)")}else if(isNaN(upper)){throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)")}if(lower<0||upper>=this[type].length){throw new TypeError("CronPattern: Value out of range: '"+conf+"'")}if(lower>upper){throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'")}for(let i=lower;i<=upper;i++){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleStepping=function(conf,type,valueIndexOffset){const split=conf.split("/");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+conf+"'")}let start=0;if(split[0]!=="*"){start=parseInt(split[0],10)}const steps=parseInt(split[1],10);if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");for(let i=start;i<this[type].length;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.replaceAlphaDays=function(conf){return conf.replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")};CronPattern.prototype.replaceAlphaMonths=function(conf){return conf.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")};const maxDelay=Math.pow(2,32-1)-1;function Cron(pattern,options,func){if(!(this instanceof Cron)){return new Cron(pattern,options,func)}this.pattern=new CronPattern(pattern);if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);if(func!==void 0){this.fn=func;this.schedule()}return this}Cron.prototype.processOptions=function(options){if(options===void 0){options={}}options.paused=options.paused===void 0?false:options.paused;options.maxRuns=options.maxRuns===void 0?Infinity:options.maxRuns;options.catch=options.catch===void 0?false:options.catch;options.kill=false;if(options.startAt){options.startAt=new CronDate(options.startAt,options.timezone)}if(options.stopAt){options.stopAt=new CronDate(options.stopAt,options.timezone)}return options};Cron.prototype.next=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);return next?next.getDate():null};Cron.prototype.running=function(){const msLeft=this.msToNext(this.previousrun);const running=!this.options.paused&&this.fn!==void 0;return msLeft!==null&&running};Cron.prototype.previous=function(){return this.previousrun?this.previousrun.getDate():null};Cron.prototype._next=function(prev){if(this.options.startAt&&prev&&prev.getTime(true)<this.options.startAt.getTime(true)){prev=new CronDate(this.options.startAt,this.options.timezone)}const nextRun=new CronDate(prev,this.options.timezone).increment(this.pattern);if(nextRun===null||this.options.maxRuns<=0||this.options.kill||this.options.stopAt&&nextRun.getTime(true)>=this.options.stopAt.getTime(true)){return null}else{return nextRun}};Cron.prototype.msToNext=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);if(next){return next.getTime(true)-prev.getTime(true)}else{return null}};Cron.prototype.stop=function(){this.options.kill=true;if(this.currentTimeout){clearTimeout(this.currentTimeout)}};Cron.prototype.pause=function(){return(this.options.paused=true)&&!this.options.kill};Cron.prototype.resume=function(){return!(this.options.paused=false)&&!this.options.kill};Cron.prototype.schedule=function(func){if(func){this.fn=func}let waitMs=this.msToNext(this.previousrun);if(waitMs===null)return this;const _maxDelay=this.maxDelay||maxDelay;if(waitMs>_maxDelay){waitMs=_maxDelay}const go=()=>{if(waitMs!==_maxDelay&&!this.options.paused){this.options.maxRuns--;if(this.options.catch){try{this.fn(this,this.options.context)}catch(_e){}}else{this.fn(this,this.options.context)}this.previousrun=new CronDate(void 0,this.options.timezone)}this.schedule()};this.currentTimeout=setTimeout(go,waitMs);return this};return Cron});
|
|
1
|
+
(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.Cron=factory())})(this,function(){"use strict";function convertTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronDate(date,timezone){this.timezone=timezone;if(date&&date instanceof Date){this.fromDate(date)}else if(date===void 0){this.fromDate(new Date)}else if(date&&typeof date==="string"){this.fromString(date)}else if(date instanceof CronDate){this.fromCronDate(date)}else{throw new TypeError("CronDate: Invalid type ("+typeof date+") passed as parameter to CronDate constructor")}}CronDate.prototype.fromDate=function(date,fromLocal){if(this.timezone&&!fromLocal){date=convertTZ(date,this.timezone)}this.milliseconds=date.getMilliseconds();this.seconds=date.getSeconds();this.minutes=date.getMinutes();this.hours=date.getHours();this.days=date.getDate();this.months=date.getMonth();this.years=date.getFullYear()};CronDate.prototype.fromCronDate=function(date){this.timezone=date.timezone;this.milliseconds=date.milliseconds;this.seconds=date.seconds;this.minutes=date.minutes;this.hours=date.hours;this.days=date.days;this.months=date.months;this.years=date.years};CronDate.prototype.apply=function(){const newDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);this.milliseconds=newDate.getMilliseconds();this.seconds=newDate.getSeconds();this.minutes=newDate.getMinutes();this.hours=newDate.getHours();this.days=newDate.getDate();this.months=newDate.getMonth();this.years=newDate.getFullYear()};CronDate.prototype.fromString=function(str){const parsedDate=this.parseISOLocal(str);if(isNaN(parsedDate)){throw new TypeError("CronDate: Provided string value for CronDate could not be parsed as date.")}this.fromDate(parsedDate,true)};CronDate.prototype.increment=function(pattern,rerun){if(!rerun){this.seconds+=1}this.milliseconds=0;const origTime=this.getTime(),findNext=(target,pattern,offset,override)=>{const startPos=override===void 0?this[target]+offset:0+offset;for(let i=startPos;i<pattern[target].length;i++){if(pattern[target][i]){this[target]=i-offset;return true}}return false},resetPrevious=()=>{while(doing>=0){findNext(toDo[doing][0],pattern,toDo[doing][2],0);doing--}};const toDo=[["seconds","minutes",0],["minutes","hours",0],["hours","days",0],["days","months",-1],["months","years",0]];let doing=0;while(doing<5){if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious()}if(this.years>=4e3){return null}doing++}while(!pattern.daysOfWeek[this.getDate(true).getDay()]){this.days+=1;doing=2;resetPrevious()}if(origTime!=this.getTime()){this.apply();return this.increment(pattern,true)}else{return this}};CronDate.prototype.getDate=function(internal){const targetDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);if(internal||!this.timezone){return targetDate}else{const offset=convertTZ(targetDate,this.timezone).getTime()-targetDate.getTime();return new Date(targetDate.getTime()-offset)}};CronDate.prototype.getTime=function(internal){return this.getDate(internal).getTime()};CronDate.prototype.parseISOLocal=function(dateTimeString){const dateTimeStringSplit=dateTimeString.split(/\D/);if(dateTimeStringSplit.length<6){return NaN}const year=parseInt(dateTimeStringSplit[0],10),month=parseInt(dateTimeStringSplit[1],10),day=parseInt(dateTimeStringSplit[2],10),hour=parseInt(dateTimeStringSplit[3],10),minute=parseInt(dateTimeStringSplit[4],10),second=parseInt(dateTimeStringSplit[5],10);if(isNaN(year)||isNaN(month)||isNaN(day)||isNaN(hour)||isNaN(minute)||isNaN(second)){return NaN}else{return new Date(year,month-1,day,hour,minute,second)}};function CronPattern(pattern){this.pattern=pattern;this.seconds=Array(60).fill(0);this.minutes=Array(60).fill(0);this.hours=Array(24).fill(0);this.days=Array(31).fill(0);this.months=Array(12).fill(0);this.daysOfWeek=Array(8).fill(0);this.parse()}CronPattern.prototype.parse=function(){if(!(typeof this.pattern==="string"||this.pattern.constructor===String)){throw new TypeError("CronPattern: Pattern has to be of type string.")}const parts=this.pattern.trim().replace(/\s+/g," ").split(" ");if(parts.length<5||parts.length>6){throw new TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exacly five or six space separated parts required.")}if(parts.length===5){parts.unshift("0")}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);this.throwAtIllegalCharacters(parts);this.partToArray("seconds",parts[0],0);this.partToArray("minutes",parts[1],0);this.partToArray("hours",parts[2],0);this.partToArray("days",parts[3],-1);this.partToArray("months",parts[4],-1);this.partToArray("daysOfWeek",parts[5],0);if(this.daysOfWeek[7]){this.daysOfWeek[0]=1}};CronPattern.prototype.partToArray=function(type,conf,valueIndexOffset,recursed){const arr=this[type];if(conf==="*"){for(let i=0;i<arr.length;i++){arr[i]=1}return}const split=conf.split(",");if(split.length>1){for(let i=0;i<split.length;i++){this.partToArray(type,split[i],valueIndexOffset,true)}}else if(conf.indexOf("-")!==-1&&conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRangeWithStepping(conf,type,valueIndexOffset)}else if(conf.indexOf("-")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRange(conf,type,valueIndexOffset)}else if(conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleStepping(conf,type,valueIndexOffset)}else{this.handleNumber(conf,type,valueIndexOffset)}};CronPattern.prototype.throwAtIllegalCharacters=function(parts){const reValidCron=/[^/*0-9,-]+/;for(let i=0;i<parts.length;i++){if(reValidCron.test(parts[i])){throw new TypeError("CronPattern: configuration entry "+i+" ("+parts[i]+") contains illegal characters.")}}};CronPattern.prototype.handleNumber=function(conf,type,valueIndexOffset){const i=parseInt(conf,10)+valueIndexOffset;if(i<0||i>=this[type].length){throw new TypeError("CronPattern: "+type+" value out of range: '"+conf+"'")}this[type][i]=1};CronPattern.prototype.handleRangeWithStepping=function(conf,type,valueIndexOffset){const matches=conf.match(/^(\d+)-(\d+)\/(\d+)$/);if(matches===null)throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '"+conf+"'");let[,lower,upper,steps]=matches;lower=parseInt(lower,10)+valueIndexOffset;upper=parseInt(upper,10)+valueIndexOffset;steps=parseInt(steps,10)+valueIndexOffset;if(isNaN(lower))throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(upper))throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");if(lower<0||upper>=this[type].length)throw new TypeError("CronPattern: Value out of range: '"+conf+"'");if(lower>upper)throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'");for(let i=lower;i<=upper;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleRange=function(conf,type,valueIndexOffset){const split=conf.split("-");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal range: '"+conf+"'")}const lower=parseInt(split[0],10)+valueIndexOffset,upper=parseInt(split[1],10)+valueIndexOffset;if(isNaN(lower)){throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)")}else if(isNaN(upper)){throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)")}if(lower<0||upper>=this[type].length){throw new TypeError("CronPattern: Value out of range: '"+conf+"'")}if(lower>upper){throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'")}for(let i=lower;i<=upper;i++){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleStepping=function(conf,type,valueIndexOffset){const split=conf.split("/");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+conf+"'")}let start=0;if(split[0]!=="*"){start=parseInt(split[0],10)}const steps=parseInt(split[1],10);if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");for(let i=start;i<this[type].length;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.replaceAlphaDays=function(conf){return conf.replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")};CronPattern.prototype.replaceAlphaMonths=function(conf){return conf.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")};const maxDelay=Math.pow(2,32-1)-1;function Cron(pattern,options,func){if(!(this instanceof Cron)){return new Cron(pattern,options,func)}this.pattern=new CronPattern(pattern);if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);if(func!==void 0){this.fn=func;this.schedule()}return this}Cron.prototype.processOptions=function(options){if(options===void 0){options={}}options.paused=options.paused===void 0?false:options.paused;options.maxRuns=options.maxRuns===void 0?Infinity:options.maxRuns;options.catch=options.catch===void 0?false:options.catch;options.kill=false;if(options.startAt){options.startAt=new CronDate(options.startAt,options.timezone)}if(options.stopAt){options.stopAt=new CronDate(options.stopAt,options.timezone)}return options};Cron.prototype.next=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);return next?next.getDate():null};Cron.prototype.running=function(){const msLeft=this.msToNext(this.previousrun);const running=!this.options.paused&&this.fn!==void 0;return msLeft!==null&&running};Cron.prototype.previous=function(){return this.previousrun?this.previousrun.getDate():null};Cron.prototype._next=function(prev){if(this.options.startAt&&prev&&prev.getTime(true)<this.options.startAt.getTime(true)){prev=new CronDate(this.options.startAt,this.options.timezone)}const nextRun=new CronDate(prev,this.options.timezone).increment(this.pattern);if(nextRun===null||this.options.maxRuns<=0||this.options.kill||this.options.stopAt&&nextRun.getTime(true)>=this.options.stopAt.getTime(true)){return null}else{return nextRun}};Cron.prototype.msToNext=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);if(next){return next.getTime(true)-prev.getTime(true)}else{return null}};Cron.prototype.stop=function(){this.options.kill=true;if(this.currentTimeout){clearTimeout(this.currentTimeout)}};Cron.prototype.pause=function(){return(this.options.paused=true)&&!this.options.kill};Cron.prototype.resume=function(){return!(this.options.paused=false)&&!this.options.kill};Cron.prototype.schedule=function(func){if(func&&this.fn){throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.")}else if(func){this.fn=func}let waitMs=this.msToNext(this.previousrun);if(waitMs===null)return this;const _maxDelay=this.maxDelay||maxDelay;if(waitMs>_maxDelay){waitMs=_maxDelay}const go=()=>{if(waitMs!==_maxDelay&&!this.options.paused){this.options.maxRuns--;if(this.options.catch){try{this.fn(this,this.options.context)}catch(_e){}}else{this.fn(this,this.options.context)}this.previousrun=new CronDate(void 0,this.options.timezone)}this.schedule()};this.currentTimeout=setTimeout(go,waitMs);return this};return Cron});
|
package/dist/croner.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["dist/croner.cjs"],"names":["global","factory","exports","module","define","amd","globalThis","self","Cron","this","convertTZ","date","tzString","Date","toLocaleString","timeZone","CronDate","timezone","fromDate","fromString","fromCronDate","TypeError","prototype","fromLocal","milliseconds","getMilliseconds","seconds","getSeconds","minutes","getMinutes","hours","getHours","days","getDate","months","getMonth","years","getFullYear","apply","newDate","str","parsedDate","parseISOLocal","isNaN","increment","pattern","rerun","origTime","getTime","findNext","target","offset","override","startPos","let","i","length","resetPrevious","doing","toDo","daysOfWeek","getDay","internal","targetDate","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","replaceAlphaMonths","replaceAlphaDays","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","indexOf","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","match","lower","upper","steps","start","maxDelay","Math","pow","options","func","processOptions","fn","schedule","paused","maxRuns","Infinity","catch","kill","startAt","stopAt","next","prev","_next","running","msLeft","msToNext","previousrun","previous","nextRun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","_maxDelay","go","context","_e","setTimeout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["dist/croner.cjs"],"names":["global","factory","exports","module","define","amd","globalThis","self","Cron","this","convertTZ","date","tzString","Date","toLocaleString","timeZone","CronDate","timezone","fromDate","fromString","fromCronDate","TypeError","prototype","fromLocal","milliseconds","getMilliseconds","seconds","getSeconds","minutes","getMinutes","hours","getHours","days","getDate","months","getMonth","years","getFullYear","apply","newDate","str","parsedDate","parseISOLocal","isNaN","increment","pattern","rerun","origTime","getTime","findNext","target","offset","override","startPos","let","i","length","resetPrevious","doing","toDo","daysOfWeek","getDay","internal","targetDate","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","replaceAlphaMonths","replaceAlphaDays","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","indexOf","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","match","lower","upper","steps","start","maxDelay","Math","pow","options","func","processOptions","fn","schedule","paused","maxRuns","Infinity","catch","kill","startAt","stopAt","next","prev","_next","running","msLeft","msToNext","previousrun","previous","nextRun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","_maxDelay","go","context","_e","setTimeout"],"mappings":"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"}
|
package/dist/croner.min.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function convertTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronDate(date,timezone){this.timezone=timezone;if(date&&date instanceof Date){this.fromDate(date)}else if(date===void 0){this.fromDate(new Date)}else if(date&&typeof date==="string"){this.fromString(date)}else if(date instanceof CronDate){this.fromCronDate(date)}else{throw new TypeError("CronDate: Invalid type ("+typeof date+") passed as parameter to CronDate constructor")}}CronDate.prototype.fromDate=function(date,fromLocal){if(this.timezone&&!fromLocal){date=convertTZ(date,this.timezone)}this.milliseconds=date.getMilliseconds();this.seconds=date.getSeconds();this.minutes=date.getMinutes();this.hours=date.getHours();this.days=date.getDate();this.months=date.getMonth();this.years=date.getFullYear()};CronDate.prototype.fromCronDate=function(date){this.timezone=date.timezone;this.milliseconds=date.milliseconds;this.seconds=date.seconds;this.minutes=date.minutes;this.hours=date.hours;this.days=date.days;this.months=date.months;this.years=date.years};CronDate.prototype.apply=function(){const newDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);this.milliseconds=newDate.getMilliseconds();this.seconds=newDate.getSeconds();this.minutes=newDate.getMinutes();this.hours=newDate.getHours();this.days=newDate.getDate();this.months=newDate.getMonth();this.years=newDate.getFullYear()};CronDate.prototype.fromString=function(str){const parsedDate=this.parseISOLocal(str);if(isNaN(parsedDate)){throw new TypeError("CronDate: Provided string value for CronDate could not be parsed as date.")}this.fromDate(parsedDate,true)};CronDate.prototype.increment=function(pattern,rerun){if(!rerun){this.seconds+=1}this.milliseconds=0;const origTime=this.getTime(),findNext=(target,pattern,offset,override)=>{const startPos=override===void 0?this[target]+offset:0+offset;for(let i=startPos;i<pattern[target].length;i++){if(pattern[target][i]){this[target]=i-offset;return true}}return false},resetPrevious=()=>{while(doing>=0){findNext(toDo[doing][0],pattern,toDo[doing][2],0);doing--}};const toDo=[["seconds","minutes",0],["minutes","hours",0],["hours","days",0],["days","months",-1],["months","years",0]];let doing=0;while(doing<5){if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious()}if(this.years>=4e3){return null}doing++}while(!pattern.daysOfWeek[this.getDate(true).getDay()]){this.days+=1;doing=2;resetPrevious()}if(origTime!=this.getTime()){this.apply();return this.increment(pattern,true)}else{return this}};CronDate.prototype.getDate=function(internal){const targetDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);if(internal||!this.timezone){return targetDate}else{const offset=convertTZ(targetDate,this.timezone).getTime()-targetDate.getTime();return new Date(targetDate.getTime()-offset)}};CronDate.prototype.getTime=function(internal){return this.getDate(internal).getTime()};CronDate.prototype.parseISOLocal=function(dateTimeString){const dateTimeStringSplit=dateTimeString.split(/\D/);if(dateTimeStringSplit.length<6){return NaN}const year=parseInt(dateTimeStringSplit[0],10),month=parseInt(dateTimeStringSplit[1],10),day=parseInt(dateTimeStringSplit[2],10),hour=parseInt(dateTimeStringSplit[3],10),minute=parseInt(dateTimeStringSplit[4],10),second=parseInt(dateTimeStringSplit[5],10);if(isNaN(year)||isNaN(month)||isNaN(day)||isNaN(hour)||isNaN(minute)||isNaN(second)){return NaN}else{return new Date(year,month-1,day,hour,minute,second)}};function CronPattern(pattern){this.pattern=pattern;this.seconds=Array(60).fill(0);this.minutes=Array(60).fill(0);this.hours=Array(24).fill(0);this.days=Array(31).fill(0);this.months=Array(12).fill(0);this.daysOfWeek=Array(8).fill(0);this.parse()}CronPattern.prototype.parse=function(){if(!(typeof this.pattern==="string"||this.pattern.constructor===String)){throw new TypeError("CronPattern: Pattern has to be of type string.")}const parts=this.pattern.trim().replace(/\s+/g," ").split(" ");if(parts.length<5||parts.length>6){throw new TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exacly five or six space separated parts required.")}if(parts.length===5){parts.unshift("0")}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);this.throwAtIllegalCharacters(parts);this.partToArray("seconds",parts[0],0);this.partToArray("minutes",parts[1],0);this.partToArray("hours",parts[2],0);this.partToArray("days",parts[3],-1);this.partToArray("months",parts[4],-1);this.partToArray("daysOfWeek",parts[5],0);if(this.daysOfWeek[7]){this.daysOfWeek[0]=1}};CronPattern.prototype.partToArray=function(type,conf,valueIndexOffset,recursed){const arr=this[type];if(conf==="*"){for(let i=0;i<arr.length;i++){arr[i]=1}return}const split=conf.split(",");if(split.length>1){for(let i=0;i<split.length;i++){this.partToArray(type,split[i],valueIndexOffset,true)}}else if(conf.indexOf("-")!==-1&&conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRangeWithStepping(conf,type,valueIndexOffset)}else if(conf.indexOf("-")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRange(conf,type,valueIndexOffset)}else if(conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleStepping(conf,type,valueIndexOffset)}else{this.handleNumber(conf,type,valueIndexOffset)}};CronPattern.prototype.throwAtIllegalCharacters=function(parts){const reValidCron=/[^/*0-9,-]+/;for(let i=0;i<parts.length;i++){if(reValidCron.test(parts[i])){throw new TypeError("CronPattern: configuration entry "+i+" ("+parts[i]+") contains illegal characters.")}}};CronPattern.prototype.handleNumber=function(conf,type,valueIndexOffset){const i=parseInt(conf,10)+valueIndexOffset;if(i<0||i>=this[type].length){throw new TypeError("CronPattern: "+type+" value out of range: '"+conf+"'")}this[type][i]=1};CronPattern.prototype.handleRangeWithStepping=function(conf,type,valueIndexOffset){const matches=conf.match(/^(\d+)-(\d+)\/(\d+)$/);if(matches===null)throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '"+conf+"'");let[,lower,upper,steps]=matches;lower=parseInt(lower,10)+valueIndexOffset;upper=parseInt(upper,10)+valueIndexOffset;steps=parseInt(steps,10)+valueIndexOffset;if(isNaN(lower))throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(upper))throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");if(lower<0||upper>=this[type].length)throw new TypeError("CronPattern: Value out of range: '"+conf+"'");if(lower>upper)throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'");for(let i=lower;i<=upper;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleRange=function(conf,type,valueIndexOffset){const split=conf.split("-");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal range: '"+conf+"'")}const lower=parseInt(split[0],10)+valueIndexOffset,upper=parseInt(split[1],10)+valueIndexOffset;if(isNaN(lower)){throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)")}else if(isNaN(upper)){throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)")}if(lower<0||upper>=this[type].length){throw new TypeError("CronPattern: Value out of range: '"+conf+"'")}if(lower>upper){throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'")}for(let i=lower;i<=upper;i++){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleStepping=function(conf,type,valueIndexOffset){const split=conf.split("/");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+conf+"'")}let start=0;if(split[0]!=="*"){start=parseInt(split[0],10)}const steps=parseInt(split[1],10);if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");for(let i=start;i<this[type].length;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.replaceAlphaDays=function(conf){return conf.replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")};CronPattern.prototype.replaceAlphaMonths=function(conf){return conf.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")};const maxDelay=Math.pow(2,32-1)-1;function Cron(pattern,options,func){if(!(this instanceof Cron)){return new Cron(pattern,options,func)}this.pattern=new CronPattern(pattern);if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);if(func!==void 0){this.fn=func;this.schedule()}return this}Cron.prototype.processOptions=function(options){if(options===void 0){options={}}options.paused=options.paused===void 0?false:options.paused;options.maxRuns=options.maxRuns===void 0?Infinity:options.maxRuns;options.catch=options.catch===void 0?false:options.catch;options.kill=false;if(options.startAt){options.startAt=new CronDate(options.startAt,options.timezone)}if(options.stopAt){options.stopAt=new CronDate(options.stopAt,options.timezone)}return options};Cron.prototype.next=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);return next?next.getDate():null};Cron.prototype.running=function(){const msLeft=this.msToNext(this.previousrun);const running=!this.options.paused&&this.fn!==void 0;return msLeft!==null&&running};Cron.prototype.previous=function(){return this.previousrun?this.previousrun.getDate():null};Cron.prototype._next=function(prev){if(this.options.startAt&&prev&&prev.getTime(true)<this.options.startAt.getTime(true)){prev=new CronDate(this.options.startAt,this.options.timezone)}const nextRun=new CronDate(prev,this.options.timezone).increment(this.pattern);if(nextRun===null||this.options.maxRuns<=0||this.options.kill||this.options.stopAt&&nextRun.getTime(true)>=this.options.stopAt.getTime(true)){return null}else{return nextRun}};Cron.prototype.msToNext=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);if(next){return next.getTime(true)-prev.getTime(true)}else{return null}};Cron.prototype.stop=function(){this.options.kill=true;if(this.currentTimeout){clearTimeout(this.currentTimeout)}};Cron.prototype.pause=function(){return(this.options.paused=true)&&!this.options.kill};Cron.prototype.resume=function(){return!(this.options.paused=false)&&!this.options.kill};Cron.prototype.schedule=function(func){if(func){this.fn=func}let waitMs=this.msToNext(this.previousrun);if(waitMs===null)return this;const _maxDelay=this.maxDelay||maxDelay;if(waitMs>_maxDelay){waitMs=_maxDelay}const go=()=>{if(waitMs!==_maxDelay&&!this.options.paused){this.options.maxRuns--;if(this.options.catch){try{this.fn(this,this.options.context)}catch(_e){}}else{this.fn(this,this.options.context)}this.previousrun=new CronDate(void 0,this.options.timezone)}this.schedule()};this.currentTimeout=setTimeout(go,waitMs);return this};export{Cron,Cron as default};
|
|
1
|
+
function convertTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronDate(date,timezone){this.timezone=timezone;if(date&&date instanceof Date){this.fromDate(date)}else if(date===void 0){this.fromDate(new Date)}else if(date&&typeof date==="string"){this.fromString(date)}else if(date instanceof CronDate){this.fromCronDate(date)}else{throw new TypeError("CronDate: Invalid type ("+typeof date+") passed as parameter to CronDate constructor")}}CronDate.prototype.fromDate=function(date,fromLocal){if(this.timezone&&!fromLocal){date=convertTZ(date,this.timezone)}this.milliseconds=date.getMilliseconds();this.seconds=date.getSeconds();this.minutes=date.getMinutes();this.hours=date.getHours();this.days=date.getDate();this.months=date.getMonth();this.years=date.getFullYear()};CronDate.prototype.fromCronDate=function(date){this.timezone=date.timezone;this.milliseconds=date.milliseconds;this.seconds=date.seconds;this.minutes=date.minutes;this.hours=date.hours;this.days=date.days;this.months=date.months;this.years=date.years};CronDate.prototype.apply=function(){const newDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);this.milliseconds=newDate.getMilliseconds();this.seconds=newDate.getSeconds();this.minutes=newDate.getMinutes();this.hours=newDate.getHours();this.days=newDate.getDate();this.months=newDate.getMonth();this.years=newDate.getFullYear()};CronDate.prototype.fromString=function(str){const parsedDate=this.parseISOLocal(str);if(isNaN(parsedDate)){throw new TypeError("CronDate: Provided string value for CronDate could not be parsed as date.")}this.fromDate(parsedDate,true)};CronDate.prototype.increment=function(pattern,rerun){if(!rerun){this.seconds+=1}this.milliseconds=0;const origTime=this.getTime(),findNext=(target,pattern,offset,override)=>{const startPos=override===void 0?this[target]+offset:0+offset;for(let i=startPos;i<pattern[target].length;i++){if(pattern[target][i]){this[target]=i-offset;return true}}return false},resetPrevious=()=>{while(doing>=0){findNext(toDo[doing][0],pattern,toDo[doing][2],0);doing--}};const toDo=[["seconds","minutes",0],["minutes","hours",0],["hours","days",0],["days","months",-1],["months","years",0]];let doing=0;while(doing<5){if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious()}if(this.years>=4e3){return null}doing++}while(!pattern.daysOfWeek[this.getDate(true).getDay()]){this.days+=1;doing=2;resetPrevious()}if(origTime!=this.getTime()){this.apply();return this.increment(pattern,true)}else{return this}};CronDate.prototype.getDate=function(internal){const targetDate=new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds);if(internal||!this.timezone){return targetDate}else{const offset=convertTZ(targetDate,this.timezone).getTime()-targetDate.getTime();return new Date(targetDate.getTime()-offset)}};CronDate.prototype.getTime=function(internal){return this.getDate(internal).getTime()};CronDate.prototype.parseISOLocal=function(dateTimeString){const dateTimeStringSplit=dateTimeString.split(/\D/);if(dateTimeStringSplit.length<6){return NaN}const year=parseInt(dateTimeStringSplit[0],10),month=parseInt(dateTimeStringSplit[1],10),day=parseInt(dateTimeStringSplit[2],10),hour=parseInt(dateTimeStringSplit[3],10),minute=parseInt(dateTimeStringSplit[4],10),second=parseInt(dateTimeStringSplit[5],10);if(isNaN(year)||isNaN(month)||isNaN(day)||isNaN(hour)||isNaN(minute)||isNaN(second)){return NaN}else{return new Date(year,month-1,day,hour,minute,second)}};function CronPattern(pattern){this.pattern=pattern;this.seconds=Array(60).fill(0);this.minutes=Array(60).fill(0);this.hours=Array(24).fill(0);this.days=Array(31).fill(0);this.months=Array(12).fill(0);this.daysOfWeek=Array(8).fill(0);this.parse()}CronPattern.prototype.parse=function(){if(!(typeof this.pattern==="string"||this.pattern.constructor===String)){throw new TypeError("CronPattern: Pattern has to be of type string.")}const parts=this.pattern.trim().replace(/\s+/g," ").split(" ");if(parts.length<5||parts.length>6){throw new TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exacly five or six space separated parts required.")}if(parts.length===5){parts.unshift("0")}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);this.throwAtIllegalCharacters(parts);this.partToArray("seconds",parts[0],0);this.partToArray("minutes",parts[1],0);this.partToArray("hours",parts[2],0);this.partToArray("days",parts[3],-1);this.partToArray("months",parts[4],-1);this.partToArray("daysOfWeek",parts[5],0);if(this.daysOfWeek[7]){this.daysOfWeek[0]=1}};CronPattern.prototype.partToArray=function(type,conf,valueIndexOffset,recursed){const arr=this[type];if(conf==="*"){for(let i=0;i<arr.length;i++){arr[i]=1}return}const split=conf.split(",");if(split.length>1){for(let i=0;i<split.length;i++){this.partToArray(type,split[i],valueIndexOffset,true)}}else if(conf.indexOf("-")!==-1&&conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRangeWithStepping(conf,type,valueIndexOffset)}else if(conf.indexOf("-")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleRange(conf,type,valueIndexOffset)}else if(conf.indexOf("/")!==-1){if(recursed)throw new Error("CronPattern: Range with stepping cannot coexist with ,");this.handleStepping(conf,type,valueIndexOffset)}else{this.handleNumber(conf,type,valueIndexOffset)}};CronPattern.prototype.throwAtIllegalCharacters=function(parts){const reValidCron=/[^/*0-9,-]+/;for(let i=0;i<parts.length;i++){if(reValidCron.test(parts[i])){throw new TypeError("CronPattern: configuration entry "+i+" ("+parts[i]+") contains illegal characters.")}}};CronPattern.prototype.handleNumber=function(conf,type,valueIndexOffset){const i=parseInt(conf,10)+valueIndexOffset;if(i<0||i>=this[type].length){throw new TypeError("CronPattern: "+type+" value out of range: '"+conf+"'")}this[type][i]=1};CronPattern.prototype.handleRangeWithStepping=function(conf,type,valueIndexOffset){const matches=conf.match(/^(\d+)-(\d+)\/(\d+)$/);if(matches===null)throw new TypeError("CronPattern: Syntax error, illegal range with stepping: '"+conf+"'");let[,lower,upper,steps]=matches;lower=parseInt(lower,10)+valueIndexOffset;upper=parseInt(upper,10)+valueIndexOffset;steps=parseInt(steps,10)+valueIndexOffset;if(isNaN(lower))throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(upper))throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");if(lower<0||upper>=this[type].length)throw new TypeError("CronPattern: Value out of range: '"+conf+"'");if(lower>upper)throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'");for(let i=lower;i<=upper;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleRange=function(conf,type,valueIndexOffset){const split=conf.split("-");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal range: '"+conf+"'")}const lower=parseInt(split[0],10)+valueIndexOffset,upper=parseInt(split[1],10)+valueIndexOffset;if(isNaN(lower)){throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)")}else if(isNaN(upper)){throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)")}if(lower<0||upper>=this[type].length){throw new TypeError("CronPattern: Value out of range: '"+conf+"'")}if(lower>upper){throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'")}for(let i=lower;i<=upper;i++){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleStepping=function(conf,type,valueIndexOffset){const split=conf.split("/");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+conf+"'")}let start=0;if(split[0]!=="*"){start=parseInt(split[0],10)}const steps=parseInt(split[1],10);if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");for(let i=start;i<this[type].length;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.replaceAlphaDays=function(conf){return conf.replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")};CronPattern.prototype.replaceAlphaMonths=function(conf){return conf.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")};const maxDelay=Math.pow(2,32-1)-1;function Cron(pattern,options,func){if(!(this instanceof Cron)){return new Cron(pattern,options,func)}this.pattern=new CronPattern(pattern);if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);if(func!==void 0){this.fn=func;this.schedule()}return this}Cron.prototype.processOptions=function(options){if(options===void 0){options={}}options.paused=options.paused===void 0?false:options.paused;options.maxRuns=options.maxRuns===void 0?Infinity:options.maxRuns;options.catch=options.catch===void 0?false:options.catch;options.kill=false;if(options.startAt){options.startAt=new CronDate(options.startAt,options.timezone)}if(options.stopAt){options.stopAt=new CronDate(options.stopAt,options.timezone)}return options};Cron.prototype.next=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);return next?next.getDate():null};Cron.prototype.running=function(){const msLeft=this.msToNext(this.previousrun);const running=!this.options.paused&&this.fn!==void 0;return msLeft!==null&&running};Cron.prototype.previous=function(){return this.previousrun?this.previousrun.getDate():null};Cron.prototype._next=function(prev){if(this.options.startAt&&prev&&prev.getTime(true)<this.options.startAt.getTime(true)){prev=new CronDate(this.options.startAt,this.options.timezone)}const nextRun=new CronDate(prev,this.options.timezone).increment(this.pattern);if(nextRun===null||this.options.maxRuns<=0||this.options.kill||this.options.stopAt&&nextRun.getTime(true)>=this.options.stopAt.getTime(true)){return null}else{return nextRun}};Cron.prototype.msToNext=function(prev){prev=new CronDate(prev,this.options.timezone);const next=this._next(prev);if(next){return next.getTime(true)-prev.getTime(true)}else{return null}};Cron.prototype.stop=function(){this.options.kill=true;if(this.currentTimeout){clearTimeout(this.currentTimeout)}};Cron.prototype.pause=function(){return(this.options.paused=true)&&!this.options.kill};Cron.prototype.resume=function(){return!(this.options.paused=false)&&!this.options.kill};Cron.prototype.schedule=function(func){if(func&&this.fn){throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.")}else if(func){this.fn=func}let waitMs=this.msToNext(this.previousrun);if(waitMs===null)return this;const _maxDelay=this.maxDelay||maxDelay;if(waitMs>_maxDelay){waitMs=_maxDelay}const go=()=>{if(waitMs!==_maxDelay&&!this.options.paused){this.options.maxRuns--;if(this.options.catch){try{this.fn(this,this.options.context)}catch(_e){}}else{this.fn(this,this.options.context)}this.previousrun=new CronDate(void 0,this.options.timezone)}this.schedule()};this.currentTimeout=setTimeout(go,waitMs);return this};export{Cron,Cron as default};
|
package/dist/croner.min.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["dist/croner.mjs"],"names":["convertTZ","date","tzString","Date","toLocaleString","timeZone","CronDate","timezone","this","fromDate","fromString","fromCronDate","TypeError","prototype","fromLocal","milliseconds","getMilliseconds","seconds","getSeconds","minutes","getMinutes","hours","getHours","days","getDate","months","getMonth","years","getFullYear","apply","newDate","str","parsedDate","parseISOLocal","isNaN","increment","pattern","rerun","origTime","getTime","findNext","target","offset","override","startPos","let","i","length","resetPrevious","doing","toDo","daysOfWeek","getDay","internal","targetDate","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","replaceAlphaMonths","replaceAlphaDays","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","indexOf","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","match","lower","upper","steps","start","maxDelay","Math","pow","Cron","options","func","processOptions","fn","schedule","paused","maxRuns","Infinity","catch","kill","startAt","stopAt","next","prev","_next","running","msLeft","msToNext","previousrun","previous","nextRun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","_maxDelay","go","context","_e","setTimeout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["dist/croner.mjs"],"names":["convertTZ","date","tzString","Date","toLocaleString","timeZone","CronDate","timezone","this","fromDate","fromString","fromCronDate","TypeError","prototype","fromLocal","milliseconds","getMilliseconds","seconds","getSeconds","minutes","getMinutes","hours","getHours","days","getDate","months","getMonth","years","getFullYear","apply","newDate","str","parsedDate","parseISOLocal","isNaN","increment","pattern","rerun","origTime","getTime","findNext","target","offset","override","startPos","let","i","length","resetPrevious","doing","toDo","daysOfWeek","getDay","internal","targetDate","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","replaceAlphaMonths","replaceAlphaDays","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","indexOf","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","match","lower","upper","steps","start","maxDelay","Math","pow","Cron","options","func","processOptions","fn","schedule","paused","maxRuns","Infinity","catch","kill","startAt","stopAt","next","prev","_next","running","msLeft","msToNext","previousrun","previous","nextRun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","_maxDelay","go","context","_e","setTimeout"],"mappings":"AAgBA,SAASA,UAAUC,KAAMC,UACxB,OAAO,IAAIC,KAAKF,KAAKG,eAAe,QAAS,CAACC,SAAUH,YAUzD,SAASI,SAAUL,KAAMM,UAExBC,KAAKD,SAAWA,SAEhB,GAAIN,MAAQA,gBAAgBE,KAAM,CACjCK,KAAKC,SAASR,WACR,GAAIA,YAAc,EAAG,CAC3BO,KAAKC,SAAS,IAAIN,WACZ,GAAIF,aAAeA,OAAS,SAAU,CAC5CO,KAAKE,WAAWT,WACV,GAAIA,gBAAgBK,SAAU,CACpCE,KAAKG,aAAaV,UACZ,CACN,MAAM,IAAIW,UAAU,kCAAoCX,KAAO,kDAWjEK,SAASO,UAAUJ,SAAW,SAAUR,KAAMa,WAE7C,GAAIN,KAAKD,WAAaO,UAAW,CAChCb,KAAOD,UAAUC,KAAMO,KAAKD,UAG7BC,KAAKO,aAAed,KAAKe,kBACzBR,KAAKS,QAAUhB,KAAKiB,aACpBV,KAAKW,QAAUlB,KAAKmB,aACpBZ,KAAKa,MAAQpB,KAAKqB,WAClBd,KAAKe,KAAOtB,KAAKuB,UACjBhB,KAAKiB,OAAUxB,KAAKyB,WACpBlB,KAAKmB,MAAQ1B,KAAK2B,eASnBtB,SAASO,UAAUF,aAAe,SAAUV,MAC3CO,KAAKD,SAAWN,KAAKM,SACrBC,KAAKO,aAAed,KAAKc,aACzBP,KAAKS,QAAUhB,KAAKgB,QACpBT,KAAKW,QAAUlB,KAAKkB,QACpBX,KAAKa,MAAQpB,KAAKoB,MAClBb,KAAKe,KAAOtB,KAAKsB,KACjBf,KAAKiB,OAAUxB,KAAKwB,OACpBjB,KAAKmB,MAAQ1B,KAAK0B,OASnBrB,SAASO,UAAUgB,MAAQ,WAC1B,MAAMC,QAAU,IAAI3B,KAAKK,KAAKmB,MAAOnB,KAAKiB,OAAQjB,KAAKe,KAAMf,KAAKa,MAAOb,KAAKW,QAASX,KAAKS,QAAST,KAAKO,cAE1GP,KAAKO,aAAee,QAAQd,kBAC5BR,KAAKS,QAAUa,QAAQZ,aACvBV,KAAKW,QAAUW,QAAQV,aACvBZ,KAAKa,MAAQS,QAAQR,WACrBd,KAAKe,KAAOO,QAAQN,UACpBhB,KAAKiB,OAAUK,QAAQJ,WACvBlB,KAAKmB,MAAQG,QAAQF,eAStBtB,SAASO,UAAUH,WAAa,SAAUqB,KAEzC,MAAMC,WAAaxB,KAAKyB,cAAcF,KAGtC,GAAIG,MAAMF,YAAc,CACvB,MAAM,IAAIpB,UAAU,6EAGrBJ,KAAKC,SAASuB,WAAY,OAW3B1B,SAASO,UAAUsB,UAAY,SAAUC,QAASC,OAEjD,IAAKA,MAAO,CACX7B,KAAKS,SAAW,EAGjBT,KAAKO,aAAe,EAEpB,MACCuB,SAAW9B,KAAK+B,UAahBC,SAAW,CAACC,OAAQL,QAASM,OAAQC,YAEpC,MAAMC,SAAYD,gBAAkB,EAAKnC,KAAKiC,QAAUC,OAAS,EAAIA,OAErE,IAAKG,IAAIC,EAAIF,SAAUE,EAAIV,QAAQK,QAAQM,OAAQD,IAAM,CAExD,GAAIV,QAAQK,QAAQK,GAAK,CACxBtC,KAAKiC,QAAUK,EAAEJ,OACjB,OAAO,MAGT,OAAO,OAIRM,cAAgB,KAKf,MAAMC,OAAS,EAAG,CAOjBT,SAASU,KAAKD,OAAO,GAAIb,QAASc,KAAKD,OAAO,GAAI,GAGlDA,UAWH,MAAMC,KAAO,CACZ,CAAC,UAAW,UAAW,GACvB,CAAC,UAAW,QAAS,GACrB,CAAC,QAAS,OAAQ,GAClB,CAAC,OAAQ,UAAW,GACpB,CAAC,SAAU,QAAS,IAKrBL,IAAII,MAAQ,EACZ,MAAMA,MAAQ,EAAG,CAOhB,IAAIT,SAASU,KAAKD,OAAO,GAAIb,QAASc,KAAKD,OAAO,IAAK,CACtDzC,KAAK0C,KAAKD,OAAO,MACjBD,gBAID,GAAIxC,KAAKmB,OAAS,IAAM,CACvB,OAAO,KAIRsB,QAKD,OAAQb,QAAQe,WAAW3C,KAAKgB,QAAQ,MAAM4B,UAAW,CACxD5C,KAAKe,MAAQ,EACb0B,MAAQ,EACRD,gBAID,GAAIV,UAAY9B,KAAK+B,UAAW,CAC/B/B,KAAKqB,QACL,OAAOrB,KAAK2B,UAAUC,QAAS,UACzB,CACN,OAAO5B,OAYTF,SAASO,UAAUW,QAAU,SAAU6B,UACtC,MAAMC,WAAa,IAAInD,KAAKK,KAAKmB,MAAOnB,KAAKiB,OAAQjB,KAAKe,KAAMf,KAAKa,MAAOb,KAAKW,QAASX,KAAKS,QAAST,KAAKO,cAC7G,GAAIsC,WAAa7C,KAAKD,SAAU,CAC/B,OAAO+C,eACD,CACN,MAAMZ,OAAS1C,UAAUsD,WAAY9C,KAAKD,UAAUgC,UAAUe,WAAWf,UACzE,OAAO,IAAIpC,KAAKmD,WAAWf,UAAUG,UAWvCpC,SAASO,UAAU0B,QAAU,SAAUc,UACtC,OAAO7C,KAAKgB,QAAQ6B,UAAUd,WAW/BjC,SAASO,UAAUoB,cAAgB,SAAUsB,gBAC5C,MAAMC,oBAAsBD,eAAeE,MAAM,MAGjD,GAAID,oBAAoBT,OAAS,EAAG,CACnC,OAAOW,IAGR,MACCC,KAAOC,SAASJ,oBAAoB,GAAI,IACxCK,MAAQD,SAASJ,oBAAoB,GAAI,IACzCM,IAAMF,SAASJ,oBAAoB,GAAI,IACvCO,KAAOH,SAASJ,oBAAoB,GAAI,IACxCQ,OAASJ,SAASJ,oBAAoB,GAAI,IAC1CS,OAASL,SAASJ,oBAAoB,GAAI,IAG3C,GAAItB,MAAMyB,OAASzB,MAAM2B,QAAU3B,MAAM4B,MAAQ5B,MAAM6B,OAAS7B,MAAM8B,SAAW9B,MAAM+B,QAAU,CAChG,OAAOP,QACD,CACN,OAAO,IAAIvD,KAAKwD,KAAME,MAAM,EAAGC,IAAKC,KAAMC,OAAQC,UAuBpD,SAASC,YAAa9B,SAErB5B,KAAK4B,QAAYA,QAEjB5B,KAAKS,QAAiBkD,MAAM,IAAIC,KAAK,GACrC5D,KAAKW,QAAiBgD,MAAM,IAAIC,KAAK,GACrC5D,KAAKa,MAAiB8C,MAAM,IAAIC,KAAK,GACrC5D,KAAKe,KAAiB4C,MAAM,IAAIC,KAAK,GACrC5D,KAAKiB,OAAiB0C,MAAM,IAAIC,KAAK,GACrC5D,KAAK2C,WAAiBgB,MAAM,GAAGC,KAAK,GAEpC5D,KAAK6D,QAQNH,YAAYrD,UAAUwD,MAAQ,WAG7B,YAAa7D,KAAK4B,UAAY,UAAY5B,KAAK4B,QAAQkC,cAAgBC,QAAU,CAChF,MAAM,IAAI3D,UAAU,kDAIrB,MAAM4D,MAAQhE,KAAK4B,QAAQqC,OAAOC,QAAQ,OAAQ,KAAKjB,MAAM,KAG7D,GAAIe,MAAMzB,OAAS,GAAKyB,MAAMzB,OAAS,EAAI,CAC1C,MAAM,IAAInC,UAAU,+CAAiDJ,KAAK4B,QAAU,0DAIrF,GAAIoC,MAAMzB,SAAW,EAAG,CACvByB,MAAMG,QAAQ,KAIfH,MAAM,GAAKhE,KAAKoE,mBAAmBJ,MAAM,IACzCA,MAAM,GAAKhE,KAAKqE,iBAAiBL,MAAM,IAGvChE,KAAKsE,yBAAyBN,OAG9BhE,KAAKuE,YAAY,UAAcP,MAAM,GAAI,GACzChE,KAAKuE,YAAY,UAAcP,MAAM,GAAI,GACzChE,KAAKuE,YAAY,QAAcP,MAAM,GAAI,GACzChE,KAAKuE,YAAY,OAAcP,MAAM,IAAK,GAC1ChE,KAAKuE,YAAY,SAAcP,MAAM,IAAK,GAC1ChE,KAAKuE,YAAY,aAAcP,MAAM,GAAI,GAGzC,GAAIhE,KAAK2C,WAAW,GAAK,CACxB3C,KAAK2C,WAAW,GAAK,IAcvBe,YAAYrD,UAAUkE,YAAc,SAAUC,KAAMC,KAAMC,iBAAkBC,UAE3E,MAAMC,IAAM5E,KAAKwE,MAGjB,GAAIC,OAAS,IAAM,CAClB,IAAKpC,IAAIC,EAAI,EAAGA,EAAIsC,IAAIrC,OAAQD,IAAM,CACrCsC,IAAItC,GAAK,EAEV,OAID,MAAMW,MAAQwB,KAAKxB,MAAM,KACzB,GAAIA,MAAMV,OAAS,EAAI,CACtB,IAAKF,IAAIC,EAAI,EAAGA,EAAIW,MAAMV,OAAQD,IAAM,CACvCtC,KAAKuE,YAAYC,KAAMvB,MAAMX,GAAIoC,iBAAkB,YAI9C,GAAID,KAAKI,QAAQ,QAAU,GAAKJ,KAAKI,QAAQ,QAAU,EAAI,CACjE,GAAIF,SAAU,MAAM,IAAIG,MAAM,0DAE9B9E,KAAK+E,wBAAwBN,KAAMD,KAAME,uBAGnC,GAAID,KAAKI,QAAQ,QAAU,EAAI,CACrC,GAAIF,SAAU,MAAM,IAAIG,MAAM,0DAE9B9E,KAAKgF,YAAYP,KAAMD,KAAME,uBAGvB,GAAID,KAAKI,QAAQ,QAAU,EAAI,CACrC,GAAIF,SAAU,MAAM,IAAIG,MAAM,0DAE9B9E,KAAKiF,eAAeR,KAAMD,KAAME,sBAE1B,CACN1E,KAAKkF,aAAaT,KAAMD,KAAME,oBAWhChB,YAAYrD,UAAUiE,yBAA2B,SAAUN,OAC1D,MAAMmB,YAAc,cACpB,IAAI9C,IAAIC,EAAI,EAAGA,EAAI0B,MAAMzB,OAAQD,IAAK,CACrC,GAAI6C,YAAYC,KAAKpB,MAAM1B,IAAM,CAChC,MAAM,IAAIlC,UAAU,oCAAsCkC,EAAI,KAAO0B,MAAM1B,GAAK,qCAanFoB,YAAYrD,UAAU6E,aAAe,SAAUT,KAAMD,KAAME,kBAC1D,MAAMpC,EAAKc,SAASqB,KAAM,IAAMC,iBAEhC,GAAIpC,EAAI,GAAKA,GAAKtC,KAAKwE,MAAMjC,OAAS,CACrC,MAAM,IAAInC,UAAU,gBAAkBoE,KAAO,yBAA2BC,KAAO,KAGhFzE,KAAKwE,MAAMlC,GAAK,GAWjBoB,YAAYrD,UAAU0E,wBAA0B,SAAUN,KAAMD,KAAME,kBACrE,MAAMW,QAAUZ,KAAKa,MAAM,wBAE3B,GAAID,UAAY,KAAO,MAAM,IAAIjF,UAAU,4DAA8DqE,KAAO,KAEhHpC,GAAI,CAAC,CAAEkD,MAAOC,MAAOC,OAASJ,QAC9BE,MAAQnC,SAASmC,MAAO,IAAMb,iBAC9Bc,MAAQpC,SAASoC,MAAO,IAAMd,iBAC9Be,MAAQrC,SAASqC,MAAO,IAAMf,iBAE9B,GAAIhD,MAAM6D,OAAS,MAAM,IAAInF,UAAU,wDACvC,GAAIsB,MAAM8D,OAAS,MAAM,IAAIpF,UAAU,wDACvC,GAAIsB,MAAM+D,OAAS,MAAM,IAAIrF,UAAU,sDAEvC,GAAIqF,QAAU,EAAI,MAAM,IAAIrF,UAAU,kDACtC,GAAIqF,MAAQzF,KAAKwE,MAAMjC,OAAS,MAAM,IAAInC,UAAU,kFAAkFJ,KAAKwE,MAAMjC,OAAO,KAExJ,GAAIgD,MAAQ,GAAKC,OAASxF,KAAKwE,MAAMjC,OAAS,MAAM,IAAInC,UAAU,qCAAuCqE,KAAO,KAChH,GAAIc,MAAQC,MAAQ,MAAM,IAAIpF,UAAU,qDAAuDqE,KAAO,KAEtG,IAAKpC,IAAIC,EAAIiD,MAAOjD,GAAKkD,MAAOlD,GAAKmD,MAAO,CAC3CzF,KAAKwE,MAAOlC,EAAIoC,kBAAqB,IAYvChB,YAAYrD,UAAU2E,YAAc,SAAUP,KAAMD,KAAME,kBACzD,MAAMzB,MAAQwB,KAAKxB,MAAM,KAEzB,GAAIA,MAAMV,SAAW,EAAI,CACxB,MAAM,IAAInC,UAAU,8CAAgDqE,KAAO,KAG5E,MAAMc,MAAQnC,SAASH,MAAM,GAAI,IAAMyB,iBACtCc,MAAQpC,SAASH,MAAM,GAAI,IAAMyB,iBAElC,GAAIhD,MAAM6D,OAAS,CAClB,MAAM,IAAInF,UAAU,6DACd,GAAIsB,MAAM8D,OAAS,CACzB,MAAM,IAAIpF,UAAU,wDAIrB,GAAImF,MAAQ,GAAKC,OAASxF,KAAKwE,MAAMjC,OAAS,CAC7C,MAAM,IAAInC,UAAU,qCAAuCqE,KAAO,KAInE,GAAIc,MAAQC,MAAQ,CACnB,MAAM,IAAIpF,UAAU,qDAAuDqE,KAAO,KAGnF,IAAKpC,IAAIC,EAAIiD,MAAOjD,GAAKkD,MAAOlD,IAAM,CACrCtC,KAAKwE,MAAOlC,EAAIoC,kBAAqB,IAYvChB,YAAYrD,UAAU4E,eAAiB,SAAUR,KAAMD,KAAME,kBAE5D,MAAMzB,MAAQwB,KAAKxB,MAAM,KAEzB,GAAIA,MAAMV,SAAW,EAAI,CACxB,MAAM,IAAInC,UAAU,iDAAmDqE,KAAO,KAG/EpC,IAAIqD,MAAQ,EACZ,GAAIzC,MAAM,KAAO,IAAM,CACtByC,MAAQtC,SAASH,MAAM,GAAI,IAG5B,MAAMwC,MAAQrC,SAASH,MAAM,GAAI,IAEjC,GAAIvB,MAAM+D,OAAS,MAAM,IAAIrF,UAAU,sDACvC,GAAIqF,QAAU,EAAI,MAAM,IAAIrF,UAAU,kDACtC,GAAIqF,MAAQzF,KAAKwE,MAAMjC,OAAS,MAAM,IAAInC,UAAU,kFAAkFJ,KAAKwE,MAAMjC,OAAO,KAExJ,IAAKF,IAAIC,EAAIoD,MAAOpD,EAAItC,KAAKwE,MAAMjC,OAAQD,GAAImD,MAAQ,CACtDzF,KAAKwE,MAAOlC,EAAIoC,kBAAqB,IAavChB,YAAYrD,UAAUgE,iBAAmB,SAAUI,MAClD,OAAOA,KACLP,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MAWpBR,YAAYrD,UAAU+D,mBAAqB,SAAUK,MACpD,OAAOA,KACLP,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MACjBA,QAAQ,QAAS,MACjBA,QAAQ,QAAS,OAuDpB,MAAMyB,SAAWC,KAAKC,IAAI,EAAG,GAAK,GAAK,EAWvC,SAASC,KAAMlE,QAASmE,QAASC,MAGhC,KAAMhG,gBAAgB8F,MAAQ,CAC7B,OAAO,IAAIA,KAAKlE,QAASmE,QAASC,MAInChG,KAAK4B,QAAU,IAAI8B,YAAY9B,SAG/B,UAAWmE,UAAY,WAAa,CACnCC,KAAOD,QACPA,aAAe,EAIhB/F,KAAK+F,QAAU/F,KAAKiG,eAAeF,SAKnC,GAAIC,YAAc,EAAI,CACrBhG,KAAKkG,GAAKF,KACVhG,KAAKmG,WAGN,OAAOnG,KAWR8F,KAAKzF,UAAU4F,eAAiB,SAAUF,SAGzC,GAAIA,eAAiB,EAAG,CACvBA,QAAU,GAIXA,QAAQK,OAAUL,QAAQK,cAAgB,EAAK,MAAQL,QAAQK,OAC/DL,QAAQM,QAAWN,QAAQM,eAAiB,EAAKC,SAAWP,QAAQM,QACpEN,QAAQQ,MAASR,QAAQQ,aAAe,EAAK,MAAQR,QAAQQ,MAC7DR,QAAQS,KAAO,MAGf,GAAIT,QAAQU,QAAU,CACrBV,QAAQU,QAAU,IAAI3G,SAASiG,QAAQU,QAASV,QAAQhG,UAEzD,GAAIgG,QAAQW,OAAS,CACpBX,QAAQW,OAAS,IAAI5G,SAASiG,QAAQW,OAAQX,QAAQhG,UAGvD,OAAOgG,SASRD,KAAKzF,UAAUsG,KAAO,SAAUC,MAC/BA,KAAO,IAAI9G,SAAS8G,KAAM5G,KAAK+F,QAAQhG,UACvC,MAAM4G,KAAO3G,KAAK6G,MAAMD,MACxB,OAAOD,KAAOA,KAAK3F,UAAY,MAShC8E,KAAKzF,UAAUyG,QAAU,WACxB,MAAMC,OAAS/G,KAAKgH,SAAShH,KAAKiH,aAClC,MAAMH,SAAW9G,KAAK+F,QAAQK,QAAUpG,KAAKkG,UAAY,EACzD,OAAOa,SAAW,MAAQD,SAS3BhB,KAAKzF,UAAU6G,SAAW,WACzB,OAAOlH,KAAKiH,YAAcjH,KAAKiH,YAAYjG,UAAY,MAUxD8E,KAAKzF,UAAUwG,MAAQ,SAAUD,MAGhC,GAAI5G,KAAK+F,QAAQU,SAAWG,MAAQA,KAAK7E,QAAQ,MAAQ/B,KAAK+F,QAAQU,QAAQ1E,QAAQ,MAAQ,CAC7F6E,KAAO,IAAI9G,SAASE,KAAK+F,QAAQU,QAASzG,KAAK+F,QAAQhG,UAIxD,MAAMoH,QAAU,IAAIrH,SAAS8G,KAAM5G,KAAK+F,QAAQhG,UAAU4B,UAAU3B,KAAK4B,SAEzE,GAAKuF,UAAY,MACfnH,KAAK+F,QAAQM,SAAW,GACxBrG,KAAK+F,QAAY,MACjB/F,KAAK+F,QAAQW,QAAUS,QAAQpF,QAAQ,OAAS/B,KAAK+F,QAAQW,OAAO3E,QAAQ,MAAS,CACtF,OAAO,SACD,CAEN,OAAOoF,UAYTrB,KAAKzF,UAAU2G,SAAW,SAAUJ,MACnCA,KAAO,IAAI9G,SAAS8G,KAAM5G,KAAK+F,QAAQhG,UACvC,MAAM4G,KAAO3G,KAAK6G,MAAMD,MACxB,GAAID,KAAO,CACV,OAAQA,KAAK5E,QAAQ,MAAQ6E,KAAK7E,QAAQ,UACpC,CACN,OAAO,OAQT+D,KAAKzF,UAAU+G,KAAO,WACrBpH,KAAK+F,QAAQS,KAAO,KAEpB,GAAIxG,KAAKqH,eAAiB,CACzBC,aAActH,KAAKqH,kBAUrBvB,KAAKzF,UAAUkH,MAAQ,WACtB,OAAQvH,KAAK+F,QAAQK,OAAS,QAAUpG,KAAK+F,QAAQS,MAStDV,KAAKzF,UAAUmH,OAAS,WACvB,QAASxH,KAAK+F,QAAQK,OAAS,SAAWpG,KAAK+F,QAAQS,MAUxDV,KAAKzF,UAAU8F,SAAW,SAAUH,MAGnC,GAAIA,MAAQhG,KAAKkG,GAAI,CACpB,MAAM,IAAIpB,MAAM,0FAGV,GAAIkB,KAAM,CAChBhG,KAAKkG,GAAKF,KAIX3D,IAAIoF,OAASzH,KAAKgH,SAAShH,KAAKiH,aAChC,GAAMQ,SAAW,KAAQ,OAAOzH,KAIhC,MAAM0H,UAAY1H,KAAK2F,UAAYA,SAGnC,GAAI8B,OAASC,UAAY,CACxBD,OAASC,UAIV,MAAMC,GAAK,KAEV,GAAIF,SAAWC,YAAc1H,KAAK+F,QAAQK,OAAS,CAElDpG,KAAK+F,QAAQM,UAGb,GAAIrG,KAAK+F,QAAQQ,MAAO,CACvB,IACCvG,KAAKkG,GAAGlG,KAAMA,KAAK+F,QAAQ6B,SAC1B,MAAOC,UAGH,CACN7H,KAAKkG,GAAGlG,KAAMA,KAAK+F,QAAQ6B,SAG5B5H,KAAKiH,YAAc,IAAInH,cAAc,EAAGE,KAAK+F,QAAQhG,UAKtDC,KAAKmG,YAINnG,KAAKqH,eAAiBS,WAAWH,GAAIF,QAErC,OAAOzH,aAIC8F,KAAMA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "croner",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.83",
|
|
4
4
|
"description": "Trigger functions in javascript using Cron syntax. No dependencies.",
|
|
5
5
|
"author": "Hexagon <github.com/hexagon>",
|
|
6
6
|
"homepage": "https://hexagon.github.io/croner",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"module": "./src/croner.js",
|
|
54
54
|
"types": "types/croner.single.d.ts",
|
|
55
55
|
"exports": {
|
|
56
|
+
"./package.json": "./package.json",
|
|
56
57
|
".": {
|
|
57
58
|
"import": "./src/croner.js",
|
|
58
59
|
"require": "./dist/croner.cjs",
|
package/src/croner.js
CHANGED
|
@@ -246,8 +246,12 @@ Cron.prototype.resume = function () {
|
|
|
246
246
|
*/
|
|
247
247
|
Cron.prototype.schedule = function (func) {
|
|
248
248
|
|
|
249
|
+
// If a function is already scheduled, bail out
|
|
250
|
+
if (func && this.fn) {
|
|
251
|
+
throw new Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");
|
|
252
|
+
|
|
249
253
|
// Update function if passed
|
|
250
|
-
if (func) {
|
|
254
|
+
} else if (func) {
|
|
251
255
|
this.fn = func;
|
|
252
256
|
}
|
|
253
257
|
|