croner 4.2.1 → 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.
package/dist/croner.cjs CHANGED
@@ -187,8 +187,7 @@
187
187
  this.milliseconds = 0;
188
188
 
189
189
  const
190
- origTime = this.getTime(),
191
-
190
+
192
191
  /**
193
192
  * Find next
194
193
  *
@@ -249,6 +248,7 @@
249
248
 
250
249
  if (match) {
251
250
  this[target] = i-offset;
251
+ this.apply();
252
252
  return true;
253
253
  }
254
254
 
@@ -305,6 +305,7 @@
305
305
 
306
306
  // If pattern didn't provide a match, increment next value (e.g. minues)
307
307
  if(!findNext(toDo[doing][0], pattern, toDo[doing][2])) {
308
+
308
309
  this[toDo[doing][1]]++;
309
310
 
310
311
  // Reset current level and previous levels
@@ -312,6 +313,7 @@
312
313
 
313
314
  // If pattern provided a match, but changed current value ...
314
315
  } else if (currentValue !== this[toDo[doing][0]]) {
316
+
315
317
  // Reset previous levels
316
318
  resetPrevious(-1);
317
319
 
@@ -326,14 +328,7 @@
326
328
  doing++;
327
329
  }
328
330
 
329
- // If anything changed, recreate this CronDate and run again without incrementing
330
- if (origTime != this.getTime()) {
331
- this.apply();
332
- return this.increment(pattern, options, true);
333
- } else {
334
- return this;
335
- }
336
-
331
+ return this;
337
332
  };
338
333
 
339
334
  /**
@@ -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 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 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++){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;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(origTime!=this.getTime()){this.apply();return this.increment(pattern,options,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=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}};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 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}};return Cron});
@@ -1 +1 @@
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","origTime","getTime","findNext","target","offset","override","startPos","let","i","length","match","targetDate","setDate","lastDayOfMonth","targetDateCopy","dowMatch","daysOfWeek","getDay","starDayOfWeek","starDayOfMonth","resetPrevious","doing","toDo","currentValue","internal","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
+ {"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 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 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++){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;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(origTime!=this.getTime()){this.apply();return this.increment(pattern,options,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=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
+ 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":["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","origTime","getTime","findNext","target","offset","override","startPos","let","i","length","match","targetDate","setDate","lastDayOfMonth","targetDateCopy","dowMatch","daysOfWeek","getDay","starDayOfWeek","starDayOfMonth","resetPrevious","doing","toDo","currentValue","internal","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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"}
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.2.1",
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",
package/src/date.js CHANGED
@@ -118,8 +118,7 @@ CronDate.prototype.increment = function (pattern, options, rerun) {
118
118
  this.milliseconds = 0;
119
119
 
120
120
  const
121
- origTime = this.getTime(),
122
-
121
+
123
122
  /**
124
123
  * Find next
125
124
  *
@@ -180,6 +179,7 @@ CronDate.prototype.increment = function (pattern, options, rerun) {
180
179
 
181
180
  if (match) {
182
181
  this[target] = i-offset;
182
+ this.apply();
183
183
  return true;
184
184
  }
185
185
 
@@ -236,6 +236,7 @@ CronDate.prototype.increment = function (pattern, options, rerun) {
236
236
 
237
237
  // If pattern didn't provide a match, increment next value (e.g. minues)
238
238
  if(!findNext(toDo[doing][0], pattern, toDo[doing][2])) {
239
+
239
240
  this[toDo[doing][1]]++;
240
241
 
241
242
  // Reset current level and previous levels
@@ -243,6 +244,7 @@ CronDate.prototype.increment = function (pattern, options, rerun) {
243
244
 
244
245
  // If pattern provided a match, but changed current value ...
245
246
  } else if (currentValue !== this[toDo[doing][0]]) {
247
+
246
248
  // Reset previous levels
247
249
  resetPrevious(-1);
248
250
 
@@ -257,14 +259,7 @@ CronDate.prototype.increment = function (pattern, options, rerun) {
257
259
  doing++;
258
260
  }
259
261
 
260
- // If anything changed, recreate this CronDate and run again without incrementing
261
- if (origTime != this.getTime()) {
262
- this.apply();
263
- return this.increment(pattern, options, true);
264
- } else {
265
- return this;
266
- }
267
-
262
+ return this;
268
263
  };
269
264
 
270
265
  /**