croner 9.0.0-dev.3 → 9.0.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/croner.cjs CHANGED
@@ -442,13 +442,13 @@ var CronPattern = class {
442
442
  setNthWeekdayOfMonth(index, nthWeekday) {
443
443
  if (typeof nthWeekday !== "number" && nthWeekday === "L") {
444
444
  this["dayOfWeek"][index] = this["dayOfWeek"][index] | LAST_OCCURRENCE;
445
- } else if (typeof nthWeekday === "number" && nthWeekday < 6 && nthWeekday > 0) {
446
- this["dayOfWeek"][index] = this["dayOfWeek"][index] | OCCURRENCE_BITMASKS[nthWeekday - 1];
447
- } else if (typeof nthWeekday === "number" && nthWeekday === ANY_OCCURRENCE) {
445
+ } else if (nthWeekday === ANY_OCCURRENCE) {
448
446
  this["dayOfWeek"][index] = ANY_OCCURRENCE;
447
+ } else if (nthWeekday < 6 && nthWeekday > 0) {
448
+ this["dayOfWeek"][index] = this["dayOfWeek"][index] | OCCURRENCE_BITMASKS[nthWeekday - 1];
449
449
  } else {
450
450
  throw new TypeError(
451
- `CronPattern: nth weekday of of range, should be 1-5 or L. Value: ${nthWeekday}`
451
+ `CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${nthWeekday}, Type: ${typeof nthWeekday}`
452
452
  );
453
453
  }
454
454
  }
@@ -628,7 +628,7 @@ var CronDate = class _CronDate {
628
628
  */
629
629
  fromString(str) {
630
630
  if (typeof this.tz === "number") {
631
- const inDate = minitz.fromTZISO(str, "UTC");
631
+ const inDate = minitz.fromTZISO(str);
632
632
  this.ms = inDate.getUTCMilliseconds();
633
633
  this.second = inDate.getUTCSeconds();
634
634
  this.minute = inDate.getUTCMinutes();
@@ -637,8 +637,8 @@ var CronDate = class _CronDate {
637
637
  this.month = inDate.getUTCMonth();
638
638
  this.year = inDate.getUTCFullYear();
639
639
  this.apply();
640
- } else if (this.tz === void 0) {
641
- return this.fromDate(minitz.fromTZISO(str, this.tz === void 0 ? "UTC" : this.tz));
640
+ } else {
641
+ return this.fromDate(minitz.fromTZISO(str, this.tz));
642
642
  }
643
643
  }
644
644
  /**
@@ -990,7 +990,7 @@ var Cron = class {
990
990
  prev = prev || /* @__PURE__ */ new Date();
991
991
  const next = this._next(prev);
992
992
  if (next) {
993
- if (prev instanceof CronDate) {
993
+ if (prev instanceof CronDate || prev instanceof Date) {
994
994
  return next.getTime() - prev.getTime();
995
995
  } else {
996
996
  return next.getTime() - new CronDate(prev).getTime();
@@ -1161,14 +1161,14 @@ var Cron = class {
1161
1161
  let newPrev = prev;
1162
1162
  if (this.options.startAt.getTime() <= now.getTime()) {
1163
1163
  newPrev = this.options.startAt;
1164
- let prevTimePlusInterval = prev.getTime() + this.options.interval * 1e3;
1164
+ let prevTimePlusInterval = newPrev.getTime() + this.options.interval * 1e3;
1165
1165
  while (prevTimePlusInterval <= now.getTime()) {
1166
- newPrev = new CronDate(prev, this.options.timezone || this.options.utcOffset).increment(
1166
+ newPrev = new CronDate(newPrev, this.options.timezone || this.options.utcOffset).increment(
1167
1167
  this._states.pattern,
1168
1168
  this.options,
1169
1169
  true
1170
1170
  );
1171
- prevTimePlusInterval = prev.getTime() + this.options.interval * 1e3;
1171
+ prevTimePlusInterval = newPrev.getTime() + this.options.interval * 1e3;
1172
1172
  }
1173
1173
  hasPreviousRun = true;
1174
1174
  }
package/dist/croner.d.cts CHANGED
@@ -6,7 +6,7 @@ declare module "helpers/minitz" {
6
6
  h: number;
7
7
  i: number;
8
8
  s: number;
9
- tz: string;
9
+ tz?: string;
10
10
  }
11
11
  /**
12
12
  * Converts a date/time from a specific timezone to a normal date object using the system local time
@@ -29,7 +29,7 @@ declare module "helpers/minitz" {
29
29
  */
30
30
  function minitz(y: number, m: number, d: number, h: number, i: number, s: number, tz: string, throwOnInvalid?: boolean): Date;
31
31
  namespace minitz {
32
- var fromTZISO: (localTimeStr: string, tz: string, throwOnInvalid?: boolean) => Date;
32
+ var fromTZISO: (localTimeStr: string, tz?: string, throwOnInvalid?: boolean) => Date;
33
33
  var fromTZ: (tp: TimePoint, throwOnInvalid?: boolean) => Date;
34
34
  var toTZ: (d: Date, tzStr: string) => {
35
35
  y: number;
@@ -40,7 +40,7 @@ declare module "helpers/minitz" {
40
40
  s: number;
41
41
  tz: string;
42
42
  };
43
- var tp: (y: number, m: number, d: number, h: number, i: number, s: number, tz: string) => {
43
+ var tp: (y: number, m: number, d: number, h: number, i: number, s: number, tz?: string) => {
44
44
  y: number;
45
45
  m: number;
46
46
  d: number;
package/dist/croner.d.ts CHANGED
@@ -6,7 +6,7 @@ declare module "helpers/minitz" {
6
6
  h: number;
7
7
  i: number;
8
8
  s: number;
9
- tz: string;
9
+ tz?: string;
10
10
  }
11
11
  /**
12
12
  * Converts a date/time from a specific timezone to a normal date object using the system local time
@@ -29,7 +29,7 @@ declare module "helpers/minitz" {
29
29
  */
30
30
  function minitz(y: number, m: number, d: number, h: number, i: number, s: number, tz: string, throwOnInvalid?: boolean): Date;
31
31
  namespace minitz {
32
- var fromTZISO: (localTimeStr: string, tz: string, throwOnInvalid?: boolean) => Date;
32
+ var fromTZISO: (localTimeStr: string, tz?: string, throwOnInvalid?: boolean) => Date;
33
33
  var fromTZ: (tp: TimePoint, throwOnInvalid?: boolean) => Date;
34
34
  var toTZ: (d: Date, tzStr: string) => {
35
35
  y: number;
@@ -40,7 +40,7 @@ declare module "helpers/minitz" {
40
40
  s: number;
41
41
  tz: string;
42
42
  };
43
- var tp: (y: number, m: number, d: number, h: number, i: number, s: number, tz: string) => {
43
+ var tp: (y: number, m: number, d: number, h: number, i: number, s: number, tz?: string) => {
44
44
  y: number;
45
45
  m: number;
46
46
  d: number;
package/dist/croner.js CHANGED
@@ -412,13 +412,13 @@ var CronPattern = class {
412
412
  setNthWeekdayOfMonth(index, nthWeekday) {
413
413
  if (typeof nthWeekday !== "number" && nthWeekday === "L") {
414
414
  this["dayOfWeek"][index] = this["dayOfWeek"][index] | LAST_OCCURRENCE;
415
- } else if (typeof nthWeekday === "number" && nthWeekday < 6 && nthWeekday > 0) {
416
- this["dayOfWeek"][index] = this["dayOfWeek"][index] | OCCURRENCE_BITMASKS[nthWeekday - 1];
417
- } else if (typeof nthWeekday === "number" && nthWeekday === ANY_OCCURRENCE) {
415
+ } else if (nthWeekday === ANY_OCCURRENCE) {
418
416
  this["dayOfWeek"][index] = ANY_OCCURRENCE;
417
+ } else if (nthWeekday < 6 && nthWeekday > 0) {
418
+ this["dayOfWeek"][index] = this["dayOfWeek"][index] | OCCURRENCE_BITMASKS[nthWeekday - 1];
419
419
  } else {
420
420
  throw new TypeError(
421
- `CronPattern: nth weekday of of range, should be 1-5 or L. Value: ${nthWeekday}`
421
+ `CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${nthWeekday}, Type: ${typeof nthWeekday}`
422
422
  );
423
423
  }
424
424
  }
@@ -598,7 +598,7 @@ var CronDate = class _CronDate {
598
598
  */
599
599
  fromString(str) {
600
600
  if (typeof this.tz === "number") {
601
- const inDate = minitz.fromTZISO(str, "UTC");
601
+ const inDate = minitz.fromTZISO(str);
602
602
  this.ms = inDate.getUTCMilliseconds();
603
603
  this.second = inDate.getUTCSeconds();
604
604
  this.minute = inDate.getUTCMinutes();
@@ -607,8 +607,8 @@ var CronDate = class _CronDate {
607
607
  this.month = inDate.getUTCMonth();
608
608
  this.year = inDate.getUTCFullYear();
609
609
  this.apply();
610
- } else if (this.tz === void 0) {
611
- return this.fromDate(minitz.fromTZISO(str, this.tz === void 0 ? "UTC" : this.tz));
610
+ } else {
611
+ return this.fromDate(minitz.fromTZISO(str, this.tz));
612
612
  }
613
613
  }
614
614
  /**
@@ -960,7 +960,7 @@ var Cron = class {
960
960
  prev = prev || /* @__PURE__ */ new Date();
961
961
  const next = this._next(prev);
962
962
  if (next) {
963
- if (prev instanceof CronDate) {
963
+ if (prev instanceof CronDate || prev instanceof Date) {
964
964
  return next.getTime() - prev.getTime();
965
965
  } else {
966
966
  return next.getTime() - new CronDate(prev).getTime();
@@ -1131,14 +1131,14 @@ var Cron = class {
1131
1131
  let newPrev = prev;
1132
1132
  if (this.options.startAt.getTime() <= now.getTime()) {
1133
1133
  newPrev = this.options.startAt;
1134
- let prevTimePlusInterval = prev.getTime() + this.options.interval * 1e3;
1134
+ let prevTimePlusInterval = newPrev.getTime() + this.options.interval * 1e3;
1135
1135
  while (prevTimePlusInterval <= now.getTime()) {
1136
- newPrev = new CronDate(prev, this.options.timezone || this.options.utcOffset).increment(
1136
+ newPrev = new CronDate(newPrev, this.options.timezone || this.options.utcOffset).increment(
1137
1137
  this._states.pattern,
1138
1138
  this.options,
1139
1139
  true
1140
1140
  );
1141
- prevTimePlusInterval = prev.getTime() + this.options.interval * 1e3;
1141
+ prevTimePlusInterval = newPrev.getTime() + this.options.interval * 1e3;
1142
1142
  }
1143
1143
  hasPreviousRun = true;
1144
1144
  }
@@ -442,13 +442,13 @@ var base64 = (() => {
442
442
  setNthWeekdayOfMonth(index, nthWeekday) {
443
443
  if (typeof nthWeekday !== "number" && nthWeekday === "L") {
444
444
  this["dayOfWeek"][index] = this["dayOfWeek"][index] | LAST_OCCURRENCE;
445
- } else if (typeof nthWeekday === "number" && nthWeekday < 6 && nthWeekday > 0) {
446
- this["dayOfWeek"][index] = this["dayOfWeek"][index] | OCCURRENCE_BITMASKS[nthWeekday - 1];
447
- } else if (typeof nthWeekday === "number" && nthWeekday === ANY_OCCURRENCE) {
445
+ } else if (nthWeekday === ANY_OCCURRENCE) {
448
446
  this["dayOfWeek"][index] = ANY_OCCURRENCE;
447
+ } else if (nthWeekday < 6 && nthWeekday > 0) {
448
+ this["dayOfWeek"][index] = this["dayOfWeek"][index] | OCCURRENCE_BITMASKS[nthWeekday - 1];
449
449
  } else {
450
450
  throw new TypeError(
451
- `CronPattern: nth weekday of of range, should be 1-5 or L. Value: ${nthWeekday}`
451
+ `CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${nthWeekday}, Type: ${typeof nthWeekday}`
452
452
  );
453
453
  }
454
454
  }
@@ -628,7 +628,7 @@ var base64 = (() => {
628
628
  */
629
629
  fromString(str) {
630
630
  if (typeof this.tz === "number") {
631
- const inDate = minitz.fromTZISO(str, "UTC");
631
+ const inDate = minitz.fromTZISO(str);
632
632
  this.ms = inDate.getUTCMilliseconds();
633
633
  this.second = inDate.getUTCSeconds();
634
634
  this.minute = inDate.getUTCMinutes();
@@ -637,8 +637,8 @@ var base64 = (() => {
637
637
  this.month = inDate.getUTCMonth();
638
638
  this.year = inDate.getUTCFullYear();
639
639
  this.apply();
640
- } else if (this.tz === void 0) {
641
- return this.fromDate(minitz.fromTZISO(str, this.tz === void 0 ? "UTC" : this.tz));
640
+ } else {
641
+ return this.fromDate(minitz.fromTZISO(str, this.tz));
642
642
  }
643
643
  }
644
644
  /**
@@ -990,7 +990,7 @@ var base64 = (() => {
990
990
  prev = prev || /* @__PURE__ */ new Date();
991
991
  const next = this._next(prev);
992
992
  if (next) {
993
- if (prev instanceof CronDate) {
993
+ if (prev instanceof CronDate || prev instanceof Date) {
994
994
  return next.getTime() - prev.getTime();
995
995
  } else {
996
996
  return next.getTime() - new CronDate(prev).getTime();
@@ -1161,14 +1161,14 @@ var base64 = (() => {
1161
1161
  let newPrev = prev;
1162
1162
  if (this.options.startAt.getTime() <= now.getTime()) {
1163
1163
  newPrev = this.options.startAt;
1164
- let prevTimePlusInterval = prev.getTime() + this.options.interval * 1e3;
1164
+ let prevTimePlusInterval = newPrev.getTime() + this.options.interval * 1e3;
1165
1165
  while (prevTimePlusInterval <= now.getTime()) {
1166
- newPrev = new CronDate(prev, this.options.timezone || this.options.utcOffset).increment(
1166
+ newPrev = new CronDate(newPrev, this.options.timezone || this.options.utcOffset).increment(
1167
1167
  this._states.pattern,
1168
1168
  this.options,
1169
1169
  true
1170
1170
  );
1171
- prevTimePlusInterval = prev.getTime() + this.options.interval * 1e3;
1171
+ prevTimePlusInterval = newPrev.getTime() + this.options.interval * 1e3;
1172
1172
  }
1173
1173
  hasPreviousRun = true;
1174
1174
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "croner",
3
- "version": "9.0.0-dev.3",
3
+ "version": "9.0.0-dev.4",
4
4
  "description": "Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environments.",
5
5
  "author": "Hexagon <github.com/hexagon>",
6
6
  "homepage": "https://croner.56k.guru",