croner 4.1.95 → 4.1.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,12 +51,12 @@ Benchmark at 2022-02-01:
51
51
  ```
52
52
  > node cron-implementation-test.js
53
53
 
54
- Test: When is next saturday 29th of february, pattern '0 0 0 29 2 6'
54
+ Test: When is next monday in october, pattern '0 0 0 * 10 1'
55
55
 
56
- node-schedule: 2022-02-05 00:00:00 in 55.13ms
57
- node-cron: ??? in 14.587ms
58
- cron: 2022-03-05 00:00:00 in 21.07ms
59
- croner: 2048-02-29 00:00:00 in 10.508ms
56
+ node-schedule: 2022-10-03 00:00:00 in 15.26ms
57
+ node-cron: ??? in 1.076ms
58
+ cron: 2022-11-07 00:00:00 in 2.923ms
59
+ croner: 2022-10-03 00:00:00 in 1.774ms
60
60
  ```
61
61
 
62
62
  <details>
@@ -70,13 +70,6 @@ node-cron: ??? in 1.676ms
70
70
  cron: 2022-03-15 00:00:00 in 6.066ms
71
71
  croner: 2022-02-15 00:00:00 in 0.575ms
72
72
 
73
- Test: When is next monday in october, pattern '0 0 0 * 10 1'
74
-
75
- node-schedule: 2022-10-03 00:00:00 in 15.26ms
76
- node-cron: ??? in 1.076ms
77
- cron: 2022-11-07 00:00:00 in 2.923ms
78
- croner: 2022-10-03 00:00:00 in 1.774ms
79
-
80
73
  Test: When is 23:00 next 31st march, pattern '0 0 23 31 3 *'
81
74
 
82
75
  node-schedule: 2022-03-31 23:00:00 in 18.894ms
@@ -215,7 +208,7 @@ job.stop();
215
208
 
216
209
  The expressions of Croner are very similar to the ones of Vixie Cron, with a few additions and changes listed below.
217
210
 
218
- * In croner, a combination of day-of-week and day-of-month will only trigger when both conditions match. An example: ```0 20 1 * MON``` will only trigger when monday occur the first day of any month. In Vixie Cron, it would trigger every monday AND the first day of every month.
211
+ * In croner, a combination of day-of-week and day-of-month will only trigger when both conditions match. An example: ```0 20 1 * MON``` will only trigger when monday occur the first day of any month. In Vixie Cron, it would trigger every monday AND the first day of every month. See issue [#53](https://github.com/Hexagon/croner/issues/53).
219
212
 
220
213
  * Croner expressions support the following additional modifiers
221
214
  - *?* A question mark is substituted with croner initialization time, as an example - `? ? * * * *` would be substituted with `25 8 * * * *` if time is `<any hour>:08:25` at the time of `new Cron('? ? * * * *', <...>)`. The question mark can be used in any field.
package/dist/croner.cjs CHANGED
@@ -561,7 +561,7 @@
561
561
  let [, lower, upper, steps] = matches;
562
562
  lower = parseInt(lower, 10) + valueIndexOffset;
563
563
  upper = parseInt(upper, 10) + valueIndexOffset;
564
- steps = parseInt(steps, 10) + valueIndexOffset;
564
+ steps = parseInt(steps, 10);
565
565
 
566
566
  if( isNaN(lower) ) throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");
567
567
  if( isNaN(upper) ) throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");
@@ -574,7 +574,7 @@
574
574
  if( lower > upper ) throw new TypeError("CronPattern: From value is larger than to value: '" + conf + "'");
575
575
 
576
576
  for (let i = lower; i <= upper; i += steps) {
577
- this[type][(i + valueIndexOffset)] = 1;
577
+ this[type][i] = 1;
578
578
  }
579
579
  };
580
580
 
@@ -613,7 +613,7 @@
613
613
  }
614
614
 
615
615
  for( let i = lower; i <= upper; i++ ) {
616
- this[type][(i + valueIndexOffset)] = 1;
616
+ this[type][i] = 1;
617
617
  }
618
618
  };
619
619
 
@@ -623,9 +623,8 @@
623
623
  *
624
624
  * @param {string} conf - Current part, expected to be a string like * /20 (without the space)
625
625
  * @param {string} type - One of "seconds", "minutes" etc
626
- * @param {number} valueIndexOffset - -1 for day of month, and month, as they start at 1. 0 for seconds, hours, minutes
627
626
  */
