croner 4.0.89 → 4.0.90
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/dist/croner.cjs +3 -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 +1 -1
- package/src/date.js +3 -1
package/dist/croner.cjs
CHANGED
|
@@ -245,7 +245,9 @@
|
|
|
245
245
|
// Set days to one day before the first of next month
|
|
246
246
|
baseDate.setMonth(baseDate.getMonth()+1);
|
|
247
247
|
baseDate.setDate(0);
|
|
248
|
-
this.days
|
|
248
|
+
if (this.days < baseDate.getDate()) {
|
|
249
|
+
this.days = baseDate.getDate();
|
|
250
|
+
}
|
|
249
251
|
|
|
250
252
|
// If day has changed, reset everything before days
|
|
251
253
|
if (this.days !== originalDays) {
|
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=offset=>{while(doing+offset>=0){findNext(toDo[doing+offset][0],pattern,toDo[doing+offset][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){let currentValue=this[toDo[doing][0]];if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious(0)}else if(currentValue!==this[toDo[doing][0]]){resetPrevious(-1)}if(this.years>=4e3){return null}doing++}if(pattern.lastDayOfMonth){let baseDate=this.getDate(true),originalDays=this.days;baseDate.setMonth(baseDate.getMonth()+1);baseDate.setDate(0);this.days=baseDate.getDate();if(this.days!==originalDays){doing=2;resetPrevious()}}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,timezone){this.pattern=pattern;this.timezone=timezone;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.lastDayOfMonth=false;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")}if(parts[3].toUpperCase()=="L"){parts[3]="28,29,30,31";this.lastDayOfMonth=true}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);let initDate=new CronDate(new Date,this.timezone).getDate(true);parts[0]=parts[0].replace("?",initDate.getSeconds());parts[1]=parts[1].replace("?",initDate.getMinutes());parts[2]=parts[2].replace("?",initDate.getHours());parts[3]=parts[3].replace("?",initDate.getDate());parts[4]=parts[4].replace("?",initDate.getMonth()+1);parts[5]=parts[5].replace("?",initDate.getDay());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)}if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);this.pattern=new CronPattern(pattern,this.options.timezone);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.enumerate=function(n,previous){let enumeration=[];while(n--){previous=this.next(previous);if(previous!==null){enumeration.push(previous)}else{break}}return enumeration};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});
|
|
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=offset=>{while(doing+offset>=0){findNext(toDo[doing+offset][0],pattern,toDo[doing+offset][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){let currentValue=this[toDo[doing][0]];if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious(0)}else if(currentValue!==this[toDo[doing][0]]){resetPrevious(-1)}if(this.years>=4e3){return null}doing++}if(pattern.lastDayOfMonth){let baseDate=this.getDate(true),originalDays=this.days;baseDate.setMonth(baseDate.getMonth()+1);baseDate.setDate(0);if(this.days<baseDate.getDate()){this.days=baseDate.getDate()}if(this.days!==originalDays){doing=2;resetPrevious()}}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,timezone){this.pattern=pattern;this.timezone=timezone;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.lastDayOfMonth=false;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")}if(parts[3].toUpperCase()=="L"){parts[3]="28,29,30,31";this.lastDayOfMonth=true}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);let initDate=new CronDate(new Date,this.timezone).getDate(true);parts[0]=parts[0].replace("?",initDate.getSeconds());parts[1]=parts[1].replace("?",initDate.getMinutes());parts[2]=parts[2].replace("?",initDate.getHours());parts[3]=parts[3].replace("?",initDate.getDate());parts[4]=parts[4].replace("?",initDate.getMonth()+1);parts[5]=parts[5].replace("?",initDate.getDay());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)}if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);this.pattern=new CronPattern(pattern,this.options.timezone);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.enumerate=function(n,previous){let enumeration=[];while(n--){previous=this.next(previous);if(previous!==null){enumeration.push(previous)}else{break}}return enumeration};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","currentValue","lastDayOfMonth","baseDate","originalDays","setMonth","setDate","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","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","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","enumerate","n","previous","enumeration","push","running","msLeft","msToNext","previousrun","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","currentValue","lastDayOfMonth","baseDate","originalDays","setMonth","setDate","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","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","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","enumerate","n","previous","enumeration","push","running","msLeft","msToNext","previousrun","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=offset=>{while(doing+offset>=0){findNext(toDo[doing+offset][0],pattern,toDo[doing+offset][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){let currentValue=this[toDo[doing][0]];if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious(0)}else if(currentValue!==this[toDo[doing][0]]){resetPrevious(-1)}if(this.years>=4e3){return null}doing++}if(pattern.lastDayOfMonth){let baseDate=this.getDate(true),originalDays=this.days;baseDate.setMonth(baseDate.getMonth()+1);baseDate.setDate(0);this.days=baseDate.getDate();if(this.days!==originalDays){doing=2;resetPrevious()}}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,timezone){this.pattern=pattern;this.timezone=timezone;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.lastDayOfMonth=false;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")}if(parts[3].toUpperCase()=="L"){parts[3]="28,29,30,31";this.lastDayOfMonth=true}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);let initDate=new CronDate(new Date,this.timezone).getDate(true);parts[0]=parts[0].replace("?",initDate.getSeconds());parts[1]=parts[1].replace("?",initDate.getMinutes());parts[2]=parts[2].replace("?",initDate.getHours());parts[3]=parts[3].replace("?",initDate.getDate());parts[4]=parts[4].replace("?",initDate.getMonth()+1);parts[5]=parts[5].replace("?",initDate.getDay());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)}if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);this.pattern=new CronPattern(pattern,this.options.timezone);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.enumerate=function(n,previous){let enumeration=[];while(n--){previous=this.next(previous);if(previous!==null){enumeration.push(previous)}else{break}}return enumeration};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};
|
|
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=offset=>{while(doing+offset>=0){findNext(toDo[doing+offset][0],pattern,toDo[doing+offset][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){let currentValue=this[toDo[doing][0]];if(!findNext(toDo[doing][0],pattern,toDo[doing][2])){this[toDo[doing][1]]++;resetPrevious(0)}else if(currentValue!==this[toDo[doing][0]]){resetPrevious(-1)}if(this.years>=4e3){return null}doing++}if(pattern.lastDayOfMonth){let baseDate=this.getDate(true),originalDays=this.days;baseDate.setMonth(baseDate.getMonth()+1);baseDate.setDate(0);if(this.days<baseDate.getDate()){this.days=baseDate.getDate()}if(this.days!==originalDays){doing=2;resetPrevious()}}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,timezone){this.pattern=pattern;this.timezone=timezone;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.lastDayOfMonth=false;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")}if(parts[3].toUpperCase()=="L"){parts[3]="28,29,30,31";this.lastDayOfMonth=true}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);let initDate=new CronDate(new Date,this.timezone).getDate(true);parts[0]=parts[0].replace("?",initDate.getSeconds());parts[1]=parts[1].replace("?",initDate.getMinutes());parts[2]=parts[2].replace("?",initDate.getHours());parts[3]=parts[3].replace("?",initDate.getDate());parts[4]=parts[4].replace("?",initDate.getMonth()+1);parts[5]=parts[5].replace("?",initDate.getDay());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)}if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);this.pattern=new CronPattern(pattern,this.options.timezone);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.enumerate=function(n,previous){let enumeration=[];while(n--){previous=this.next(previous);if(previous!==null){enumeration.push(previous)}else{break}}return enumeration};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","currentValue","lastDayOfMonth","baseDate","originalDays","setMonth","setDate","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","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","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","enumerate","n","previous","enumeration","push","running","msLeft","msToNext","previousrun","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","currentValue","lastDayOfMonth","baseDate","originalDays","setMonth","setDate","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","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","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","enumerate","n","previous","enumeration","push","running","msLeft","msToNext","previousrun","nextRun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","_maxDelay","go","context","_e","setTimeout"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "croner",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.90",
|
|
4
4
|
"description": "Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environmens.",
|
|
5
5
|
"author": "Hexagon <github.com/hexagon>",
|
|
6
6
|
"homepage": "https://hexagon.github.io/croner",
|
package/src/date.js
CHANGED
|
@@ -221,7 +221,9 @@ CronDate.prototype.increment = function (pattern, rerun) {
|
|
|
221
221
|
// Set days to one day before the first of next month
|
|
222
222
|
baseDate.setMonth(baseDate.getMonth()+1);
|
|
223
223
|
baseDate.setDate(0);
|
|
224
|
-
this.days
|
|
224
|
+
if (this.days < baseDate.getDate()) {
|
|
225
|
+
this.days = baseDate.getDate();
|
|
226
|
+
}
|
|
225
227
|
|
|
226
228
|
// If day has changed, reset everything before days
|
|
227
229
|
if (this.days !== originalDays) {
|