croner 4.1.97 → 4.2.2

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.
@@ -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","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","lastDayOfMonth","baseDate","setDate","resetPrevious","doing","toDo","currentValue","daysOfWeek","getDay","internal","targetDate","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","generatedDate","indexOf","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","match","lower","upper","steps","start","maxDelay","Math","pow","options","func","processOptions","once","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","setTimeout","context","_e"],"mappings":"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"}
1
+ {"version":3,"sources":["dist/croner.cjs"],"names":["global","factory","exports","module","define","amd","globalThis","self","Cron","this","CronTZ","date","tzString","Date","toLocaleString","timeZone","CronOptions","options","legacyMode","paused","maxRuns","Infinity","catch","kill","startAt","CronDate","timezone","stopAt","fromDate","fromString","fromCronDate","TypeError","prototype","milliseconds","getMilliseconds","seconds","getSeconds","minutes","getMinutes","hours","getHours","days","getDate","months","getMonth","years","getFullYear","apply","newDate","str","parsedDate","parseISOLocal","isNaN","increment","pattern","rerun","findNext","target","offset","override","startPos","let","i","length","match","targetDate","setDate","lastDayOfMonth","targetDateCopy","dowMatch","daysOfWeek","getDay","starDayOfWeek","starDayOfMonth","resetPrevious","doing","toDo","currentValue","internal","getTime","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","generatedDate","indexOf","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","lower","upper","steps","start","maxDelay","Math","pow","func","once","fn","schedule","next","prev","_next","enumerate","n","previous","enumeration","push","running","msLeft","msToNext","previousrun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","setTimeout","context","_e","nextRun"],"mappings":"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"}
@@ -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){if(this.timezone){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)};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]){if(target==="days"&&pattern.lastDayOfMonth){let baseDate=this.getDate(true);baseDate.setDate(i-offset+1);if(baseDate.getMonth()!==this["months"]){this[target]=i-offset;return true}}else{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++}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{let generatedDate;if(dateTimeString.indexOf("Z")>0){generatedDate=new Date(Date.UTC(year,month-1,day,hour,minute,second));if(year==generatedDate.getUTCFullYear()&&month==generatedDate.getUTCMonth()+1&&day==generatedDate.getUTCDate()&&hour==generatedDate.getUTCHours()&&minute==generatedDate.getUTCMinutes()&&second==generatedDate.getUTCSeconds()){return generatedDate}else{return NaN}}else{generatedDate=new Date(year,month-1,day,hour,minute,second);if(year==generatedDate.getFullYear()&&month==generatedDate.getMonth()+1&&day==generatedDate.getDate()&&hour==generatedDate.getHours()&&minute==generatedDate.getMinutes()&&second==generatedDate.getSeconds()){return generatedDate}else{return NaN}}}};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);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]=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]=1}};CronPattern.prototype.handleStepping=function(conf,type){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]=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);if(pattern&&pattern instanceof Date){this.once=new CronDate(pattern,this.options.timezone)}else if(pattern&&typeof pattern==="string"&&pattern.indexOf(":")>0){this.once=new CronDate(pattern,this.options.timezone)}else{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))){enumeration.push(previous)}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=this.options.startAt}const nextRun=this.once||new CronDate(prev,this.options.timezone).increment(this.pattern);if(this.once&&this.once.getTime(true)<=prev.getTime(true)){return null}else 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;if(waitMs>maxDelay){waitMs=maxDelay}this.currentTimeout=setTimeout(()=>{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()},waitMs);return this};export{Cron,Cron as default};
1
+ function CronTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronOptions(options){if(options===void 0){options={}}options.legacyMode=options.legacyMode===void 0?false:options.legacyMode;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}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){if(this.timezone){date=CronTZ(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)};CronDate.prototype.increment=function(pattern,options,rerun){if(!rerun){this.seconds+=1}this.milliseconds=0;const findNext=(target,pattern,offset,override)=>{const startPos=override===void 0?this[target]+offset:0+offset;for(let i=startPos;i<pattern[target].length;i++){let match=pattern[target][i];if(target==="days"){let targetDate=this.getDate(true);targetDate.setDate(i-offset);if(pattern.lastDayOfMonth){let targetDateCopy=new Date(targetDate);targetDateCopy.setDate(i-offset+1);if(targetDateCopy.getMonth()!==this.months){match=true}}const dowMatch=pattern.daysOfWeek[targetDate.getDay()];if(options.legacyMode){if(!pattern.starDayOfWeek&&pattern.starDayOfMonth){match=dowMatch}else if(!pattern.starDayOfWeek&&!pattern.starDayOfMonth){match=match||dowMatch}}else{match=match&&dowMatch}}if(match){this[target]=i-offset;this.apply();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++}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=CronTZ(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{let generatedDate;if(dateTimeString.indexOf("Z")>0){generatedDate=new Date(Date.UTC(year,month-1,day,hour,minute,second));if(year==generatedDate.getUTCFullYear()&&month==generatedDate.getUTCMonth()+1&&day==generatedDate.getUTCDate()&&hour==generatedDate.getUTCHours()&&minute==generatedDate.getUTCMinutes()&&second==generatedDate.getUTCSeconds()){return generatedDate}else{return NaN}}else{generatedDate=new Date(year,month-1,day,hour,minute,second);if(year==generatedDate.getFullYear()&&month==generatedDate.getMonth()+1&&day==generatedDate.getDate()&&hour==generatedDate.getHours()&&minute==generatedDate.getMinutes()&&second==generatedDate.getSeconds()){return generatedDate}else{return NaN}}}};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.starDayOfMonth=false;this.starDayOfWeek=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].indexOf("L")>=0){parts[3]=parts[3].replace("L","");this.lastDayOfMonth=true}if(parts[3].toUpperCase()=="*"){this.starDayOfMonth=true}parts[4]=this.replaceAlphaMonths(parts[4]);parts[5]=this.replaceAlphaDays(parts[5]);if(parts[5].toUpperCase()=="*"){this.starDayOfWeek=true}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 if(conf!==""){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(isNaN(i)){throw new TypeError("CronPattern: "+type+" is not a number: '"+conf+"'")}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);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]=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]=1}};CronPattern.prototype.handleStepping=function(conf,type){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]=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=CronOptions(options);this.once=void 0;this.pattern=void 0;if(pattern&&(pattern instanceof Date||typeof pattern==="string"&&pattern.indexOf(":")>0)){this.once=new CronDate(pattern,this.options.timezone)}else{this.pattern=new CronPattern(pattern,this.options.timezone)}if(func!==void 0){this.fn=func;this.schedule()}return this}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))){enumeration.push(previous)}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.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;if(waitMs>maxDelay){waitMs=maxDelay}this.currentTimeout=setTimeout(()=>{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()},waitMs);return this};Cron.prototype._next=function(prev){if(this.options.startAt&&prev&&prev.getTime(true)<this.options.startAt.getTime(true)){prev=this.options.startAt}const nextRun=this.once||new CronDate(prev,this.options.timezone).increment(this.pattern,this.options);if(this.once&&this.once.getTime(true)<=prev.getTime(true)){return null}else 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}};export{Cron,Cron as default};
@@ -1 +1 @@
1
- {"version":3,"sources":["dist/croner.mjs"],"names":["convertTZ","date","tzString","Date","toLocaleString","timeZone","CronDate","timezone","this","fromDate","fromString","fromCronDate","TypeError","prototype","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","lastDayOfMonth","baseDate","setDate","resetPrevious","doing","toDo","currentValue","daysOfWeek","getDay","internal","targetDate","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","generatedDate","indexOf","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","match","lower","upper","steps","start","maxDelay","Math","pow","Cron","options","func","processOptions","once","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","setTimeout","context","_e"],"mappings":"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"}
1
+ {"version":3,"sources":["dist/croner.mjs"],"names":["CronTZ","date","tzString","Date","toLocaleString","timeZone","CronOptions","options","legacyMode","paused","maxRuns","Infinity","catch","kill","startAt","CronDate","timezone","stopAt","this","fromDate","fromString","fromCronDate","TypeError","prototype","milliseconds","getMilliseconds","seconds","getSeconds","minutes","getMinutes","hours","getHours","days","getDate","months","getMonth","years","getFullYear","apply","newDate","str","parsedDate","parseISOLocal","isNaN","increment","pattern","rerun","findNext","target","offset","override","startPos","let","i","length","match","targetDate","setDate","lastDayOfMonth","targetDateCopy","dowMatch","daysOfWeek","getDay","starDayOfWeek","starDayOfMonth","resetPrevious","doing","toDo","currentValue","internal","getTime","dateTimeString","dateTimeStringSplit","split","NaN","year","parseInt","month","day","hour","minute","second","generatedDate","indexOf","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","CronPattern","Array","fill","parse","constructor","String","parts","trim","replace","unshift","toUpperCase","replaceAlphaMonths","replaceAlphaDays","initDate","throwAtIllegalCharacters","partToArray","type","conf","valueIndexOffset","recursed","arr","Error","handleRangeWithStepping","handleRange","handleStepping","handleNumber","reValidCron","test","matches","lower","upper","steps","start","maxDelay","Math","pow","Cron","func","once","fn","schedule","next","prev","_next","enumerate","n","previous","enumeration","push","running","msLeft","msToNext","previousrun","stop","currentTimeout","clearTimeout","pause","resume","waitMs","setTimeout","context","_e","nextRun"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "croner",
3
- "version": "4.1.97",
3
+ "version": "4.2.2",
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",
@@ -28,9 +28,13 @@
28
28
  "cron",
29
29
  "parser",
30
30
  "croner",
31
+ "schedule",
31
32
  "sheduler",
32
33
  "timer",
33
- "isomorphic"
34
+ "task",
35
+ "job",
36
+ "isomorphic",
37
+ "crontab"
34
38
  ],
35
39
  "scripts": {
36
40
  "test": "uvu test test.croner.js",
package/src/croner.js CHANGED
@@ -29,18 +29,7 @@
29
29
  ------------------------------------------------------------------------------------ */
30
30
  import { CronDate } from "./date.js";
31
31
  import { CronPattern } from "./pattern.js";
32
-
33
- /**
34
- * @typedef {Object} CronOptions - Cron scheduler options
35
- * @property {boolean} [paused] - Job is paused
36
- * @property {boolean} [kill] - Job is about to be killed or killed
37
- * @property {boolean} [catch] - Continue exection even if a unhandled error is thrown by triggered function
38
- * @property {number} [maxRuns] - Maximum nuber of executions
39
- * @property {string | Date} [startAt] - When to start running
40
- * @property {string | Date} [stopAt] - When to stop running
41
- * @property {string} [timezone] - Time zone in Europe/Stockholm format
42
- * @property {?} [context] - Used to pass any object to scheduled function
43
- */
32
+ import { CronOptions } from "./options.js";
44
33
 
45
34
  /**
46
35
  * Many JS engines stores the delay as a 32-bit signed integer internally.
@@ -77,22 +66,23 @@ function Cron (pattern, options, func) {
77
66
  }
78
67
 
79
68
  /** @type {CronOptions} */
80
- this.options = this.processOptions(options);
69
+ this.options = CronOptions(options);
70
+
71
+ /** @type {CronDate|undefined} */
72
+ this.once = void 0;
73
+
74
+ /** @type {CronPattern|undefined} */
75
+ this.pattern = void 0;
81
76
 
82
77
  // Check if we got a date, or a pattern supplied as first argument
83
- if (pattern && (pattern instanceof Date)) {
84
- this.once = new CronDate(pattern, this.options.timezone);
85
- } else if (pattern && (typeof pattern === "string") && pattern.indexOf(":") > 0) {
86
- /** @type {CronDate} */
78
+ // Then set either this.once or this.pattern
79
+ if (pattern && (pattern instanceof Date || ((typeof pattern === "string") && pattern.indexOf(":") > 0))) {
87
80
  this.once = new CronDate(pattern, this.options.timezone);
88
81
  } else {
89
- /** @type {CronPattern} */
90
82
  this.pattern = new CronPattern(pattern, this.options.timezone);
91
83
  }
92
84
 
93
- /**
94
- * Allow shorthand scheduling
95
- */
85
+ // Allow shorthand scheduling
96
86
  if( func !== void 0 ) {
97
87
  this.fn = func;
98
88
  this.schedule();
@@ -102,37 +92,6 @@ function Cron (pattern, options, func) {
102
92
 
103
93
  }
104
94
 
105
- /**
106
- * Internal function that validates options, and sets defaults
107
- * @private
108
- *
109
- * @param {CronOptions} options
110
- * @returns {CronOptions}
111
- */
112
- Cron.prototype.processOptions = function (options) {
113
-
114
- // If no options are passed, create empty object
115
- if (options === void 0) {
116
- options = {};
117
- }
118
-
119
- // Keep options, or set defaults
120
- options.paused = (options.paused === void 0) ? false : options.paused;
121
- options.maxRuns = (options.maxRuns === void 0) ? Infinity : options.maxRuns;
122
- options.catch = (options.catch === void 0) ? false : options.catch;
123
- options.kill = false;
124
-
125
- // startAt is set, validate it
126
- if( options.startAt ) {
127
- options.startAt = new CronDate(options.startAt, options.timezone);
128
- }
129
- if( options.stopAt ) {
130
- options.stopAt = new CronDate(options.stopAt, options.timezone);
131
- }
132
-
133
- return options;
134
- };
135
-
136
95
  /**
137
96
  * Find next runtime, based on supplied date. Strips milliseconds.
138
97
  *
@@ -184,40 +143,6 @@ Cron.prototype.previous = function () {
184
143
  return this.previousrun ? this.previousrun.getDate() : null;
185
144
  };
186
145
 
187
- /**
188
- * Internal version of next. Cron needs millseconds internally, hence _next.
189
- * @private
190
- *
191
- * @param {CronDate} prev - Input pattern
192
- * @returns {CronDate | null} - Next run time
193
- */
194
- Cron.prototype._next = function (prev) {
195
-
196
- // Previous run should never be before startAt
197
- if( this.options.startAt && prev && prev.getTime(true) < this.options.startAt.getTime(true) ) {
198
- prev = this.options.startAt;
199
- }
200
-
201
- // Calculate next run according to pattern or one-off timestamp
202
- const nextRun = this.once || new CronDate(prev, this.options.timezone).increment(this.pattern);
203
-
204
- if (this.once && this.once.getTime(true) <= prev.getTime(true)) {
205
- return null;
206
-
207
- } else if ((nextRun === null) ||
208
- (this.options.maxRuns <= 0) ||
209
- (this.options.kill) ||
210
- (this.options.stopAt && nextRun.getTime(true) >= this.options.stopAt.getTime(true) )) {
211
- return null;
212
-
213
- } else {
214
- // All seem good, return next run
215
- return nextRun;
216
-
217
- }
218
-
219
- };
220
-
221
146
  /**
222
147
  * Returns number of milliseconds to next run
223
148
  * @public
@@ -324,6 +249,41 @@ Cron.prototype.schedule = function (func) {
324
249
  return this;
325
250
 
326
251
  };
252
+
327
253
 
254
+ /**
255
+ * Internal version of next. Cron needs millseconds internally, hence _next.
256
+ * @private
257
+ *
258
+ * @param {CronDate} prev - Input pattern
259
+ * @returns {CronDate | null} - Next run time
260
+ */
261
+ Cron.prototype._next = function (prev) {
262
+
263
+ // Previous run should never be before startAt
264
+ if( this.options.startAt && prev && prev.getTime(true) < this.options.startAt.getTime(true) ) {
265
+ prev = this.options.startAt;
266
+ }
267
+
268
+ // Calculate next run according to pattern or one-off timestamp
269
+ const nextRun = this.once || new CronDate(prev, this.options.timezone).increment(this.pattern, this.options);
270
+
271
+ if (this.once && this.once.getTime(true) <= prev.getTime(true)) {
272
+ return null;
273
+
274
+ } else if ((nextRun === null) ||
275
+ (this.options.maxRuns <= 0) ||
276
+ (this.options.kill) ||
277
+ (this.options.stopAt && nextRun.getTime(true) >= this.options.stopAt.getTime(true) )) {
278
+ return null;
279
+
280
+ } else {
281
+ // All seem good, return next run
282
+ return nextRun;
283
+
284
+ }
285
+
286
+ };
287
+
328
288
  export default Cron;
329
289
  export { Cron };
package/src/date.js CHANGED
@@ -1,4 +1,5 @@
1
- import convertTZ from "./timezone.js";
1
+ import { CronTZ } from "./tz.js";
2
+ import { CronOptions } from "./options.js"; // eslint-disable-line no-unused-vars
2
3
 
3
4
  /**
4
5
  * Converts date to CronDate
@@ -33,7 +34,7 @@ function CronDate (date, timezone) {
33
34
  CronDate.prototype.fromDate = function (date) {
34
35
 
35
36
  if (this.timezone) {
36
- date = convertTZ(date, this.timezone);
37
+ date = CronTZ(date, this.timezone);
37
38
  }
38
39
 
39
40
  this.milliseconds = date.getMilliseconds();
@@ -104,10 +105,11 @@ CronDate.prototype.fromString = function (str) {
104
105
  * @public
105
106
  *
106
107
  * @param {string} pattern - The pattern used to increment current state
108
+ * @param {CronOptions} options - Cron options used for incrementing
107
109
  * @param {boolean} [rerun=false] - If this is an internal incremental run
108
110
  * @return {CronDate|null} - Returns itself for chaining, or null if increment wasnt possible
109
111
  */
110
- CronDate.prototype.increment = function (pattern, rerun) {
112
+ CronDate.prototype.increment = function (pattern, options, rerun) {
111
113
 
112
114
  if (!rerun) {
113
115
  this.seconds += 1;
@@ -116,8 +118,7 @@ CronDate.prototype.increment = function (pattern, rerun) {
116
118
  this.milliseconds = 0;
117
119
 
118
120
  const
119
- origTime = this.getTime(),
120
-
121
+
121
122
  /**
122
123
  * Find next
123
124
  *
@@ -135,27 +136,53 @@ CronDate.prototype.increment = function (pattern, rerun) {
135
136
 
136
137
  for( let i = startPos; i < pattern[target].length; i++ ) {
137
138
 
138
- // If pattern matches and, in case of days, weekday matches, go on
139
- if( pattern[target][i] ) {
140
-
139
+ // This applies to all "levels"
140
+ let match = pattern[target][i];
141
+
142
+ // Days has a couple of special cases
143
+ if (target === "days") {
144
+
145
+ // Create a date object for the target date
146
+ let targetDate = this.getDate(true);
147
+ targetDate.setDate(i-offset);
148
+
141
149
  // Special handling for L (last day of month), when we are searching for days
142
- if (target === "days" && pattern.lastDayOfMonth) {
143
- let baseDate = this.getDate(true);
150
+ if (pattern.lastDayOfMonth) {
144
151
 
152
+ // Create a copy of targetDate
145
153
  // Set days to one day after today, if month changes, then we are at the last day of the month
146
- baseDate.setDate(i-offset+1);
147
- if (baseDate.getMonth() !== this["months"]) {
148
- this[target] = i-offset;
149
- return true;
154
+ let targetDateCopy = new Date(targetDate);
155
+ targetDateCopy.setDate(i-offset+1);
156
+
157
+ // Overwrite match if last day of month is matching
158
+ if (targetDateCopy.getMonth() !== this.months) {
159
+ match = true;
160
+ }
161
+
162
+ }
163
+
164
+ // Weekdays must also match when incrementing days
165
+ // If running in legacy mode, it is sufficient that only weekday match.
166
+ const dowMatch = pattern.daysOfWeek[targetDate.getDay()];
167
+ if (options.legacyMode) {
168
+ if (!pattern.starDayOfWeek && pattern.starDayOfMonth) {
169
+ match = dowMatch;
170
+ } else if (!pattern.starDayOfWeek && !pattern.starDayOfMonth) {
171
+ match = match || dowMatch;
150
172
  }
151
-
152
- // Normal handling
153
173
  } else {
154
- this[target] = i-offset;
155
- return true;
174
+ // dom AND dow
175
+ match = match && dowMatch;
156
176
  }
157
177
 
158
178
  }
179
+
180
+ if (match) {
181
+ this[target] = i-offset;
182
+ this.apply();
183
+ return true;
184
+ }
185
+
159
186
  }
160
187
  return false;
161
188
 
@@ -209,6 +236,7 @@ CronDate.prototype.increment = function (pattern, rerun) {
209
236
 
210
237
  // If pattern didn't provide a match, increment next value (e.g. minues)
211
238
  if(!findNext(toDo[doing][0], pattern, toDo[doing][2])) {
239
+
212
240
  this[toDo[doing][1]]++;
213
241
 
214
242
  // Reset current level and previous levels
@@ -216,6 +244,7 @@ CronDate.prototype.increment = function (pattern, rerun) {
216
244
 
217
245
  // If pattern provided a match, but changed current value ...
218
246
  } else if (currentValue !== this[toDo[doing][0]]) {
247
+
219
248
  // Reset previous levels
220
249
  resetPrevious(-1);
221
250
 
@@ -229,25 +258,8 @@ CronDate.prototype.increment = function (pattern, rerun) {
229
258
  // Gp down, seconds -> minutes -> hours -> days -> months -> year
230
259
  doing++;
231
260
  }
232
-
233
- // This is a special case for weekday, as the user isn't able to combine date/month patterns
234
- // with weekday patterns, it's just to increment days until we get a match.
235
- while (!pattern.daysOfWeek[this.getDate(true).getDay()]) {
236
- this.days += 1;
237
-
238
- // Reset everything before days
239
- doing = 2;
240
- resetPrevious();
241
- }
242
-
243
- // If anything changed, recreate this CronDate and run again without incrementing
244
- if (origTime != this.getTime()) {
245
- this.apply();
246
- return this.increment(pattern, true);
247
- } else {
248
- return this;
249
- }
250
261
 
262
+ return this;
251
263
  };
252
264
 
253
265
  /**
@@ -262,7 +274,7 @@ CronDate.prototype.getDate = function (internal) {
262
274
  if (internal || !this.timezone) {
263
275
  return targetDate;
264
276
  } else {
265
- const offset = convertTZ(targetDate, this.timezone).getTime()-targetDate.getTime();
277
+ const offset = CronTZ(targetDate, this.timezone).getTime()-targetDate.getTime();
266
278
  return new Date(targetDate.getTime()-offset);
267
279
  }
268
280
  };
package/src/options.js ADDED
@@ -0,0 +1,49 @@
1
+ import { CronDate } from "./date.js";
2
+
3
+ /**
4
+ * @typedef {Object} CronOptions - Cron scheduler options
5
+ * @property {boolean} [paused] - Job is paused
6
+ * @property {boolean} [kill] - Job is about to be killed or killed
7
+ * @property {boolean} [catch] - Continue exection even if a unhandled error is thrown by triggered function
8
+ * @property {number} [maxRuns] - Maximum nuber of executions
9
+ * @property {string | Date} [startAt] - When to start running
10
+ * @property {string | Date} [stopAt] - When to stop running
11
+ * @property {string} [timezone] - Time zone in Europe/Stockholm format
12
+ * @property {boolean} [legacyMode] - Combine day-of-month and day-of-week using OR. Default is AND.
13
+ * @property {?} [context] - Used to pass any object to scheduled function
14
+ */
15
+
16
+ /**
17
+ * Internal function that validates options, and sets defaults
18
+ * @private
19
+ *
20
+ * @param {CronOptions} options
21
+ * @returns {CronOptions}
22
+ */
23
+ function CronOptions(options) {
24
+
25
+ // If no options are passed, create empty object
26
+ if (options === void 0) {
27
+ options = {};
28
+ }
29
+
30
+ // Keep options, or set defaults
31
+ options.legacyMode = (options.legacyMode === void 0) ? false : options.legacyMode;
32
+ options.paused = (options.paused === void 0) ? false : options.paused;
33
+ options.maxRuns = (options.maxRuns === void 0) ? Infinity : options.maxRuns;
34
+ options.catch = (options.catch === void 0) ? false : options.catch;
35
+ options.kill = false;
36
+
37
+ // startAt is set, validate it
38
+ if( options.startAt ) {
39
+ options.startAt = new CronDate(options.startAt, options.timezone);
40
+ }
41
+ if( options.stopAt ) {
42
+ options.stopAt = new CronDate(options.stopAt, options.timezone);
43
+ }
44
+
45
+ return options;
46
+
47
+ }
48
+
49
+ export { CronOptions };