Comparing version 3.0.39 to 3.0.40
@@ -1,1 +0,1 @@ | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Cron=e():t.Cron=e()}(this,(function(){return(()=>{"use strict";var t={d:(e,s)=>{for(var r in s)t.o(s,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:s[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{default:()=>l});const s=Math.pow(2,31)-1;function r(t){throw new TypeError("Cron parser: "+t)}function n(t,e){for(let s=0;s<t.length;s++)t[s]=e;return t}function o(t){this.milliseconds=t.getMilliseconds(),this.seconds=t.getSeconds(),this.minutes=t.getMinutes(),this.hours=t.getHours(),this.days=t.getDate(),this.months=t.getMonth(),this.years=t.getFullYear()}function i(t){this.pattern=t,this.seconds=n(Array(60),0),this.minutes=n(Array(60),0),this.hours=n(Array(24),0),this.days=n(Array(31),0),this.months=n(Array(12),0),this.daysOfWeek=n(Array(8),0),this.parse()}function a(t,e,s){let r=this;return this instanceof a?(r.pattern=new i(t),r.schedulerDefaults={stopAt:1/0,maxRuns:1/0,kill:!1},"function"==typeof e&&(s=e,e={}),r.opts=r.validateOpts(e||{}),void 0===s?r:this.schedule(e,s)):new a(t,e,s)}o.prototype.increment=function(t){this.seconds+=1,this.milliseconds=0;let e=this,s=function(t,s,r,n){for(let o=void 0===n?e[t]+r:0+r;o<s[t].length;o++)if(s[t][o])return e[t]=o-r,!0;return!1},r=[["seconds","minutes",0],["minutes","hours",0],["hours","days",0],["days","months",-1],["months","years",0]],n=0;for(;n<5;){if(!s(r[n][0],t,r[n][2]))for(this[r[n][1]]++;n>=0;)s(r[n][0],t,r[n][2],0),n--;n++}for(;!t.daysOfWeek[this.getDate().getDay()];)this.days+=1},o.prototype.getDate=function(){return new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds)},i.prototype.parse=function(){"string"!=typeof this.pattern&&this.pattern.constructor!==String&&r("Pattern has to be of type string.");let t,e,s,n,o,i=this.pattern.trim().replace(/\s+/g," ").split(" "),a=/[^/*0-9,-]+/;for(6!==i.length&&r("invalid configuration format ('"+this.pattern+"'), exacly five space separated parts required."),e=0;e<i.length;e++)t=i[e].trim(),a.test(t)&&r("configuration entry "+(e+1)+" ("+t+") contains illegal characters.");s="*"!==i[4],n="*"!==i[5],o="*"!==i[3],n&&(s||o)&&r("configuration invalid, you can not combine month/date with day of week."),this.partToArray("seconds",i[0],0),this.partToArray("minutes",i[1],0),this.partToArray("hours",i[2],0),this.partToArray("days",i[3],-1),this.partToArray("months",i[4],-1),this.partToArray("daysOfWeek",i[5],0),this.daysOfWeek[7]&&(this.daysOfWeek[0]=1)},i.prototype.partToArray=function(t,e,s){let n,o,i,a,l,u=this[t];if("*"!==e)if(o=e.split(","),o.length>1)for(n=0;n<o.length;n++)this.partToArray(t,o[n],s);else if(-1!==e.indexOf("-"))for(o=e.split("-"),2!==o.length&&r("Syntax error, illegal range: '"+e+"'"),i=parseInt(o[0],10)+s,a=parseInt(o[1],10)+s,isNaN(i)?r("Syntax error, illegal lower range (NaN)"):isNaN(a)&&r("Syntax error, illegal upper range (NaN)"),(i<0||a>=u.length)&&r("Value out of range: '"+e+"'"),i>a&&r("From value is larger than to value: '"+e+"'"),n=i;n<=a;n++)u[n+s]=1;else if(-1!==e.indexOf("/"))for(o=e.split("/"),2!==o.length&&r("Syntax error, illegal stepping: '"+e+"'"),"*"!==o[0]&&r("Syntax error, left part of / needs to be * : '"+e+"'"),l=parseInt(o[1],10),isNaN(l)&&r("Syntax error, illegal stepping: (NaN)"),0===l&&r("Syntax error, illegal stepping: 0"),l>u.length&&r("Syntax error, steps cannot be greater than maximum value of part ("+u.length+")"),n=0;n<u.length;n+=l)u[n+s]=1;else n=parseInt(e,10)+s,(n<0||n>=u.length)&&r(t+" value out of range: '"+e+"'"),u[n]=1;else for(n=0;n<u.length;n++)u[n]=1},a.prototype.next=function(t){let e=this._next(t);return e&&e.setMilliseconds(0),e},a.prototype.previous=function(){return this.opts.previous},a.prototype._next=function(t){if(t=t||new Date,this.opts.startAt&&t<this.opts.startAt&&(t=this.opts.startAt),this.opts.maxRuns<=0||this.opts.kill)return;let e,s=this.opts.stopAt||this.schedulerDefaults.stopAt,r=new o(t);return r.increment(this.pattern),e=r.getDate(),s&&e>=s?void 0:e},a.prototype.validateOpts=function(t){return t.startAt&&(t.startAt.constructor!==Date?t.startAt=new Date(Date.parse(t.startAt)-1):t.startAt=new Date(t.startAt.getTime()-1),isNaN(t.startAt)&&r("Provided value for startAt could not be parsed as date.")),t.stopAt&&(t.stopAt.constructor!==Date&&(t.stopAt=new Date(Date.parse(t.stopAt))),isNaN(t.stopAt)&&r("Provided value for stopAt could not be parsed as date.")),t},a.prototype.msToNext=function(t){t=t||new Date;let e=this._next(t);return e?this._next(t)-t.getTime():e},a.prototype.schedule=function(t,e){let r,n=this,o=n.maxDelay||s;if(e||(e=t,t={}),t.paused=void 0!==t.paused&&t.paused,t.kill=t.kill||this.schedulerDefaults.kill,t.rest=t.rest||0,t.maxRuns||0===t.maxRuns||(t.maxRuns=this.schedulerDefaults.maxRuns),n.opts=n.validateOpts(t||{}),r=this.msToNext(t.previous),void 0!==r)return r>o&&(r=o),t.currentTimeout=setTimeout((function(){r!==o&&(t.paused||(t.maxRuns--,e()),t.previous=new Date),n.schedule(t,e)}),r),{stop:function(){t.kill=!0,t.currentTimeout&&clearTimeout(t.currentTimeout)},pause:function(){return(t.paused=!0)&&!t.kill},resume:function(){return!(t.paused=!1)&&!t.kill}}};const l=a;return e.default})()})); | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Cron=e():t.Cron=e()}(this,(function(){return(()=>{"use strict";var t={d:(e,s)=>{for(var r in s)t.o(s,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:s[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{default:()=>l});const s=Math.pow(2,31)-1;function r(t){throw new TypeError("Cron parser: "+t)}function n(t,e){for(let s=0;s<t.length;s++)t[s]=e;return t}function o(t){this.milliseconds=t.getMilliseconds(),this.seconds=t.getSeconds(),this.minutes=t.getMinutes(),this.hours=t.getHours(),this.days=t.getDate(),this.months=t.getMonth(),this.years=t.getFullYear()}function i(t){this.pattern=t,this.seconds=n(Array(60),0),this.minutes=n(Array(60),0),this.hours=n(Array(24),0),this.days=n(Array(31),0),this.months=n(Array(12),0),this.daysOfWeek=n(Array(8),0),this.parse()}function a(t,e,s){let r=this;return this instanceof a?(r.pattern=new i(t),r.schedulerDefaults={stopAt:1/0,maxRuns:1/0,kill:!1},"function"==typeof e&&(s=e,e={}),r.opts=r.validateOpts(e||{}),void 0===s?r:this.schedule(e,s)):new a(t,e,s)}o.prototype.increment=function(t){this.seconds+=1,this.milliseconds=0;let e=this,s=function(t,s,r,n){for(let o=void 0===n?e[t]+r:0+r;o<s[t].length;o++)if(s[t][o])return e[t]=o-r,!0;return!1},r=[["seconds","minutes",0],["minutes","hours",0],["hours","days",0],["days","months",-1],["months","years",0]],n=0;for(;n<5;){if(!s(r[n][0],t,r[n][2]))for(this[r[n][1]]++;n>=0;)s(r[n][0],t,r[n][2],0),n--;n++}for(;!t.daysOfWeek[this.getDate().getDay()];)this.days+=1},o.prototype.getDate=function(){return new Date(this.years,this.months,this.days,this.hours,this.minutes,this.seconds,this.milliseconds)},i.prototype.parse=function(){"string"!=typeof this.pattern&&this.pattern.constructor!==String&&r("Pattern has to be of type string.");let t,e,s,n,o,i=this.pattern.trim().replace(/\s+/g," ").split(" "),a=/[^/*0-9,-]+/;for((i.length<5||i.length>6)&&r("invalid configuration format ('"+this.pattern+"'), exacly five or six space separated parts required."),5==i.length&&i.unshift("0"),e=0;e<i.length;e++)t=i[e].trim(),a.test(t)&&r("configuration entry "+(e+1)+" ("+t+") contains illegal characters.");s="*"!==i[4],n="*"!==i[5],o="*"!==i[3],n&&(s||o)&&r("configuration invalid, you can not combine month/date with day of week."),this.partToArray("seconds",i[0],0),this.partToArray("minutes",i[1],0),this.partToArray("hours",i[2],0),this.partToArray("days",i[3],-1),this.partToArray("months",i[4],-1),this.partToArray("daysOfWeek",i[5],0),this.daysOfWeek[7]&&(this.daysOfWeek[0]=1)},i.prototype.partToArray=function(t,e,s){let n,o,i,a,l,u=this[t];if("*"!==e)if(o=e.split(","),o.length>1)for(n=0;n<o.length;n++)this.partToArray(t,o[n],s);else if(-1!==e.indexOf("-"))for(o=e.split("-"),2!==o.length&&r("Syntax error, illegal range: '"+e+"'"),i=parseInt(o[0],10)+s,a=parseInt(o[1],10)+s,isNaN(i)?r("Syntax error, illegal lower range (NaN)"):isNaN(a)&&r("Syntax error, illegal upper range (NaN)"),(i<0||a>=u.length)&&r("Value out of range: '"+e+"'"),i>a&&r("From value is larger than to value: '"+e+"'"),n=i;n<=a;n++)u[n+s]=1;else if(-1!==e.indexOf("/"))for(o=e.split("/"),2!==o.length&&r("Syntax error, illegal stepping: '"+e+"'"),"*"!==o[0]&&r("Syntax error, left part of / needs to be * : '"+e+"'"),l=parseInt(o[1],10),isNaN(l)&&r("Syntax error, illegal stepping: (NaN)"),0===l&&r("Syntax error, illegal stepping: 0"),l>u.length&&r("Syntax error, steps cannot be greater than maximum value of part ("+u.length+")"),n=0;n<u.length;n+=l)u[n+s]=1;else n=parseInt(e,10)+s,(n<0||n>=u.length)&&r(t+" value out of range: '"+e+"'"),u[n]=1;else for(n=0;n<u.length;n++)u[n]=1},a.prototype.next=function(t){let e=this._next(t);return e&&e.setMilliseconds(0),e},a.prototype.previous=function(){return this.opts.previous},a.prototype._next=function(t){if(t=t||new Date,this.opts.startAt&&t<this.opts.startAt&&(t=this.opts.startAt),this.opts.maxRuns<=0||this.opts.kill)return;let e,s=this.opts.stopAt||this.schedulerDefaults.stopAt,r=new o(t);return r.increment(this.pattern),e=r.getDate(),s&&e>=s?void 0:e},a.prototype.validateOpts=function(t){return t.startAt&&(t.startAt.constructor!==Date?t.startAt=new Date(Date.parse(t.startAt)-1):t.startAt=new Date(t.startAt.getTime()-1),isNaN(t.startAt)&&r("Provided value for startAt could not be parsed as date.")),t.stopAt&&(t.stopAt.constructor!==Date&&(t.stopAt=new Date(Date.parse(t.stopAt))),isNaN(t.stopAt)&&r("Provided value for stopAt could not be parsed as date.")),t},a.prototype.msToNext=function(t){t=t||new Date;let e=this._next(t);return e?this._next(t)-t.getTime():e},a.prototype.schedule=function(t,e){let r,n=this,o=n.maxDelay||s;if(e||(e=t,t={}),t.paused=void 0!==t.paused&&t.paused,t.kill=t.kill||this.schedulerDefaults.kill,t.rest=t.rest||0,t.maxRuns||0===t.maxRuns||(t.maxRuns=this.schedulerDefaults.maxRuns),n.opts=n.validateOpts(t||{}),r=this.msToNext(t.previous),void 0!==r)return r>o&&(r=o),t.currentTimeout=setTimeout((function(){r!==o&&(t.paused||(t.maxRuns--,e()),t.previous=new Date),n.schedule(t,e)}),r),{stop:function(){t.kill=!0,t.currentTimeout&&clearTimeout(t.currentTimeout)},pause:function(){return(t.paused=!0)&&!t.kill},resume:function(){return!(t.paused=!1)&&!t.kill}}};const l=a;return e.default})()})); |
{ | ||
"name": "croner", | ||
"version": "3.0.39", | ||
"version": "3.0.40", | ||
"description": "Isomorphic JavaScript cron parser and scheduler.", | ||
@@ -42,12 +42,12 @@ "author": "Hexagon <github.com/hexagon>", | ||
"exports": { | ||
".": { | ||
"import": "./src/croner.js", | ||
"require": "./dist-legacy/croner.cjs", | ||
"browser": "./dist/croner.min.js" | ||
}, | ||
"./minified": { | ||
"import": "./dist/croner.min.mjs", | ||
"require": "./dist/croner.min.js", | ||
"browser": "./dist/croner.min.js" | ||
} | ||
".": { | ||
"import": "./src/croner.js", | ||
"require": "./dist-legacy/croner.cjs", | ||
"browser": "./dist/croner.min.js" | ||
}, | ||
"./minified": { | ||
"import": "./dist/croner.min.mjs", | ||
"require": "./dist/croner.min.js", | ||
"browser": "./dist/croner.min.js" | ||
} | ||
}, | ||
@@ -57,9 +57,9 @@ "types": "types/croner.d.ts", | ||
"eslint": "^7.32.0", | ||
"mocha": "*", | ||
"should": "*", | ||
"mocha": "^9.1.2", | ||
"should": "^13.2.3", | ||
"typescript": "^4.4.3", | ||
"webpack": "^5.57.1", | ||
"webpack-cli": "^4.8.0" | ||
"webpack": "^5.58.1", | ||
"webpack-cli": "^4.9.0" | ||
}, | ||
"license": "MIT" | ||
} |
@@ -199,3 +199,3 @@ # Croner | ||
```javascript | ||
┌──────────────── second (0 - 59) | ||
┌──────────────── (optional) second (0 - 59) | ||
│ ┌────────────── minute (0 - 59) | ||
@@ -202,0 +202,0 @@ │ │ ┌──────────── hour (0 - 23) |
@@ -277,6 +277,11 @@ /* ------------------------------------------------------------------------------------ | ||
// Validite number of configuration entries | ||
if( parts.length !== 6 ) { | ||
raise("invalid configuration format ('" + this.pattern + "'), exacly five space separated parts required."); | ||
if( parts.length < 5 || parts.length > 6 ) { | ||
raise("invalid configuration format ('" + this.pattern + "'), exacly five or six space separated parts required."); | ||
} | ||
// If seconds is omitted, insert 0 for seconds | ||
if( parts.length == 5) { | ||
parts.unshift("0"); | ||
} | ||
// Validate field content | ||
@@ -283,0 +288,0 @@ for( i = 0; i < parts.length; i++ ) { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
66250
1300