@lighthouse/common 5.0.0-canary-11 → 5.0.0-canary-13
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/helpers/build-fetch-url/index.js +2 -2
- package/dist/helpers/fetch-image/index.js +1 -1
- package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +9 -9
- package/dist/helpers/fetch-image-for-web/index.js +3 -14
- package/dist/helpers/get-audit-entry-details/index.js +2 -0
- package/dist/helpers/get-issue-details/index.js +2 -0
- package/dist/helpers/get-task-entry-details/index.js +3 -1
- package/dist/pdf/helpers/fields/index.js +2 -2
- package/dist/scheduling/scheduling.types.js +9 -9
- package/dist/service-hours/schema.js +12 -12
- package/lib/errors/DomainError.js +7 -8
- package/lib/errors/DomainError.js.map +1 -1
- package/lib/errors/ValidationError.js +11 -9
- package/lib/errors/ValidationError.js.map +1 -1
- package/lib/helpers/build-fetch-url/index.js +2 -2
- package/lib/helpers/build-fetch-url/index.js.map +1 -1
- package/lib/helpers/fetch-image/index.js +1 -1
- package/lib/helpers/fetch-image/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +174 -180
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-web/index.js +60 -74
- package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
- package/lib/helpers/fetch-lighthouse-logo/index.js +41 -43
- package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
- package/lib/helpers/get-audit-entry-details/index.js +2 -0
- package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
- package/lib/helpers/get-audit-items-data/index.js +8 -8
- package/lib/helpers/get-audit-items-data/index.js.map +1 -1
- package/lib/helpers/get-issue-details/index.js +2 -0
- package/lib/helpers/get-issue-details/index.js.map +1 -1
- package/lib/helpers/get-job-details/index.js.map +1 -1
- package/lib/helpers/get-location-reference/index.js +6 -4
- package/lib/helpers/get-location-reference/index.js.map +1 -1
- package/lib/helpers/get-reference-details/index.js.map +1 -1
- package/lib/helpers/get-task-entry-details/index.js +3 -1
- package/lib/helpers/get-task-entry-details/index.js.map +1 -1
- package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
- package/lib/pdf/activity-report/index.js +299 -311
- package/lib/pdf/activity-report/index.js.map +1 -1
- package/lib/pdf/audit/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
- package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
- package/lib/pdf/helpers/fields/index.js +14 -14
- package/lib/pdf/helpers/fields/index.js.map +1 -1
- package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
- package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
- package/lib/pdf/helpers/html-transformer/index.js +1 -2
- package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
- package/lib/pdf/helpers/table/index.js +63 -65
- package/lib/pdf/helpers/table/index.js.map +1 -1
- package/lib/pdf/issue/index.js.map +1 -1
- package/lib/pdf/job/index.js.map +1 -1
- package/lib/pdf/shift-report/index.js +275 -291
- package/lib/pdf/shift-report/index.js.map +1 -1
- package/lib/pdf/task/index.js.map +1 -1
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +27 -30
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js +19 -21
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/serviceIntervalsGenerator.js +134 -136
- package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +81 -83
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateRepeatingSchedule.js +104 -106
- package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
- package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
- package/lib/scheduling/scheduling.types.js +9 -9
- package/lib/scheduling/scheduling.types.js.map +1 -1
- package/lib/scheduling/strategies/getNext.js +21 -17
- package/lib/scheduling/strategies/getNext.js.map +1 -1
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js +21 -18
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js +20 -17
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +20 -17
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextNoRepeat.js +15 -14
- package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
- package/lib/scheduling/strategies/getNextWeekday.js +36 -33
- package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +20 -17
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
- package/lib/schema/schema.js +21 -23
- package/lib/schema/schema.js.map +1 -1
- package/lib/service-hours/schema.js +15 -13
- package/lib/service-hours/schema.js.map +1 -1
- package/package.json +2 -2
- package/yarn-error.log +0 -13549
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
-
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextLastDayOfMonth);
|
|
3
2
|
import moment from 'moment-timezone';
|
|
4
3
|
import { Unit } from '../scheduling.types';
|
|
5
4
|
|
|
@@ -7,46 +6,50 @@ import { Unit } from '../scheduling.types';
|
|
|
7
6
|
* Generates next occurrence interval for last day of month strategy
|
|
8
7
|
*/
|
|
9
8
|
export function getNextLastDayOfMonth(_ref) {
|
|
10
|
-
var end
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
var end = _ref.end,
|
|
10
|
+
isInitial = _ref.isInitial,
|
|
11
|
+
options = _ref.options,
|
|
12
|
+
start = _ref.start,
|
|
13
|
+
timezone = _ref.timezone;
|
|
14
|
+
return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
15
|
+
var duration, frequency, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
|
|
16
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
17
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
18
|
case 0:
|
|
15
|
-
end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
|
|
16
19
|
duration = options.duration, frequency = options.frequency;
|
|
17
20
|
durationUnit = duration.unit, durationValue = duration.value;
|
|
18
21
|
frequencyUnit = frequency.unit, frequencyValue = frequency.value;
|
|
19
22
|
dateCursor = isInitial ? moment.tz(start, timezone).startOf(Unit.Month).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Month).valueOf();
|
|
20
|
-
case
|
|
23
|
+
case 1:
|
|
21
24
|
if (!(dateCursor < end)) {
|
|
22
|
-
_context.next =
|
|
25
|
+
_context.next = 4;
|
|
23
26
|
break;
|
|
24
27
|
}
|
|
25
28
|
nextOccurrenceEnd = moment.tz(dateCursor, timezone).endOf(Unit.Month).add(1, Unit.Day).startOf(Unit.Day).valueOf();
|
|
26
29
|
nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
|
|
27
30
|
if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
|
|
28
|
-
_context.next =
|
|
31
|
+
_context.next = 2;
|
|
29
32
|
break;
|
|
30
33
|
}
|
|
31
34
|
return _context.abrupt("return");
|
|
32
|
-
case
|
|
35
|
+
case 2:
|
|
33
36
|
if (!(nextOccurrenceStart >= start)) {
|
|
34
|
-
_context.next =
|
|
37
|
+
_context.next = 3;
|
|
35
38
|
break;
|
|
36
39
|
}
|
|
37
40
|
nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
|
|
38
|
-
_context.next =
|
|
41
|
+
_context.next = 3;
|
|
39
42
|
return nextOccurrence;
|
|
40
|
-
case
|
|
43
|
+
case 3:
|
|
41
44
|
nextDateCursor = moment.tz(dateCursor, timezone).add(1, Unit.Month).valueOf();
|
|
42
45
|
dateCursor = nextDateCursor;
|
|
43
|
-
_context.next =
|
|
46
|
+
_context.next = 1;
|
|
44
47
|
break;
|
|
45
|
-
case
|
|
48
|
+
case 4:
|
|
46
49
|
case "end":
|
|
47
50
|
return _context.stop();
|
|
48
51
|
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
52
|
+
}, _callee);
|
|
53
|
+
})();
|
|
51
54
|
}
|
|
52
55
|
//# sourceMappingURL=getNextLastDayOfMonth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextLastDayOfMonth.js","names":["
|
|
1
|
+
{"version":3,"file":"getNextLastDayOfMonth.js","names":["moment","Unit","getNextLastDayOfMonth","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","duration","frequency","durationUnit","durationValue","frequencyUnit","frequencyValue","dateCursor","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","wrap","_context","prev","next","unit","value","tz","startOf","Month","valueOf","add","endOf","Day","subtract","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextLastDayOfMonth.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for last day of month strategy\n */\nexport function* getNextLastDayOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const nextOccurrenceEnd: number = moment\n .tz(dateCursor, timezone)\n .endOf(Unit.Month)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Month)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
-
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextLastWeekdayOfMonth);
|
|
3
2
|
import moment from 'moment-timezone';
|
|
4
3
|
import { Unit } from '../scheduling.types';
|
|
5
4
|
|
|
@@ -7,19 +6,23 @@ import { Unit } from '../scheduling.types';
|
|
|
7
6
|
* Generates next occurrence interval for last weekday of month strategy
|
|
8
7
|
*/
|
|
9
8
|
export function getNextLastWeekdayOfMonth(_ref) {
|
|
10
|
-
var end
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
var end = _ref.end,
|
|
10
|
+
isInitial = _ref.isInitial,
|
|
11
|
+
options = _ref.options,
|
|
12
|
+
start = _ref.start,
|
|
13
|
+
timezone = _ref.timezone;
|
|
14
|
+
return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
15
|
+
var duration, frequency, weekday, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, mStartOfMonth, year, month, startDay, date, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
|
|
16
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
17
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
18
|
case 0:
|
|
15
|
-
end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
|
|
16
19
|
duration = options.duration, frequency = options.frequency, weekday = options.weekday;
|
|
17
20
|
durationUnit = duration.unit, durationValue = duration.value;
|
|
18
21
|
frequencyUnit = frequency.unit, frequencyValue = frequency.value;
|
|
19
22
|
dateCursor = isInitial ? moment.tz(start, timezone).startOf(Unit.Month).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Month).valueOf();
|
|
20
|
-
case
|
|
23
|
+
case 1:
|
|
21
24
|
if (!(dateCursor < end)) {
|
|
22
|
-
_context.next =
|
|
25
|
+
_context.next = 4;
|
|
23
26
|
break;
|
|
24
27
|
}
|
|
25
28
|
mStartOfMonth = moment.tz(dateCursor, timezone).add(1, Unit.Month);
|
|
@@ -30,28 +33,28 @@ export function getNextLastWeekdayOfMonth(_ref) {
|
|
|
30
33
|
nextOccurrenceEnd = moment.tz(timezone).year(year).month(month).date(date).add(1, Unit.Day).startOf(Unit.Day).subtract(1, Unit.Week).valueOf();
|
|
31
34
|
nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
|
|
32
35
|
if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
|
|
33
|
-
_context.next =
|
|
36
|
+
_context.next = 2;
|
|
34
37
|
break;
|
|
35
38
|
}
|
|
36
39
|
return _context.abrupt("return");
|
|
37
|
-
case
|
|
40
|
+
case 2:
|
|
38
41
|
if (!(nextOccurrenceStart >= start)) {
|
|
39
|
-
_context.next =
|
|
42
|
+
_context.next = 3;
|
|
40
43
|
break;
|
|
41
44
|
}
|
|
42
45
|
nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
|
|
43
|
-
_context.next =
|
|
46
|
+
_context.next = 3;
|
|
44
47
|
return nextOccurrence;
|
|
45
|
-
case
|
|
48
|
+
case 3:
|
|
46
49
|
nextDateCursor = mStartOfMonth.valueOf();
|
|
47
50
|
dateCursor = nextDateCursor;
|
|
48
|
-
_context.next =
|
|
51
|
+
_context.next = 1;
|
|
49
52
|
break;
|
|
50
|
-
case
|
|
53
|
+
case 4:
|
|
51
54
|
case "end":
|
|
52
55
|
return _context.stop();
|
|
53
56
|
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
57
|
+
}, _callee);
|
|
58
|
+
})();
|
|
56
59
|
}
|
|
57
60
|
//# sourceMappingURL=getNextLastWeekdayOfMonth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextLastWeekdayOfMonth.js","names":["
|
|
1
|
+
{"version":3,"file":"getNextLastWeekdayOfMonth.js","names":["moment","Unit","getNextLastWeekdayOfMonth","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","duration","frequency","weekday","durationUnit","durationValue","frequencyUnit","frequencyValue","dateCursor","mStartOfMonth","year","month","startDay","date","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","wrap","_context","prev","next","unit","value","tz","startOf","Month","valueOf","add","isoWeekday","Day","subtract","Week","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextLastWeekdayOfMonth.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for last weekday of month strategy\n */\nexport function* getNextLastWeekdayOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency, weekday } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const mStartOfMonth = moment.tz(dateCursor, timezone).add(1, Unit.Month)\n\n const year: number = mStartOfMonth.year()\n const month: number = mStartOfMonth.month()\n const startDay: number = mStartOfMonth.isoWeekday()\n const date: number =\n startDay > weekday ? weekday - startDay + 8 : weekday - startDay + 1\n\n const nextOccurrenceEnd: number = moment\n .tz(timezone)\n .year(year)\n .month(month)\n .date(date)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .subtract(1, Unit.Week)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor = mStartOfMonth.valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
-
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextNoRepeat);
|
|
3
2
|
import moment from 'moment-timezone';
|
|
4
3
|
/**
|
|
5
4
|
* Generates next occurrence interval for non repeat strategy
|
|
6
5
|
*/
|
|
7
6
|
export function getNextNoRepeat(_ref) {
|
|
8
|
-
var start
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
var start = _ref.start,
|
|
8
|
+
end = _ref.end,
|
|
9
|
+
timezone = _ref.timezone;
|
|
10
|
+
return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
11
|
+
var nextOccurrenceStart, nextOccurrenceEnd, nextOccurrence;
|
|
12
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
13
|
+
while (1) switch (_context.prev = _context.next) {
|
|
12
14
|
case 0:
|
|
13
|
-
start = _ref.start, end = _ref.end, timezone = _ref.timezone;
|
|
14
15
|
nextOccurrenceStart = moment.tz(start, timezone).valueOf();
|
|
15
16
|
nextOccurrenceEnd = moment.tz(end, timezone).valueOf() - 1;
|
|
16
17
|
if (!(nextOccurrenceStart < start)) {
|
|
17
|
-
_context.next =
|
|
18
|
+
_context.next = 1;
|
|
18
19
|
break;
|
|
19
20
|
}
|
|
20
21
|
return _context.abrupt("return");
|
|
21
|
-
case
|
|
22
|
+
case 1:
|
|
22
23
|
if (!(nextOccurrenceEnd <= nextOccurrenceStart)) {
|
|
23
|
-
_context.next =
|
|
24
|
+
_context.next = 2;
|
|
24
25
|
break;
|
|
25
26
|
}
|
|
26
27
|
return _context.abrupt("return");
|
|
27
|
-
case
|
|
28
|
+
case 2:
|
|
28
29
|
nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd];
|
|
29
|
-
_context.next =
|
|
30
|
+
_context.next = 3;
|
|
30
31
|
return nextOccurrence;
|
|
31
|
-
case
|
|
32
|
+
case 3:
|
|
32
33
|
case "end":
|
|
33
34
|
return _context.stop();
|
|
34
35
|
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
36
|
+
}, _callee);
|
|
37
|
+
})();
|
|
37
38
|
}
|
|
38
39
|
//# sourceMappingURL=getNextNoRepeat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextNoRepeat.js","names":["
|
|
1
|
+
{"version":3,"file":"getNextNoRepeat.js","names":["moment","getNextNoRepeat","_ref","start","end","timezone","_regeneratorRuntime","mark","_callee","nextOccurrenceStart","nextOccurrenceEnd","nextOccurrence","wrap","_context","prev","next","tz","valueOf","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextNoRepeat.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for non repeat strategy\n */\nexport function* getNextNoRepeat({\n start,\n end,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const nextOccurrenceStart: number = moment.tz(start, timezone).valueOf()\n const nextOccurrenceEnd: number = moment.tz(end, timezone).valueOf() - 1\n\n if (nextOccurrenceStart < start) {\n return\n }\n\n if (nextOccurrenceEnd <= nextOccurrenceStart) {\n return\n }\n\n const nextOccurrence: Interval = [nextOccurrenceStart, nextOccurrenceEnd]\n\n yield nextOccurrence\n}\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAIpC;AACA;AACA;AACA,OAAO,SAAUC,eAAeA,CAAAC,IAAA;EAAA,IAC9BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAAA,oBAAAC,mBAAA,CAAAC,IAAA,UAAAC,QAAA;IAAA,IAAAC,mBAAA,EAAAC,iBAAA,EAAAC,cAAA;IAAA,OAAAL,mBAAA,CAAAM,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEFN,mBAA2B,GAAGT,MAAM,CAACgB,EAAE,CAACb,KAAK,EAAEE,QAAQ,CAAC,CAACY,OAAO,CAAC,CAAC;UAClEP,iBAAyB,GAAGV,MAAM,CAACgB,EAAE,CAACZ,GAAG,EAAEC,QAAQ,CAAC,CAACY,OAAO,CAAC,CAAC,GAAG,CAAC;UAAA,MAEpER,mBAAmB,GAAGN,KAAK;YAAAU,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAK,MAAA;QAAA;UAAA,MAI3BR,iBAAiB,IAAID,mBAAmB;YAAAI,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAK,MAAA;QAAA;UAItCP,cAAwB,GAAG,CAACF,mBAAmB,EAAEC,iBAAiB,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAEzE,OAAMJ,cAAc;QAAA;QAAA;UAAA,OAAAE,QAAA,CAAAM,IAAA;MAAA;IAAA,GAAAX,OAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
-
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextWeekday);
|
|
3
2
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
4
3
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++)
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
5
|
import moment from 'moment-timezone';
|
|
7
6
|
import { Unit } from '../scheduling.types';
|
|
8
7
|
|
|
@@ -10,72 +9,76 @@ import { Unit } from '../scheduling.types';
|
|
|
10
9
|
* Generates next occurrence interval for weekdays strategy
|
|
11
10
|
*/
|
|
12
11
|
export function getNextWeekday(_ref) {
|
|
13
|
-
var end
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
var end = _ref.end,
|
|
13
|
+
isInitial = _ref.isInitial,
|
|
14
|
+
options = _ref.options,
|
|
15
|
+
start = _ref.start,
|
|
16
|
+
timezone = _ref.timezone;
|
|
17
|
+
return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
18
|
+
var duration, frequency, weekdays, durationUnit, durationValue, frequencyUnit, frequencyValue, initial, dateCursor, _iterator, _step, weekday, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor, _t;
|
|
19
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
20
|
+
while (1) switch (_context.prev = _context.next) {
|
|
17
21
|
case 0:
|
|
18
|
-
end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
|
|
19
22
|
duration = options.duration, frequency = options.frequency, weekdays = options.weekdays;
|
|
20
23
|
durationUnit = duration.unit, durationValue = duration.value;
|
|
21
24
|
frequencyUnit = frequency.unit, frequencyValue = frequency.value;
|
|
22
25
|
initial = isInitial;
|
|
23
26
|
dateCursor = initial ? moment.tz(start, timezone).startOf(Unit.Week).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Week).valueOf();
|
|
24
|
-
case
|
|
27
|
+
case 1:
|
|
25
28
|
if (!(dateCursor < end)) {
|
|
26
|
-
_context.next =
|
|
29
|
+
_context.next = 11;
|
|
27
30
|
break;
|
|
28
31
|
}
|
|
29
32
|
_iterator = _createForOfIteratorHelper(weekdays);
|
|
30
|
-
_context.prev =
|
|
33
|
+
_context.prev = 2;
|
|
31
34
|
_iterator.s();
|
|
32
|
-
case
|
|
35
|
+
case 3:
|
|
33
36
|
if ((_step = _iterator.n()).done) {
|
|
34
|
-
_context.next =
|
|
37
|
+
_context.next = 7;
|
|
35
38
|
break;
|
|
36
39
|
}
|
|
37
40
|
weekday = _step.value;
|
|
38
41
|
nextOccurrenceEnd = moment.tz(dateCursor, timezone).isoWeekday(weekday).add(1, Unit.Day).startOf(Unit.Day).valueOf();
|
|
39
42
|
nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
|
|
40
43
|
if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
|
|
41
|
-
_context.next =
|
|
44
|
+
_context.next = 4;
|
|
42
45
|
break;
|
|
43
46
|
}
|
|
44
47
|
return _context.abrupt("return");
|
|
45
|
-
case
|
|
48
|
+
case 4:
|
|
46
49
|
if (!(nextOccurrenceStart >= start)) {
|
|
47
|
-
_context.next =
|
|
50
|
+
_context.next = 6;
|
|
48
51
|
break;
|
|
49
52
|
}
|
|
50
53
|
nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
|
|
51
|
-
_context.next =
|
|
54
|
+
_context.next = 5;
|
|
52
55
|
return nextOccurrence;
|
|
53
|
-
case
|
|
56
|
+
case 5:
|
|
54
57
|
initial = false;
|
|
55
|
-
case
|
|
56
|
-
_context.next =
|
|
58
|
+
case 6:
|
|
59
|
+
_context.next = 3;
|
|
57
60
|
break;
|
|
58
|
-
case
|
|
59
|
-
_context.next =
|
|
61
|
+
case 7:
|
|
62
|
+
_context.next = 9;
|
|
60
63
|
break;
|
|
61
|
-
case
|
|
62
|
-
_context.prev =
|
|
63
|
-
|
|
64
|
-
_iterator.e(
|
|
65
|
-
case
|
|
66
|
-
_context.prev =
|
|
64
|
+
case 8:
|
|
65
|
+
_context.prev = 8;
|
|
66
|
+
_t = _context["catch"](2);
|
|
67
|
+
_iterator.e(_t);
|
|
68
|
+
case 9:
|
|
69
|
+
_context.prev = 9;
|
|
67
70
|
_iterator.f();
|
|
68
|
-
return _context.finish(
|
|
69
|
-
case
|
|
71
|
+
return _context.finish(9);
|
|
72
|
+
case 10:
|
|
70
73
|
nextDateCursor = moment.tz(dateCursor, timezone).add(1, Unit.Week).valueOf();
|
|
71
74
|
dateCursor = nextDateCursor;
|
|
72
|
-
_context.next =
|
|
75
|
+
_context.next = 1;
|
|
73
76
|
break;
|
|
74
|
-
case
|
|
77
|
+
case 11:
|
|
75
78
|
case "end":
|
|
76
79
|
return _context.stop();
|
|
77
80
|
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
81
|
+
}, _callee, null, [[2, 8, 9, 10]]);
|
|
82
|
+
})();
|
|
80
83
|
}
|
|
81
84
|
//# sourceMappingURL=getNextWeekday.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextWeekday.js","names":["
|
|
1
|
+
{"version":3,"file":"getNextWeekday.js","names":["moment","Unit","getNextWeekday","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","duration","frequency","weekdays","durationUnit","durationValue","frequencyUnit","frequencyValue","initial","dateCursor","_iterator","_step","weekday","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","_t","wrap","_context","prev","next","unit","value","tz","startOf","Week","valueOf","add","_createForOfIteratorHelper","s","n","done","isoWeekday","Day","subtract","abrupt","e","f","finish","stop"],"sources":["../../../src/scheduling/strategies/getNextWeekday.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for weekdays strategy\n */\nexport function* getNextWeekday({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency, weekdays } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let initial: boolean = isInitial\n\n let dateCursor: number = initial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Week)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Week)\n .valueOf()\n\n while (dateCursor < end) {\n for (const weekday of weekdays) {\n const nextOccurrenceEnd: number = moment\n .tz(dateCursor, timezone)\n .isoWeekday(weekday)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n\n initial = false\n }\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Week)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,SAA4BC,IAAI,QAAQ,qBAAqB;;AAE7D;AACA;AACA;AACA,OAAO,SAAUC,cAAcA,CAAAC,IAAA;EAAA,IAC7BC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IACHC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;EAAA,oBAAAC,mBAAA,CAAAC,IAAA,UAAAC,QAAA;IAAA,IAAAC,QAAA,EAAAC,SAAA,EAAAC,QAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,cAAA,EAAAC,OAAA,EAAAC,UAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,iBAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,EAAA;IAAA,OAAAnB,mBAAA,CAAAoB,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEApB,QAAQ,GAA0BN,OAAO,CAAzCM,QAAQ,EAAEC,SAAS,GAAeP,OAAO,CAA/BO,SAAS,EAAEC,QAAQ,GAAKR,OAAO,CAApBQ,QAAQ;UACvBC,YAAY,GAA2BH,QAAQ,CAArDqB,IAAI,EAAuBjB,aAAa,GAAKJ,QAAQ,CAAjCsB,KAAK;UACnBjB,aAAa,GAA4BJ,SAAS,CAAxDoB,IAAI,EAAwBf,cAAc,GAAKL,SAAS,CAAnCqB,KAAK;UAE9Bf,OAAgB,GAAGd,SAAS;UAE5Be,UAAkB,GAAGD,OAAO,GAC5BnB,MAAM,CACHmC,EAAE,CAAC5B,KAAK,EAAEC,QAAQ,CAAC,CACnB4B,OAAO,CAACnC,IAAI,CAACoC,IAAI,CAAC,CAClBC,OAAO,CAAC,CAAC,GACZtC,MAAM,CACHmC,EAAE,CAAC5B,KAAK,EAAEC,QAAQ,CAAC,CACnB+B,GAAG,CAACrB,cAAc,EAAED,aAAa,CAAC,CAClCmB,OAAO,CAACnC,IAAI,CAACoC,IAAI,CAAC,CAClBC,OAAO,CAAC,CAAC;QAAA;UAAA,MAETlB,UAAU,GAAGhB,GAAG;YAAA0B,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAX,SAAA,GAAAmB,0BAAA,CACC1B,QAAQ;UAAAgB,QAAA,CAAAC,IAAA;UAAAV,SAAA,CAAAoB,CAAA;QAAA;UAAA,KAAAnB,KAAA,GAAAD,SAAA,CAAAqB,CAAA,IAAAC,IAAA;YAAAb,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAnBT,OAAO,GAAAD,KAAA,CAAAY,KAAA;UACVV,iBAAyB,GAAGxB,MAAM,CACrCmC,EAAE,CAACf,UAAU,EAAEZ,QAAQ,CAAC,CACxBoC,UAAU,CAACrB,OAAO,CAAC,CACnBgB,GAAG,CAAC,CAAC,EAAEtC,IAAI,CAAC4C,GAAG,CAAC,CAChBT,OAAO,CAACnC,IAAI,CAAC4C,GAAG,CAAC,CACjBP,OAAO,CAAC,CAAC;UAENb,mBAA2B,GAAGzB,MAAM,CACvCmC,EAAE,CAACX,iBAAiB,EAAEhB,QAAQ,CAAC,CAC/BsC,QAAQ,CAAC9B,aAAa,EAAED,YAAY,CAAC,CACrCuB,OAAO,CAAC,CAAC;UAAA,MAERd,iBAAiB,IAAIC,mBAAmB,IAAID,iBAAiB,GAAGpB,GAAG;YAAA0B,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAiB,MAAA;QAAA;UAAA,MAInEtB,mBAAmB,IAAIlB,KAAK;YAAAuB,QAAA,CAAAE,IAAA;YAAA;UAAA;UACxBN,cAAwB,GAAG,CAC/BD,mBAAmB,EACnBD,iBAAiB,GAAG,CAAC,CACtB;UAAAM,QAAA,CAAAE,IAAA;UAED,OAAMN,cAAc;QAAA;UAEpBP,OAAO,GAAG,KAAK;QAAA;UAAAW,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAH,EAAA,GAAAE,QAAA;UAAAT,SAAA,CAAA2B,CAAA,CAAApB,EAAA;QAAA;UAAAE,QAAA,CAAAC,IAAA;UAAAV,SAAA,CAAA4B,CAAA;UAAA,OAAAnB,QAAA,CAAAoB,MAAA;QAAA;UAIbvB,cAAsB,GAAG3B,MAAM,CAClCmC,EAAE,CAACf,UAAU,EAAEZ,QAAQ,CAAC,CACxB+B,GAAG,CAAC,CAAC,EAAEtC,IAAI,CAACoC,IAAI,CAAC,CACjBC,OAAO,CAAC,CAAC;UAEZlB,UAAU,GAAGO,cAAc;UAAAG,QAAA,CAAAE,IAAA;UAAA;QAAA;QAAA;UAAA,OAAAF,QAAA,CAAAqB,IAAA;MAAA;IAAA,GAAAxC,OAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
-
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextXDayOfXWeekOfMonth);
|
|
3
2
|
import moment from 'moment-timezone';
|
|
4
3
|
import { Unit } from '../scheduling.types';
|
|
5
4
|
|
|
@@ -7,19 +6,23 @@ import { Unit } from '../scheduling.types';
|
|
|
7
6
|
* Generates next occurrence interval for x day of x week of month strategy
|
|
8
7
|
*/
|
|
9
8
|
export function getNextXDayOfXWeekOfMonth(_ref) {
|
|
10
|
-
var end
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
var end = _ref.end,
|
|
10
|
+
isInitial = _ref.isInitial,
|
|
11
|
+
options = _ref.options,
|
|
12
|
+
start = _ref.start,
|
|
13
|
+
timezone = _ref.timezone;
|
|
14
|
+
return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
15
|
+
var dayOfWeek, duration, frequency, weekOfMonth, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, mStartOfMonth, year, month, startDayOfMonth, weekOffset, day, date, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
|
|
16
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
17
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
18
|
case 0:
|
|
15
|
-
end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
|
|
16
19
|
dayOfWeek = options.dayOfWeek, duration = options.duration, frequency = options.frequency, weekOfMonth = options.weekOfMonth;
|
|
17
20
|
durationUnit = duration.unit, durationValue = duration.value;
|
|
18
21
|
frequencyUnit = frequency.unit, frequencyValue = frequency.value;
|
|
19
22
|
dateCursor = isInitial ? moment.tz(start, timezone).startOf(Unit.Month).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Month).valueOf();
|
|
20
|
-
case
|
|
23
|
+
case 1:
|
|
21
24
|
if (!(dateCursor < end)) {
|
|
22
|
-
_context.next =
|
|
25
|
+
_context.next = 4;
|
|
23
26
|
break;
|
|
24
27
|
}
|
|
25
28
|
mStartOfMonth = moment.tz(dateCursor, timezone);
|
|
@@ -32,28 +35,28 @@ export function getNextXDayOfXWeekOfMonth(_ref) {
|
|
|
32
35
|
nextOccurrenceEnd = moment.tz(timezone).year(year).month(month).date(date).add(1, Unit.Day).startOf(Unit.Day).valueOf();
|
|
33
36
|
nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
|
|
34
37
|
if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
|
|
35
|
-
_context.next =
|
|
38
|
+
_context.next = 2;
|
|
36
39
|
break;
|
|
37
40
|
}
|
|
38
41
|
return _context.abrupt("return");
|
|
39
|
-
case
|
|
42
|
+
case 2:
|
|
40
43
|
if (!(nextOccurrenceStart >= start)) {
|
|
41
|
-
_context.next =
|
|
44
|
+
_context.next = 3;
|
|
42
45
|
break;
|
|
43
46
|
}
|
|
44
47
|
nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
|
|
45
|
-
_context.next =
|
|
48
|
+
_context.next = 3;
|
|
46
49
|
return nextOccurrence;
|
|
47
|
-
case
|
|
50
|
+
case 3:
|
|
48
51
|
nextDateCursor = moment.tz(dateCursor, timezone).add(1, Unit.Month).valueOf();
|
|
49
52
|
dateCursor = nextDateCursor;
|
|
50
|
-
_context.next =
|
|
53
|
+
_context.next = 1;
|
|
51
54
|
break;
|
|
52
|
-
case
|
|
55
|
+
case 4:
|
|
53
56
|
case "end":
|
|
54
57
|
return _context.stop();
|
|
55
58
|
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
59
|
+
}, _callee);
|
|
60
|
+
})();
|
|
58
61
|
}
|
|
59
62
|
//# sourceMappingURL=getNextXDayOfXWeekOfMonth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextXDayOfXWeekOfMonth.js","names":["
|
|
1
|
+
{"version":3,"file":"getNextXDayOfXWeekOfMonth.js","names":["moment","Unit","getNextXDayOfXWeekOfMonth","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","dayOfWeek","duration","frequency","weekOfMonth","durationUnit","durationValue","frequencyUnit","frequencyValue","dateCursor","mStartOfMonth","year","month","startDayOfMonth","weekOffset","day","date","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","wrap","_context","prev","next","unit","value","tz","startOf","Month","valueOf","add","isoWeekday","Day","subtract","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextXDayOfXWeekOfMonth.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for x day of x week of month strategy\n */\nexport function* getNextXDayOfXWeekOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { dayOfWeek, duration, frequency, weekOfMonth } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const mStartOfMonth = moment.tz(dateCursor, timezone)\n const year: number = mStartOfMonth.year()\n const month: number = mStartOfMonth.month()\n const startDayOfMonth: number = mStartOfMonth.isoWeekday()\n\n const weekOffset: number = (weekOfMonth - 1) * 7\n const day: number =\n startDayOfMonth > dayOfWeek\n ? dayOfWeek - startDayOfMonth + 8\n : dayOfWeek - startDayOfMonth + 1\n const date: number = weekOffset + day\n\n const nextOccurrenceEnd: number = moment\n .tz(timezone)\n .year(year)\n .month(month)\n .date(date)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Month)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/schema/schema.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
3
|
import { ValidationError } from '../errors';
|
|
4
4
|
export { ValidationError };
|
|
5
5
|
var defaultValidateOptions = {
|
|
@@ -11,29 +11,27 @@ export function validate(_x) {
|
|
|
11
11
|
}
|
|
12
12
|
function _validate() {
|
|
13
13
|
_validate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
14
|
-
var schema, data, _ref$options, options;
|
|
15
|
-
return _regeneratorRuntime.wrap(function
|
|
16
|
-
while (1) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return _context.stop();
|
|
34
|
-
}
|
|
14
|
+
var schema, data, _ref$options, options, _t;
|
|
15
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
16
|
+
while (1) switch (_context.prev = _context.next) {
|
|
17
|
+
case 0:
|
|
18
|
+
schema = _ref.schema, data = _ref.data, _ref$options = _ref.options, options = _ref$options === void 0 ? defaultValidateOptions : _ref$options;
|
|
19
|
+
_context.prev = 1;
|
|
20
|
+
_context.next = 2;
|
|
21
|
+
return schema.validate(data, options);
|
|
22
|
+
case 2:
|
|
23
|
+
return _context.abrupt("return", _context.sent);
|
|
24
|
+
case 3:
|
|
25
|
+
_context.prev = 3;
|
|
26
|
+
_t = _context["catch"](1);
|
|
27
|
+
throw new ValidationError({
|
|
28
|
+
data: _t
|
|
29
|
+
});
|
|
30
|
+
case 4:
|
|
31
|
+
case "end":
|
|
32
|
+
return _context.stop();
|
|
35
33
|
}
|
|
36
|
-
}, _callee, null, [[1,
|
|
34
|
+
}, _callee, null, [[1, 3]]);
|
|
37
35
|
}));
|
|
38
36
|
return _validate.apply(this, arguments);
|
|
39
37
|
}
|