628
- CronPattern.prototype.handleStepping = function (conf, type, valueIndexOffset) {
627
+ CronPattern.prototype.handleStepping = function (conf, type) {
629
628
 
630
629
  const split = conf.split("/");
631
630
 
@@ -645,7 +644,7 @@
645
644
  if( steps > this[type].length ) throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");
646
645
 
647
646
  for( let i = start; i < this[type].length; i+= steps ) {
648
- this[type][(i + valueIndexOffset)] = 1;
647
+ this[type][i] = 1;
649
648
  }
650
649
  };
651
650
 
@@ -776,7 +775,7 @@
776
775
  if (pattern && (pattern instanceof Date)) {
777
776
  this.once = new CronDate(pattern, this.options.timezone);
778
777
  } else if (pattern && (typeof pattern === "string") && pattern.indexOf(":") > 0) {
779
- /** @type {CronPattern} */
778
+ /** @type {CronDate} */
780
779
  this.once = new CronDate(pattern, this.options.timezone);
781
780
  } else {
782
781
  /** @type {CronPattern} */
@@ -1 +1 @@
1
- (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.Cron=factory())})(this,function(){"use strict";function convertTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronDate(date,timezone){this.timezone=timezone;if(date&&date instanceof Date){this.fromDate(date)}else if(date===void 0){this.fromDate(new Date)}else if(date&&typeof date==="string"){this.fromString(date)}else if(date instanceof CronDate){this.fromCronDate(date)}else{throw new TypeError("CronDate: Invalid type ("+typeof date+") passed as parameter to CronDate constructor")}}CronDate.prototype.fromDate=function(date){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]&&(target!=="days"||pattern.daysOfWeek[this.getDate(true).getDay()])){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++}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)+valueIndexOffset;if(isNaN(lower))throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(upper))throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");if(lower<0||upper>=this[type].length)throw new TypeError("CronPattern: Value out of range: '"+conf+"'");if(lower>upper)throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'");for(let i=lower;i<=upper;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleRange=function(conf,type,valueIndexOffset){const split=conf.split("-");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal range: '"+conf+"'")}const lower=parseInt(split[0],10)+valueIndexOffset,upper=parseInt(split[1],10)+valueIndexOffset;if(isNaN(lower)){throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)")}else if(isNaN(upper)){throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)")}if(lower<0||upper>=this[type].length){throw new TypeError("CronPattern: Value out of range: '"+conf+"'")}if(lower>upper){throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'")}for(let i=lower;i<=upper;i++){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleStepping=function(conf,type,valueIndexOffset){const split=conf.split("/");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+conf+"'")}let start=0;if(split[0]!=="*"){start=parseInt(split[0],10)}const steps=parseInt(split[1],10);if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");for(let i=start;i<this[type].length;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.replaceAlphaDays=function(conf){return conf.replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")};CronPattern.prototype.replaceAlphaMonths=function(conf){return conf.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")};const maxDelay=Math.pow(2,32-1)-1;function Cron(pattern,options,func){if(!(this instanceof Cron)){return new Cron(pattern,options,func)}if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);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};return Cron});
1
+ (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.Cron=factory())})(this,function(){"use strict";function convertTZ(date,tzString){return new Date(date.toLocaleString("en-US",{timeZone:tzString}))}function CronDate(date,timezone){this.timezone=timezone;if(date&&date instanceof Date){this.fromDate(date)}else if(date===void 0){this.fromDate(new Date)}else if(date&&typeof date==="string"){this.fromString(date)}else if(date instanceof CronDate){this.fromCronDate(date)}else{throw new TypeError("CronDate: Invalid type ("+typeof date+") passed as parameter to CronDate constructor")}}CronDate.prototype.fromDate=function(date){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]&&(target!=="days"||pattern.daysOfWeek[this.getDate(true).getDay()])){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++}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};return Cron});
@@ -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","daysOfWeek","getDay","lastDayOfMonth","baseDate","setDate","resetPrevious","doing","toDo","currentValue","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":"CAAA,SAAWA,OAAQC,gBACXC,UAAY,iBAAmBC,SAAW,YAAcA,OAAOD,QAAUD,iBACzEG,SAAW,YAAcA,OAAOC,IAAMD,OAAOH,UACnDD,cAAgBM,aAAe,YAAcA,WAAaN,QAAUO,KAAMP,OAAOQ,KAAOP,YAH1F,CAIGQ,KAAM,wBAkBR,SAASC,UAAUC,KAAMC,UACxB,OAAO,IAAIC,KAAKF,KAAKG,eAAe,QAAS,CAACC,SAAUH,YAUzD,SAASI,SAAUL,KAAMM,UAExBR,KAAKQ,SAAWA,SAEhB,GAAIN,MAAQA,gBAAgBE,KAAM,CACjCJ,KAAKS,SAASP,WACR,GAAIA,YAAc,EAAG,CAC3BF,KAAKS,SAAS,IAAIL,WACZ,GAAIF,aAAeA,OAAS,SAAU,CAC5CF,KAAKU,WAAWR,WACV,GAAIA,gBAAgBK,SAAU,CACpCP,KAAKW,aAAaT,UACZ,CACN,MAAM,IAAIU,UAAU,kCAAoCV,KAAO,kDAUjEK,SAASM,UAAUJ,SAAW,SAAUP,MAEvC,GAAIF,KAAKQ,SAAU,CAClBN,KAAOD,UAAUC,KAAMF,KAAKQ,UAG7BR,KAAKc,aAAeZ,KAAKa,kBACzBf,KAAKgB,QAAUd,KAAKe,aACpBjB,KAAKkB,QAAUhB,KAAKiB,aACpBnB,KAAKoB,MAAQlB,KAAKmB,WAClBrB,KAAKsB,KAAOpB,KAAKqB,UACjBvB,KAAKwB,OAAUtB,KAAKuB,WACpBzB,KAAK0B,MAAQxB,KAAKyB,eAUnBpB,SAASM,UAAUF,aAAe,SAAUT,MAC3CF,KAAKQ,SAAWN,KAAKM,SACrBR,KAAKc,aAAeZ,KAAKY,aACzBd,KAAKgB,QAAUd,KAAKc,QACpBhB,KAAKkB,QAAUhB,KAAKgB,QACpBlB,KAAKoB,MAAQlB,KAAKkB,MAClBpB,KAAKsB,KAAOpB,KAAKoB,KACjBtB,KAAKwB,OAAStB,KAAKsB,OACnBxB,KAAK0B,MAAQxB,KAAKwB,OASnBnB,SAASM,UAAUe,MAAQ,WAC1B,MAAMC,QAAU,IAAIzB,KAAKJ,KAAK0B,MAAO1B,KAAKwB,OAAQxB,KAAKsB,KAAMtB,KAAKoB,MAAOpB,KAAKkB,QAASlB,KAAKgB,QAAShB,KAAKc,cAE1Gd,KAAKc,aAAee,QAAQd,kBAC5Bf,KAAKgB,QAAUa,QAAQZ,aACvBjB,KAAKkB,QAAUW,QAAQV,aACvBnB,KAAKoB,MAAQS,QAAQR,WACrBrB,KAAKsB,KAAOO,QAAQN,UACpBvB,KAAKwB,OAAUK,QAAQJ,WACvBzB,KAAK0B,MAAQG,QAAQF,eAStBpB,SAASM,UAAUH,WAAa,SAAUoB,KAEzC,MAAMC,WAAa/B,KAAKgC,cAAcF,KAGtC,GAAIG,MAAMF,YAAc,CACvB,MAAM,IAAInB,UAAU,6EAGrBZ,KAAKS,SAASsB,aAWfxB,SAASM,UAAUqB,UAAY,SAAUC,QAASC,OAEjD,IAAKA,MAAO,CACXpC,KAAKgB,SAAW,EAGjBhB,KAAKc,aAAe,EAEpB,MACCuB,SAAWrC,KAAKsC,UAahBC,SAAW,CAACC,OAAQL,QAASM,OAAQC,YAEpC,MAAMC,SAAYD,gBAAkB,EAAK1C,KAAKwC,QAAUC,OAAS,EAAIA,OAErE,IAAKG,IAAIC,EAAIF,SAAUE,EAAIV,QAAQK,QAAQM,OAAQD,IAAM,CAGxD,GAAIV,QAAQK,QAAQK,KAAOL,SAAW,QAAWL,QAAQY,WAAW/C,KAAKuB,QAAQ,MAAMyB,WAAc,CAGpG,GAAIR,SAAW,QAAUL,QAAQc,eAAgB,CAChDL,IAAIM,SAAWlD,KAAKuB,QAAQ,MAG5B2B,SAASC,QAAQN,EAAEJ,OAAO,GAC1B,GAAIS,SAASzB,aAAezB,KAAK,UAAW,CAC3CA,KAAKwC,QAAUK,EAAEJ,OACjB,OAAO,UAIF,CACNzC,KAAKwC,QAAUK,EAAEJ,OACjB,OAAO,OAKV,OAAO,OAIRW,cAAgB,SAKf,MAAMC,MAAQZ,QAAU,EAAG,CAO1BF,SAASe,KAAKD,MAAQZ,QAAQ,GAAIN,QAASmB,KAAKD,MAAQZ,QAAQ,GAAI,GAGpEY,UAWH,MAAMC,KAAO,CACZ,CAAC,UAAW,UAAW,GACvB,CAAC,UAAW,QAAS,GACrB,CAAC,QAAS,OAAQ,GAClB,CAAC,OAAQ,UAAW,GACpB,CAAC,SAAU,QAAS,IAKrBV,IAAIS,MAAQ,EACZ,MAAMA,MAAQ,EAAG,CAOhBT,IAAIW,aAAevD,KAAKsD,KAAKD,OAAO,IAGpC,IAAId,SAASe,KAAKD,OAAO,GAAIlB,QAASmB,KAAKD,OAAO,IAAK,CACtDrD,KAAKsD,KAAKD,OAAO,MAGjBD,cAAc,QAGR,GAAIG,eAAiBvD,KAAKsD,KAAKD,OAAO,IAAK,CAEjDD,eAAe,GAKhB,GAAIpD,KAAK0B,OAAS,IAAM,CACvB,OAAO,KAIR2B,QAID,GAAIhB,UAAYrC,KAAKsC,UAAW,CAC/BtC,KAAK4B,QACL,OAAO5B,KAAKkC,UAAUC,QAAS,UACzB,CACN,OAAOnC,OAYTO,SAASM,UAAUU,QAAU,SAAUiC,UACtC,MAAMC,WAAa,IAAIrD,KAAKJ,KAAK0B,MAAO1B,KAAKwB,OAAQxB,KAAKsB,KAAMtB,KAAKoB,MAAOpB,KAAKkB,QAASlB,KAAKgB,QAAShB,KAAKc,cAC7G,GAAI0C,WAAaxD,KAAKQ,SAAU,CAC/B,OAAOiD,eACD,CACN,MAAMhB,OAASxC,UAAUwD,WAAYzD,KAAKQ,UAAU8B,UAAUmB,WAAWnB,UACzE,OAAO,IAAIlC,KAAKqD,WAAWnB,UAAUG,UAWvClC,SAASM,UAAUyB,QAAU,SAAUkB,UACtC,OAAOxD,KAAKuB,QAAQiC,UAAUlB,WAW/B/B,SAASM,UAAUmB,cAAgB,SAAU0B,gBAC5C,MAAMC,oBAAsBD,eAAeE,MAAM,MAGjD,GAAID,oBAAoBb,OAAS,EAAG,CACnC,OAAOe,IAGR,MACCC,KAAOC,SAASJ,oBAAoB,GAAI,IACxCK,MAAQD,SAASJ,oBAAoB,GAAI,IACzCM,IAAMF,SAASJ,oBAAoB,GAAI,IACvCO,KAAOH,SAASJ,oBAAoB,GAAI,IACxCQ,OAASJ,SAASJ,oBAAoB,GAAI,IAC1CS,OAASL,SAASJ,oBAAoB,GAAI,IAG3C,GAAI1B,MAAM6B,OAAS7B,MAAM+B,QAAU/B,MAAMgC,MAAQhC,MAAMiC,OAASjC,MAAMkC,SAAWlC,MAAMmC,QAAU,CAChG,OAAOP,QACD,CACNjB,IAAIyB,cAGJ,GAAKX,eAAeY,QAAQ,KAAO,EAAI,CAGtCD,cAAgB,IAAIjE,KAAKA,KAAKmE,IAAIT,KAAME,MAAM,EAAGC,IAAKC,KAAMC,OAAQC,SAGpE,GAAIN,MAAQO,cAAcG,kBACtBR,OAASK,cAAcI,cAAc,GACrCR,KAAOI,cAAcK,cACrBR,MAAQG,cAAcM,eACtBR,QAAUE,cAAcO,iBACxBR,QAAUC,cAAcQ,gBAAiB,CAC5C,OAAOR,kBACD,CACN,OAAOR,SAEF,CAGNQ,cAAgB,IAAIjE,KAAK0D,KAAME,MAAM,EAAGC,IAAKC,KAAMC,OAAQC,QAG3D,GAAIN,MAAQO,cAAc1C,eACtBqC,OAASK,cAAc5C,WAAW,GAClCwC,KAAOI,cAAc9C,WACrB2C,MAAQG,cAAchD,YACtB8C,QAAUE,cAAclD,cACxBiD,QAAUC,cAAcpD,aAAc,CACzC,OAAOoD,kBACD,CACN,OAAOR,QA0BX,SAASiB,YAAa3C,QAAS3B,UAE9BR,KAAKmC,QAAYA,QACjBnC,KAAKQ,SAAYA,SAEjBR,KAAKgB,QAAiB+D,MAAM,IAAIC,KAAK,GACrChF,KAAKkB,QAAiB6D,MAAM,IAAIC,KAAK,GACrChF,KAAKoB,MAAiB2D,MAAM,IAAIC,KAAK,GACrChF,KAAKsB,KAAiByD,MAAM,IAAIC,KAAK,GACrChF,KAAKwB,OAAiBuD,MAAM,IAAIC,KAAK,GACrChF,KAAK+C,WAAiBgC,MAAM,GAAGC,KAAK,GAEpChF,KAAKiD,eAAiB,MAEtBjD,KAAKiF,QAQNH,YAAYjE,UAAUoE,MAAQ,WAG7B,YAAajF,KAAKmC,UAAY,UAAYnC,KAAKmC,QAAQ+C,cAAgBC,QAAU,CAChF,MAAM,IAAIvE,UAAU,kDAIrB,MAAMwE,MAAQpF,KAAKmC,QAAQkD,OAAOC,QAAQ,OAAQ,KAAK1B,MAAM,KAG7D,GAAIwB,MAAMtC,OAAS,GAAKsC,MAAMtC,OAAS,EAAI,CAC1C,MAAM,IAAIlC,UAAU,+CAAiDZ,KAAKmC,QAAU,0DAIrF,GAAIiD,MAAMtC,SAAW,EAAG,CACvBsC,MAAMG,QAAQ,KAKf,GAAGH,MAAM,GAAGI,eAAiB,IAAK,CACjCJ,MAAM,GAAK,cACXpF,KAAKiD,eAAiB,KAIvBmC,MAAM,GAAKpF,KAAKyF,mBAAmBL,MAAM,IACzCA,MAAM,GAAKpF,KAAK0F,iBAAiBN,MAAM,IAGvCxC,IAAI+C,SAAW,IAAIpF,SAAS,IAAIH,KAAOJ,KAAKQ,UAAUe,QAAQ,MAE9D6D,MAAM,GAAKA,MAAM,GAAGE,QAAQ,IAAKK,SAAS1E,cAC1CmE,MAAM,GAAKA,MAAM,GAAGE,QAAQ,IAAKK,SAASxE,cAC1CiE,MAAM,GAAKA,MAAM,GAAGE,QAAQ,IAAKK,SAAStE,YAC1C+D,MAAM,GAAKA,MAAM,GAAGE,QAAQ,IAAKK,SAASpE,WAC1C6D,MAAM,GAAKA,MAAM,GAAGE,QAAQ,IAAKK,SAASlE,WAAW,GACrD2D,MAAM,GAAKA,MAAM,GAAGE,QAAQ,IAAKK,SAAS3C,UAG1ChD,KAAK4F,yBAAyBR,OAG9BpF,KAAK6F,YAAY,UAAcT,MAAM,GAAI,GACzCpF,KAAK6F,YAAY,UAAcT,MAAM,GAAI,GACzCpF,KAAK6F,YAAY,QAAcT,MAAM,GAAI,GACzCpF,KAAK6F,YAAY,OAAcT,MAAM,IAAK,GAC1CpF,KAAK6F,YAAY,SAAcT,MAAM,IAAK,GAC1CpF,KAAK6F,YAAY,aAAcT,MAAM,GAAI,GAGzC,GAAIpF,KAAK+C,WAAW,GAAK,CACxB/C,KAAK+C,WAAW,GAAK,IAcvB+B,YAAYjE,UAAUgF,YAAc,SAAUC,KAAMC,KAAMC,iBAAkBC,UAE3E,MAAMC,IAAMlG,KAAK8F,MAGjB,GAAIC,OAAS,IAAM,CAClB,IAAKnD,IAAIC,EAAI,EAAGA,EAAIqD,IAAIpD,OAAQD,IAAM,CACrCqD,IAAIrD,GAAK,EAEV,OAID,MAAMe,MAAQmC,KAAKnC,MAAM,KACzB,GAAIA,MAAMd,OAAS,EAAI,CACtB,IAAKF,IAAIC,EAAI,EAAGA,EAAIe,MAAMd,OAAQD,IAAM,CACvC7C,KAAK6F,YAAYC,KAAMlC,MAAMf,GAAImD,iBAAkB,YAI9C,GAAID,KAAKzB,QAAQ,QAAU,GAAKyB,KAAKzB,QAAQ,QAAU,EAAI,CACjE,GAAI2B,SAAU,MAAM,IAAIE,MAAM,0DAE9BnG,KAAKoG,wBAAwBL,KAAMD,KAAME,uBAGnC,GAAID,KAAKzB,QAAQ,QAAU,EAAI,CACrC,GAAI2B,SAAU,MAAM,IAAIE,MAAM,0DAE9BnG,KAAKqG,YAAYN,KAAMD,KAAME,uBAGvB,GAAID,KAAKzB,QAAQ,QAAU,EAAI,CACrC,GAAI2B,SAAU,MAAM,IAAIE,MAAM,0DAE9BnG,KAAKsG,eAAeP,KAAMD,KAAME,sBAE1B,CACNhG,KAAKuG,aAAaR,KAAMD,KAAME,oBAWhClB,YAAYjE,UAAU+E,yBAA2B,SAAUR,OAC1D,MAAMoB,YAAc,cACpB,IAAI5D,IAAIC,EAAI,EAAGA,EAAIuC,MAAMtC,OAAQD,IAAK,CACrC,GAAI2D,YAAYC,KAAKrB,MAAMvC,IAAM,CAChC,MAAM,IAAIjC,UAAU,oCAAsCiC,EAAI,KAAOuC,MAAMvC,GAAK,qCAanFiC,YAAYjE,UAAU0F,aAAe,SAAUR,KAAMD,KAAME,kBAC1D,MAAMnD,EAAKkB,SAASgC,KAAM,IAAMC,iBAEhC,GAAInD,EAAI,GAAKA,GAAK7C,KAAK8F,MAAMhD,OAAS,CACrC,MAAM,IAAIlC,UAAU,gBAAkBkF,KAAO,yBAA2BC,KAAO,KAGhF/F,KAAK8F,MAAMjD,GAAK,GAWjBiC,YAAYjE,UAAUuF,wBAA0B,SAAUL,KAAMD,KAAME,kBACrE,MAAMU,QAAUX,KAAKY,MAAM,wBAE3B,GAAID,UAAY,KAAO,MAAM,IAAI9F,UAAU,4DAA8DmF,KAAO,KAEhHnD,GAAI,CAAC,CAAEgE,MAAOC,MAAOC,OAASJ,QAC9BE,MAAQ7C,SAAS6C,MAAO,IAAMZ,iBAC9Ba,MAAQ9C,SAAS8C,MAAO,IAAMb,iBAC9Bc,MAAQ/C,SAAS+C,MAAO,IAAMd,iBAE9B,GAAI/D,MAAM2E,OAAS,MAAM,IAAIhG,UAAU,wDACvC,GAAIqB,MAAM4E,OAAS,MAAM,IAAIjG,UAAU,wDACvC,GAAIqB,MAAM6E,OAAS,MAAM,IAAIlG,UAAU,sDAEvC,GAAIkG,QAAU,EAAI,MAAM,IAAIlG,UAAU,kDACtC,GAAIkG,MAAQ9G,KAAK8F,MAAMhD,OAAS,MAAM,IAAIlC,UAAU,kFAAkFZ,KAAK8F,MAAMhD,OAAO,KAExJ,GAAI8D,MAAQ,GAAKC,OAAS7G,KAAK8F,MAAMhD,OAAS,MAAM,IAAIlC,UAAU,qCAAuCmF,KAAO,KAChH,GAAIa,MAAQC,MAAQ,MAAM,IAAIjG,UAAU,qDAAuDmF,KAAO,KAEtG,IAAKnD,IAAIC,EAAI+D,MAAO/D,GAAKgE,MAAOhE,GAAKiE,MAAO,CAC3C9G,KAAK8F,MAAOjD,EAAImD,kBAAqB,IAYvClB,YAAYjE,UAAUwF,YAAc,SAAUN,KAAMD,KAAME,kBACzD,MAAMpC,MAAQmC,KAAKnC,MAAM,KAEzB,GAAIA,MAAMd,SAAW,EAAI,CACxB,MAAM,IAAIlC,UAAU,8CAAgDmF,KAAO,KAG5E,MAAMa,MAAQ7C,SAASH,MAAM,GAAI,IAAMoC,iBACtCa,MAAQ9C,SAASH,MAAM,GAAI,IAAMoC,iBAElC,GAAI/D,MAAM2E,OAAS,CAClB,MAAM,IAAIhG,UAAU,6DACd,GAAIqB,MAAM4E,OAAS,CACzB,MAAM,IAAIjG,UAAU,wDAIrB,GAAIgG,MAAQ,GAAKC,OAAS7G,KAAK8F,MAAMhD,OAAS,CAC7C,MAAM,IAAIlC,UAAU,qCAAuCmF,KAAO,KAInE,GAAIa,MAAQC,MAAQ,CACnB,MAAM,IAAIjG,UAAU,qDAAuDmF,KAAO,KAGnF,IAAKnD,IAAIC,EAAI+D,MAAO/D,GAAKgE,MAAOhE,IAAM,CACrC7C,KAAK8F,MAAOjD,EAAImD,kBAAqB,IAYvClB,YAAYjE,UAAUyF,eAAiB,SAAUP,KAAMD,KAAME,kBAE5D,MAAMpC,MAAQmC,KAAKnC,MAAM,KAEzB,GAAIA,MAAMd,SAAW,EAAI,CACxB,MAAM,IAAIlC,UAAU,iDAAmDmF,KAAO,KAG/EnD,IAAImE,MAAQ,EACZ,GAAInD,MAAM,KAAO,IAAM,CACtBmD,MAAQhD,SAASH,MAAM,GAAI,IAG5B,MAAMkD,MAAQ/C,SAASH,MAAM,GAAI,IAEjC,GAAI3B,MAAM6E,OAAS,MAAM,IAAIlG,UAAU,sDACvC,GAAIkG,QAAU,EAAI,MAAM,IAAIlG,UAAU,kDACtC,GAAIkG,MAAQ9G,KAAK8F,MAAMhD,OAAS,MAAM,IAAIlC,UAAU,kFAAkFZ,KAAK8F,MAAMhD,OAAO,KAExJ,IAAKF,IAAIC,EAAIkE,MAAOlE,EAAI7C,KAAK8F,MAAMhD,OAAQD,GAAIiE,MAAQ,CACtD9G,KAAK8F,MAAOjD,EAAImD,kBAAqB,IAavClB,YAAYjE,UAAU6E,iBAAmB,SAAUK,MAClD,OAAOA,KACLT,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MAWpBR,YAAYjE,UAAU4E,mBAAqB,SAAUM,MACpD,OAAOA,KACLT,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MACjBA,QAAQ,QAAS,MACjBA,QAAQ,QAAS,OAuDpB,MAAM0B,SAAWC,KAAKC,IAAI,EAAG,GAAK,GAAK,EAWvC,SAASnH,KAAMoC,QAASgF,QAASC,MAGhC,KAAMpH,gBAAgBD,MAAQ,CAC7B,OAAO,IAAIA,KAAKoC,QAASgF,QAASC,MAInC,UAAWD,UAAY,WAAa,CACnCC,KAAOD,QACPA,aAAe,EAIhBnH,KAAKmH,QAAUnH,KAAKqH,eAAeF,SAGnC,GAAIhF,SAAYA,mBAAmB/B,KAAO,CACzCJ,KAAKsH,KAAO,IAAI/G,SAAS4B,QAASnC,KAAKmH,QAAQ3G,eACzC,GAAI2B,gBAAmBA,UAAY,UAAaA,QAAQmC,QAAQ,KAAO,EAAG,CAEhFtE,KAAKsH,KAAO,IAAI/G,SAAS4B,QAASnC,KAAKmH,QAAQ3G,cACzC,CAENR,KAAKmC,QAAU,IAAI2C,YAAY3C,QAASnC,KAAKmH,QAAQ3G,UAMtD,GAAI4G,YAAc,EAAI,CACrBpH,KAAKuH,GAAKH,KACVpH,KAAKwH,WAGN,OAAOxH,KAWRD,KAAKc,UAAUwG,eAAiB,SAAUF,SAGzC,GAAIA,eAAiB,EAAG,CACvBA,QAAU,GAIXA,QAAQM,OAAUN,QAAQM,cAAgB,EAAK,MAAQN,QAAQM,OAC/DN,QAAQO,QAAWP,QAAQO,eAAiB,EAAKC,SAAWR,QAAQO,QACpEP,QAAQS,MAAST,QAAQS,aAAe,EAAK,MAAQT,QAAQS,MAC7DT,QAAQU,KAAO,MAGf,GAAIV,QAAQW,QAAU,CACrBX,QAAQW,QAAU,IAAIvH,SAAS4G,QAAQW,QAASX,QAAQ3G,UAEzD,GAAI2G,QAAQY,OAAS,CACpBZ,QAAQY,OAAS,IAAIxH,SAAS4G,QAAQY,OAAQZ,QAAQ3G,UAGvD,OAAO2G,SASRpH,KAAKc,UAAUmH,KAAO,SAAUC,MAC/BA,KAAO,IAAI1H,SAAS0H,KAAMjI,KAAKmH,QAAQ3G,UACvC,MAAMwH,KAAOhI,KAAKkI,MAAMD,MACxB,OAAOD,KAAOA,KAAKzG,UAAY,MAUhCxB,KAAKc,UAAUsH,UAAY,SAAUC,EAAGC,UACvCzF,IAAI0F,YAAc,GAElB,MAAMF,MAAQC,SAAWrI,KAAKgI,KAAKK,WAAY,CAC9CC,YAAYC,KAAKF,UAGlB,OAAOC,aASRvI,KAAKc,UAAU2H,QAAU,WACxB,MAAMC,OAASzI,KAAK0I,SAAS1I,KAAK2I,aAClC,MAAMH,SAAWxI,KAAKmH,QAAQM,QAAUzH,KAAKuH,UAAY,EACzD,OAAOkB,SAAW,MAAQD,SAS3BzI,KAAKc,UAAUwH,SAAW,WACzB,OAAOrI,KAAK2I,YAAc3I,KAAK2I,YAAYpH,UAAY,MAUxDxB,KAAKc,UAAUqH,MAAQ,SAAUD,MAGhC,GAAIjI,KAAKmH,QAAQW,SAAWG,MAAQA,KAAK3F,QAAQ,MAAQtC,KAAKmH,QAAQW,QAAQxF,QAAQ,MAAQ,CAC7F2F,KAAOjI,KAAKmH,QAAQW,QAIrB,MAAMc,QAAU5I,KAAKsH,MAAQ,IAAI/G,SAAS0H,KAAMjI,KAAKmH,QAAQ3G,UAAU0B,UAAUlC,KAAKmC,SAEtF,GAAInC,KAAKsH,MAAQtH,KAAKsH,KAAKhF,QAAQ,OAAS2F,KAAK3F,QAAQ,MAAO,CAC/D,OAAO,UAED,GAAKsG,UAAY,MACtB5I,KAAKmH,QAAQO,SAAW,GACxB1H,KAAKmH,QAAY,MACjBnH,KAAKmH,QAAQY,QAAUa,QAAQtG,QAAQ,OAAStC,KAAKmH,QAAQY,OAAOzF,QAAQ,MAAS,CACtF,OAAO,SAED,CAEN,OAAOsG,UAaT7I,KAAKc,UAAU6H,SAAW,SAAUT,MACnCA,KAAO,IAAI1H,SAAS0H,KAAMjI,KAAKmH,QAAQ3G,UACvC,MAAMwH,KAAOhI,KAAKkI,MAAMD,MACxB,GAAID,KAAO,CACV,OAAQA,KAAK1F,QAAQ,MAAQ2F,KAAK3F,QAAQ,UACpC,CACN,OAAO,OAQTvC,KAAKc,UAAUgI,KAAO,WACrB7I,KAAKmH,QAAQU,KAAO,KAEpB,GAAI7H,KAAK8I,eAAiB,CACzBC,aAAc/I,KAAK8I,kBAUrB/I,KAAKc,UAAUmI,MAAQ,WACtB,OAAQhJ,KAAKmH,QAAQM,OAAS,QAAUzH,KAAKmH,QAAQU,MAStD9H,KAAKc,UAAUoI,OAAS,WACvB,QAASjJ,KAAKmH,QAAQM,OAAS,SAAWzH,KAAKmH,QAAQU,MAUxD9H,KAAKc,UAAU2G,SAAW,SAAUJ,MAGnC,GAAIA,MAAQpH,KAAKuH,GAAI,CACpB,MAAM,IAAIpB,MAAM,0FAGV,GAAIiB,KAAM,CAChBpH,KAAKuH,GAAKH,KAIXxE,IAAIsG,OAASlJ,KAAK0I,SAAS1I,KAAK2I,aAChC,GAAMO,SAAW,KAAQ,OAAOlJ,KAGhC,GAAIkJ,OAASlC,SAAW,CACvBkC,OAASlC,SAIVhH,KAAK8I,eAAiBK,WAAW,KAEhC,GAAID,SAAWlC,WAAahH,KAAKmH,QAAQM,OAAS,CAEjDzH,KAAKmH,QAAQO,UAGb,GAAI1H,KAAKmH,QAAQS,MAAO,CACvB,IACC5H,KAAKuH,GAAGvH,KAAMA,KAAKmH,QAAQiC,SAC1B,MAAOC,UAGH,CACNrJ,KAAKuH,GAAGvH,KAAMA,KAAKmH,QAAQiC,SAG5BpJ,KAAK2I,YAAc,IAAIpI,cAAc,EAAGP,KAAKmH,QAAQ3G,UAKtDR,KAAKwH,YAEH0B,QAEH,OAAOlJ,MAIR,OAAOD"}
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","daysOfWeek","getDay","lastDayOfMonth","baseDate","setDate","resetPrevious","doing","toDo","currentValue","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 +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]&&(target!=="days"||pattern.daysOfWeek[this.getDate(true).getDay()])){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++}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)+valueIndexOffset;if(isNaN(lower))throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(upper))throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");if(lower<0||upper>=this[type].length)throw new TypeError("CronPattern: Value out of range: '"+conf+"'");if(lower>upper)throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'");for(let i=lower;i<=upper;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleRange=function(conf,type,valueIndexOffset){const split=conf.split("-");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal range: '"+conf+"'")}const lower=parseInt(split[0],10)+valueIndexOffset,upper=parseInt(split[1],10)+valueIndexOffset;if(isNaN(lower)){throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)")}else if(isNaN(upper)){throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)")}if(lower<0||upper>=this[type].length){throw new TypeError("CronPattern: Value out of range: '"+conf+"'")}if(lower>upper){throw new TypeError("CronPattern: From value is larger than to value: '"+conf+"'")}for(let i=lower;i<=upper;i++){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.handleStepping=function(conf,type,valueIndexOffset){const split=conf.split("/");if(split.length!==2){throw new TypeError("CronPattern: Syntax error, illegal stepping: '"+conf+"'")}let start=0;if(split[0]!=="*"){start=parseInt(split[0],10)}const steps=parseInt(split[1],10);if(isNaN(steps))throw new TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(steps===0)throw new TypeError("CronPattern: Syntax error, illegal stepping: 0");if(steps>this[type].length)throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");for(let i=start;i<this[type].length;i+=steps){this[type][i+valueIndexOffset]=1}};CronPattern.prototype.replaceAlphaDays=function(conf){return conf.replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")};CronPattern.prototype.replaceAlphaMonths=function(conf){return conf.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")};const maxDelay=Math.pow(2,32-1)-1;function Cron(pattern,options,func){if(!(this instanceof Cron)){return new Cron(pattern,options,func)}if(typeof options==="function"){func=options;options=void 0}this.options=this.processOptions(options);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 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]&&(target!=="days"||pattern.daysOfWeek[this.getDate(true).getDay()])){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++}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 +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","daysOfWeek","getDay","lastDayOfMonth","baseDate","setDate","resetPrevious","doing","toDo","currentValue","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":["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","daysOfWeek","getDay","lastDayOfMonth","baseDate","setDate","resetPrevious","doing","toDo","currentValue","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "croner",
3
- "version": "4.1.95",
3
+ "version": "4.1.96",
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/croner.js CHANGED
@@ -83,7 +83,7 @@ function Cron (pattern, options, func) {
83
83
  if (pattern && (pattern instanceof Date)) {
84
84
  this.once = new CronDate(pattern, this.options.timezone);
85
85
  } else if (pattern && (typeof pattern === "string") && pattern.indexOf(":") > 0) {
86
- /** @type {CronPattern} */
86
+ /** @type {CronDate} */
87
87
  this.once = new CronDate(pattern, this.options.timezone);
88
88
  } else {
89
89
  /** @type {CronPattern} */
package/src/pattern.js CHANGED
@@ -202,7 +202,7 @@ CronPattern.prototype.handleRangeWithStepping = function (conf, type, valueIndex
202
202
  let [, lower, upper, steps] = matches;
203
203
  lower = parseInt(lower, 10) + valueIndexOffset;
204
204
  upper = parseInt(upper, 10) + valueIndexOffset;
205
- steps = parseInt(steps, 10) + valueIndexOffset;
205
+ steps = parseInt(steps, 10);
206
206
 
207
207
  if( isNaN(lower) ) throw new TypeError("CronPattern: Syntax error, illegal lower range (NaN)");
208
208
  if( isNaN(upper) ) throw new TypeError("CronPattern: Syntax error, illegal upper range (NaN)");
@@ -215,7 +215,7 @@ CronPattern.prototype.handleRangeWithStepping = function (conf, type, valueIndex
215
215
  if( lower > upper ) throw new TypeError("CronPattern: From value is larger than to value: '" + conf + "'");
216
216
 
217
217
  for (let i = lower; i <= upper; i += steps) {
218
- this[type][(i + valueIndexOffset)] = 1;
218
+ this[type][i] = 1;
219
219
  }
220
220
  };
221
221
 
@@ -254,7 +254,7 @@ CronPattern.prototype.handleRange = function (conf, type, valueIndexOffset) {
254
254
  }
255
255
 
256
256
  for( let i = lower; i <= upper; i++ ) {
257
- this[type][(i + valueIndexOffset)] = 1;
257
+ this[type][i] = 1;
258
258
  }
259
259
  };
260
260
 
@@ -264,9 +264,8 @@ CronPattern.prototype.handleRange = function (conf, type, valueIndexOffset) {
264
264
  *
265
265
  * @param {string} conf - Current part, expected to be a string like * /20 (without the space)
266
266
  * @param {string} type - One of "seconds", "minutes" etc
267
- * @param {number} valueIndexOffset - -1 for day of month, and month, as they start at 1. 0 for seconds, hours, minutes
268
267
  */
269
- CronPattern.prototype.handleStepping = function (conf, type, valueIndexOffset) {
268
+ CronPattern.prototype.handleStepping = function (conf, type) {
270
269
 
271
270
  const split = conf.split("/");
272
271
 
@@ -286,7 +285,7 @@ CronPattern.prototype.handleStepping = function (conf, type, valueIndexOffset) {
286
285
  if( steps > this[type].length ) throw new TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[type].length+")");
287
286
 
288
287
  for( let i = start; i < this[type].length; i+= steps ) {
289
- this[type][(i + valueIndexOffset)] = 1;
288
+ this[type][i] = 1;
290
289
  }
291
290
  };
292
291
 
package/types/croner.d.ts CHANGED
@@ -59,7 +59,7 @@ export class Cron {
59
59
  constructor(pattern: string | Date, options?: CronOptions | Function, func?: Function);
60
60
  /** @type {CronOptions} */
61
61
  options: CronOptions;
62
- once: CronPattern;
62
+ once: CronDate;
63
63
  /** @type {CronPattern} */
64
64
  pattern: CronPattern;
65
65
  fn: Function;
@@ -132,5 +132,5 @@ export class Cron {
132
132
  currentTimeout: number;
133
133
  previousrun: CronDate;
134
134
  }
135
- import { CronPattern } from "./pattern.js";
136
135
  import { CronDate } from "./date.js";
136
+ import { CronPattern } from "./pattern.js";