@lighthouse/common 6.5.0 → 6.6.0-canary.1
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/constants.js +7 -13
- package/dist/errors/DomainError.js +2 -4
- package/dist/errors/ValidationError.js +0 -8
- package/dist/errors/index.js +1 -5
- package/dist/helpers/build-fetch-url/index.js +0 -5
- package/dist/helpers/fetch-image/index.js +16 -32
- package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +7 -40
- package/dist/helpers/fetch-image-for-web/index.js +0 -9
- package/dist/helpers/fetch-lighthouse-logo/index.js +2 -13
- package/dist/helpers/floatify/index.js +0 -1
- package/dist/helpers/get-assignees-full-names/index.js +0 -4
- package/dist/helpers/get-audit-entry-details/index.js +0 -3
- package/dist/helpers/get-audit-items-data/index.js +2 -6
- package/dist/helpers/get-geometry-geocoded-string/index.js +0 -3
- package/dist/helpers/get-issue-details/index.js +0 -7
- package/dist/helpers/get-job-details/index.js +0 -7
- package/dist/helpers/get-location-reference/index.js +18 -21
- package/dist/helpers/get-pretty-duration/index.js +0 -5
- package/dist/helpers/get-reference-details/index.js +0 -4
- package/dist/helpers/get-status-details/index.js +2 -9
- package/dist/helpers/get-task-entry-details/index.js +0 -3
- package/dist/helpers/get-timezone-abbr/index.js +0 -4
- package/dist/helpers/get-timezone-datetime/index.js +0 -5
- package/dist/helpers/get-user-full-name/index.js +0 -1
- package/dist/helpers/get-value-as-percentage/index.js +0 -1
- package/dist/helpers/image-validators/index.js +8 -9
- package/dist/helpers/index.js +16 -33
- package/dist/images/index.js +5 -9
- package/dist/index.js +4 -20
- package/dist/pdf/activity-report/index.js +41 -62
- package/dist/pdf/audit/index.js +0 -14
- package/dist/pdf/helpers/build-audit-content/index.js +4 -15
- package/dist/pdf/helpers/build-audit-follow-ups/index.js +4 -14
- package/dist/pdf/helpers/build-location-scans-content/index.js +4 -17
- package/dist/pdf/helpers/build-template-content/index.js +5 -14
- package/dist/pdf/helpers/default-footer/index.js +2 -3
- package/dist/pdf/helpers/default-header/index.js +0 -2
- package/dist/pdf/helpers/default-styles/index.js +2 -3
- package/dist/pdf/helpers/fields/index.js +21 -51
- package/dist/pdf/helpers/format-location-address/index.js +0 -3
- package/dist/pdf/helpers/generate-definition/index.js +0 -12
- package/dist/pdf/helpers/horizontal-line/index.js +0 -1
- package/dist/pdf/helpers/html-transformer/index.js +11 -23
- package/dist/pdf/helpers/index.js +40 -55
- package/dist/pdf/helpers/parse-value/index.js +2 -6
- package/dist/pdf/helpers/table/index.js +13 -31
- package/dist/pdf/helpers/text/index.js +0 -1
- package/dist/pdf/icons/index.js +3 -5
- package/dist/pdf/index.js +4 -10
- package/dist/pdf/issue/index.js +17 -16
- package/dist/pdf/job/index.js +1 -13
- package/dist/pdf/shift-report/emptyFixtures.js +4 -6
- package/dist/pdf/shift-report/index.js +2 -25
- package/dist/pdf/task/index.js +0 -13
- package/dist/scheduling/generators/index.js +0 -6
- package/dist/scheduling/generators/occurrenceIntervalsGenerator.js +1 -6
- package/dist/scheduling/generators/scheduleIntervalsGenerator.js +0 -5
- package/dist/scheduling/generators/serviceIntervalsGenerator.js +13 -27
- package/dist/scheduling/helpers/convertToTimezone.js +1 -6
- package/dist/scheduling/helpers/generateNonRepeatingSchedule.js +3 -9
- package/dist/scheduling/helpers/generateRepeatingSchedule.js +11 -18
- package/dist/scheduling/helpers/generateScheduleEnd.js +2 -8
- package/dist/scheduling/helpers/hasValidStartAndEnd.js +0 -6
- package/dist/scheduling/helpers/index.js +0 -28
- package/dist/scheduling/helpers/intervalCovers.js +0 -1
- package/dist/scheduling/helpers/intervalIntersectsEnd.js +0 -1
- package/dist/scheduling/helpers/intervalIntersectsStart.js +0 -1
- package/dist/scheduling/helpers/intervalOnlyIntersectsEnd.js +1 -3
- package/dist/scheduling/helpers/intervalOnlyIntersectsStart.js +0 -3
- package/dist/scheduling/helpers/intervalOutside.js +0 -1
- package/dist/scheduling/helpers/intervalWithin.js +0 -1
- package/dist/scheduling/helpers/mergeIntervals.js +0 -4
- package/dist/scheduling/helpers/splitIntervals.js +0 -3
- package/dist/scheduling/index.js +0 -6
- package/dist/scheduling/scheduling.types.js +10 -18
- package/dist/scheduling/strategies/getNext.js +2 -13
- package/dist/scheduling/strategies/getNextExactDateOfMonth.js +0 -12
- package/dist/scheduling/strategies/getNextLastDayOfMonth.js +0 -10
- package/dist/scheduling/strategies/getNextLastWeekdayOfMonth.js +0 -11
- package/dist/scheduling/strategies/getNextNoRepeat.js +0 -7
- package/dist/scheduling/strategies/getNextWeekday.js +0 -10
- package/dist/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +0 -12
- package/dist/scheduling/strategies/index.js +0 -14
- package/dist/schema/index.js +0 -2
- package/dist/schema/schema.js +2 -7
- package/dist/service-hours/__helpers__/calculate-hours.js +4 -13
- package/dist/service-hours/__helpers__/isOpen.js +0 -9
- package/dist/service-hours/index.js +0 -4
- package/dist/service-hours/schema.js +20 -43
- package/lib/constants.js.map +1 -1
- package/lib/errors/DomainError.js +11 -47
- package/lib/errors/DomainError.js.map +1 -1
- package/lib/errors/ValidationError.js +15 -52
- package/lib/errors/ValidationError.js.map +1 -1
- package/lib/errors/index.js.map +1 -1
- package/lib/helpers/build-fetch-url/index.js +14 -20
- package/lib/helpers/build-fetch-url/index.js.map +1 -1
- package/lib/helpers/fetch-image/index.js +20 -27
- package/lib/helpers/fetch-image/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +187 -239
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-web/index.js +50 -66
- package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
- package/lib/helpers/fetch-lighthouse-logo/index.js +47 -59
- package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
- package/lib/helpers/floatify/index.js.map +1 -1
- package/lib/helpers/get-assignees-full-names/index.js +0 -1
- package/lib/helpers/get-assignees-full-names/index.js.map +1 -1
- package/lib/helpers/get-audit-entry-details/index.js +8 -8
- package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
- package/lib/helpers/get-audit-items-data/index.js +16 -19
- package/lib/helpers/get-audit-items-data/index.js.map +1 -1
- package/lib/helpers/get-geometry-geocoded-string/index.js.map +1 -1
- package/lib/helpers/get-issue-details/index.js +11 -11
- package/lib/helpers/get-issue-details/index.js.map +1 -1
- package/lib/helpers/get-job-details/index.js +12 -12
- package/lib/helpers/get-job-details/index.js.map +1 -1
- package/lib/helpers/get-location-reference/index.js +32 -36
- package/lib/helpers/get-location-reference/index.js.map +1 -1
- package/lib/helpers/get-pretty-duration/index.js +0 -4
- package/lib/helpers/get-pretty-duration/index.js.map +1 -1
- package/lib/helpers/get-reference-details/index.js +1 -3
- package/lib/helpers/get-reference-details/index.js.map +1 -1
- package/lib/helpers/get-status-details/index.js +0 -4
- package/lib/helpers/get-status-details/index.js.map +1 -1
- package/lib/helpers/get-task-entry-details/index.js +5 -5
- package/lib/helpers/get-task-entry-details/index.js.map +1 -1
- package/lib/helpers/get-timezone-abbr/index.js.map +1 -1
- package/lib/helpers/get-timezone-datetime/index.js +6 -6
- package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
- package/lib/helpers/get-user-full-name/index.js.map +1 -1
- package/lib/helpers/get-value-as-percentage/index.js.map +1 -1
- package/lib/helpers/image-validators/index.js +8 -7
- package/lib/helpers/image-validators/index.js.map +1 -1
- package/lib/helpers/index.js.map +1 -1
- package/lib/images/index.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/pdf/activity-report/index.js +360 -416
- package/lib/pdf/activity-report/index.js.map +1 -1
- package/lib/pdf/audit/index.js +25 -36
- package/lib/pdf/audit/index.js.map +1 -1
- package/lib/pdf/fonts/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-content/index.js +3 -5
- package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-follow-ups/index.js +5 -12
- package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
- package/lib/pdf/helpers/build-location-scans-content/index.js +4 -9
- package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-template-content/index.js +7 -9
- package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
- package/lib/pdf/helpers/default-footer/index.js +9 -8
- package/lib/pdf/helpers/default-footer/index.js.map +1 -1
- package/lib/pdf/helpers/default-header/index.js +5 -5
- package/lib/pdf/helpers/default-header/index.js.map +1 -1
- package/lib/pdf/helpers/default-styles/index.js.map +1 -1
- package/lib/pdf/helpers/fields/index.js +48 -81
- package/lib/pdf/helpers/fields/index.js.map +1 -1
- package/lib/pdf/helpers/format-location-address/index.js.map +1 -1
- package/lib/pdf/helpers/generate-definition/index.js +22 -29
- package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
- package/lib/pdf/helpers/horizontal-line/index.js +1 -1
- package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
- package/lib/pdf/helpers/html-transformer/index.js +19 -30
- package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
- package/lib/pdf/helpers/index.js.map +1 -1
- package/lib/pdf/helpers/parse-value/index.js +2 -4
- package/lib/pdf/helpers/parse-value/index.js.map +1 -1
- package/lib/pdf/helpers/table/index.js +78 -84
- package/lib/pdf/helpers/table/index.js.map +1 -1
- package/lib/pdf/helpers/text/index.js +2 -5
- package/lib/pdf/helpers/text/index.js.map +1 -1
- package/lib/pdf/icons/index.js.map +1 -1
- package/lib/pdf/index.js.map +1 -1
- package/lib/pdf/issue/index.js +36 -30
- package/lib/pdf/issue/index.js.map +1 -1
- package/lib/pdf/job/index.js +12 -19
- package/lib/pdf/job/index.js.map +1 -1
- package/lib/pdf/shift-report/emptyFixtures.js.map +1 -1
- package/lib/pdf/shift-report/index.js +308 -374
- package/lib/pdf/shift-report/index.js.map +1 -1
- package/lib/pdf/task/index.js +11 -19
- package/lib/pdf/task/index.js.map +1 -1
- package/lib/scheduling/generators/index.js.map +1 -1
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +27 -38
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js +19 -30
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/serviceIntervalsGenerator.js +139 -181
- package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/helpers/convertToTimezone.js +1 -1
- package/lib/scheduling/helpers/convertToTimezone.js.map +1 -1
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +84 -124
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateRepeatingSchedule.js +107 -175
- package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateScheduleEnd.js +6 -6
- package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
- package/lib/scheduling/helpers/hasValidStartAndEnd.js +1 -2
- package/lib/scheduling/helpers/hasValidStartAndEnd.js.map +1 -1
- package/lib/scheduling/helpers/index.js.map +1 -1
- package/lib/scheduling/helpers/intervalCovers.js.map +1 -1
- package/lib/scheduling/helpers/intervalIntersectsEnd.js.map +1 -1
- package/lib/scheduling/helpers/intervalIntersectsStart.js.map +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js +1 -0
- package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js.map +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js.map +1 -1
- package/lib/scheduling/helpers/intervalOutside.js.map +1 -1
- package/lib/scheduling/helpers/intervalWithin.js.map +1 -1
- package/lib/scheduling/helpers/mergeIntervals.js +0 -3
- package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
- package/lib/scheduling/helpers/splitIntervals.js +1 -1
- package/lib/scheduling/helpers/splitIntervals.js.map +1 -1
- package/lib/scheduling/index.js.map +1 -1
- package/lib/scheduling/scheduling.types.js +9 -14
- package/lib/scheduling/scheduling.types.js.map +1 -1
- package/lib/scheduling/strategies/getNext.js +22 -30
- package/lib/scheduling/strategies/getNext.js.map +1 -1
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js +22 -31
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js +21 -28
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +21 -28
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextNoRepeat.js +15 -23
- package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
- package/lib/scheduling/strategies/getNextWeekday.js +43 -78
- package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +21 -28
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/index.js.map +1 -1
- package/lib/schema/index.js.map +1 -1
- package/lib/schema/schema.js +22 -30
- package/lib/schema/schema.js.map +1 -1
- package/lib/service-hours/__helpers__/calculate-hours.js +4 -13
- package/lib/service-hours/__helpers__/calculate-hours.js.map +1 -1
- package/lib/service-hours/__helpers__/isOpen.js +3 -7
- package/lib/service-hours/__helpers__/isOpen.js.map +1 -1
- package/lib/service-hours/index.js.map +1 -1
- package/lib/service-hours/schema.js +21 -36
- package/lib/service-hours/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/pdf/task/index.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.buildTaskPdf = buildTaskPdf;
|
|
9
|
-
|
|
10
8
|
var _lodash = require("lodash");
|
|
11
|
-
|
|
12
9
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
13
|
-
|
|
14
10
|
var _helpers = require("../helpers");
|
|
15
|
-
|
|
16
11
|
var _helpers2 = require("../../helpers");
|
|
17
|
-
|
|
18
12
|
/**
|
|
19
13
|
* buildTaskPdf
|
|
20
14
|
*
|
|
@@ -58,7 +52,6 @@ function buildTaskPdf(pdfOptions, data) {
|
|
|
58
52
|
...pdfOptions
|
|
59
53
|
}));
|
|
60
54
|
}
|
|
61
|
-
|
|
62
55
|
function generateContent(data) {
|
|
63
56
|
const {
|
|
64
57
|
entity,
|
|
@@ -89,16 +82,13 @@ function generateContent(data) {
|
|
|
89
82
|
style: 'small'
|
|
90
83
|
});
|
|
91
84
|
const body = [[headerTitle], [headerSubTitle]];
|
|
92
|
-
|
|
93
85
|
if (!(0, _lodash.isEmpty)(reverseGeocoded)) {
|
|
94
86
|
body.push([headerAddress]);
|
|
95
87
|
}
|
|
96
|
-
|
|
97
88
|
const submittedAtInTimezone = entity.submittedAt ? (0, _momentTimezone.default)(entity.submittedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z') : 'Not recorded';
|
|
98
89
|
const submittedAt = (0, _helpers.text)(`Submitted: ${submittedAtInTimezone}`, {
|
|
99
90
|
style: 'small'
|
|
100
91
|
});
|
|
101
|
-
|
|
102
92
|
if (entity.showSimplifiedDuration) {
|
|
103
93
|
body.push([submittedAt]);
|
|
104
94
|
} else {
|
|
@@ -106,9 +96,7 @@ function generateContent(data) {
|
|
|
106
96
|
const startedAt = (0, _helpers.text)(`Started: ${startedAtInTimezone}`, {
|
|
107
97
|
style: 'small'
|
|
108
98
|
});
|
|
109
|
-
|
|
110
99
|
const momentDuration = _momentTimezone.default.duration(Math.abs(entity.formDuration));
|
|
111
|
-
|
|
112
100
|
const days = Math.floor(momentDuration.asDays()).toString().padStart(2, '0');
|
|
113
101
|
const hours = Math.floor(momentDuration.hours()).toString().padStart(2, '0');
|
|
114
102
|
const minutes = momentDuration.minutes().toString().padStart(2, '0');
|
|
@@ -121,7 +109,6 @@ function generateContent(data) {
|
|
|
121
109
|
body.push([submittedAt]);
|
|
122
110
|
body.push([formDuration]);
|
|
123
111
|
}
|
|
124
|
-
|
|
125
112
|
const titleTable = (0, _helpers.table)({
|
|
126
113
|
body,
|
|
127
114
|
layout: 'noBorders',
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
6
|
var _occurrenceIntervalsGenerator = require("./occurrenceIntervalsGenerator");
|
|
8
|
-
|
|
9
7
|
Object.keys(_occurrenceIntervalsGenerator).forEach(function (key) {
|
|
10
8
|
if (key === "default" || key === "__esModule") return;
|
|
11
9
|
if (key in exports && exports[key] === _occurrenceIntervalsGenerator[key]) return;
|
|
@@ -16,9 +14,7 @@ Object.keys(_occurrenceIntervalsGenerator).forEach(function (key) {
|
|
|
16
14
|
}
|
|
17
15
|
});
|
|
18
16
|
});
|
|
19
|
-
|
|
20
17
|
var _serviceIntervalsGenerator = require("./serviceIntervalsGenerator");
|
|
21
|
-
|
|
22
18
|
Object.keys(_serviceIntervalsGenerator).forEach(function (key) {
|
|
23
19
|
if (key === "default" || key === "__esModule") return;
|
|
24
20
|
if (key in exports && exports[key] === _serviceIntervalsGenerator[key]) return;
|
|
@@ -29,9 +25,7 @@ Object.keys(_serviceIntervalsGenerator).forEach(function (key) {
|
|
|
29
25
|
}
|
|
30
26
|
});
|
|
31
27
|
});
|
|
32
|
-
|
|
33
28
|
var _scheduleIntervalsGenerator = require("./scheduleIntervalsGenerator");
|
|
34
|
-
|
|
35
29
|
Object.keys(_scheduleIntervalsGenerator).forEach(function (key) {
|
|
36
30
|
if (key === "default" || key === "__esModule") return;
|
|
37
31
|
if (key in exports && exports[key] === _scheduleIntervalsGenerator[key]) return;
|
|
@@ -5,12 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.occurrenceIntervalsGenerator = occurrenceIntervalsGenerator;
|
|
7
7
|
exports.strategyTypeMap = void 0;
|
|
8
|
-
|
|
9
8
|
var _scheduling = require("../scheduling.types");
|
|
10
|
-
|
|
11
9
|
var _strategies = require("../strategies");
|
|
12
|
-
|
|
13
|
-
const strategyTypeMap = {
|
|
10
|
+
const strategyTypeMap = exports.strategyTypeMap = {
|
|
14
11
|
[_scheduling.StrategyTypes.ExactDateOfMonth]: _strategies.getNextExactDateOfMonth,
|
|
15
12
|
[_scheduling.StrategyTypes.LastDayOfMonth]: _strategies.getNextLastDayOfMonth,
|
|
16
13
|
[_scheduling.StrategyTypes.LastWeekdayOfMonth]: _strategies.getNextLastWeekdayOfMonth,
|
|
@@ -20,8 +17,6 @@ const strategyTypeMap = {
|
|
|
20
17
|
[_scheduling.StrategyTypes.Window]: _strategies.getNext,
|
|
21
18
|
[_scheduling.StrategyTypes.XDayOfXWeekOfMonth]: _strategies.getNextXDayOfXWeekOfMonth
|
|
22
19
|
};
|
|
23
|
-
exports.strategyTypeMap = strategyTypeMap;
|
|
24
|
-
|
|
25
20
|
/**
|
|
26
21
|
* Generates occurrence intervals for service intervals using strategy
|
|
27
22
|
*/
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.scheduleIntervalsGenerator = scheduleIntervalsGenerator;
|
|
7
|
-
|
|
8
7
|
var _helpers = require("../helpers");
|
|
9
|
-
|
|
10
8
|
var _scheduling = require("../scheduling.types");
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Generates schedule service and occurrence intervals
|
|
14
11
|
*/
|
|
@@ -19,10 +16,8 @@ function* scheduleIntervalsGenerator(props) {
|
|
|
19
16
|
}
|
|
20
17
|
} = props;
|
|
21
18
|
const isRepeating = type !== _scheduling.StrategyTypes.NoRepeat;
|
|
22
|
-
|
|
23
19
|
if (isRepeating) {
|
|
24
20
|
return yield* (0, _helpers.generateRepeatingSchedule)(props);
|
|
25
21
|
}
|
|
26
|
-
|
|
27
22
|
return yield* (0, _helpers.generateNonRepeatingSchedule)(props);
|
|
28
23
|
}
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.serviceIntervalsGenerator = serviceIntervalsGenerator;
|
|
9
|
-
|
|
10
8
|
var _fp = require("lodash/fp");
|
|
11
|
-
|
|
12
9
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
13
|
-
|
|
14
10
|
var _serviceHours = require("../../service-hours");
|
|
15
|
-
|
|
16
11
|
var _scheduling = require("../scheduling.types");
|
|
17
|
-
|
|
18
12
|
var _helpers = require("../helpers");
|
|
19
|
-
|
|
20
13
|
/**
|
|
21
14
|
* Generates service intervals between start and end range for service hours
|
|
22
15
|
*/
|
|
@@ -31,11 +24,8 @@ function* serviceIntervalsGenerator(props) {
|
|
|
31
24
|
} = serviceHours;
|
|
32
25
|
const hasValidStartAndEnd = end > start && start < end;
|
|
33
26
|
if (!hasValidStartAndEnd) return [];
|
|
34
|
-
|
|
35
27
|
const mStart = _momentTimezone.default.tz(start, timezone);
|
|
36
|
-
|
|
37
28
|
const mEnd = _momentTimezone.default.tz(end, timezone);
|
|
38
|
-
|
|
39
29
|
const mStartValid = mStart.isValid();
|
|
40
30
|
const mEndValid = mEnd.isValid();
|
|
41
31
|
if (!mStartValid || !mEndValid) return [];
|
|
@@ -53,21 +43,20 @@ function* serviceIntervalsGenerator(props) {
|
|
|
53
43
|
const openOverrideHours = (0, _fp.filter)({
|
|
54
44
|
behaviour: _serviceHours.Behaviours.Open,
|
|
55
45
|
type: _serviceHours.Types.Override
|
|
56
|
-
}, hours);
|
|
57
|
-
// and must be converted to timestamps in the timezone before processing
|
|
46
|
+
}, hours);
|
|
58
47
|
|
|
48
|
+
// NOTE: we must apply the timezone to overrides as they are stored in UTC
|
|
49
|
+
// and must be converted to timestamps in the timezone before processing
|
|
59
50
|
const closeIntervals = (0, _fp.reduce)((memo, override) => {
|
|
60
51
|
const mIntervalStart = _momentTimezone.default.tz(override.start, timezone);
|
|
61
|
-
|
|
62
52
|
const mIntervalEnd = _momentTimezone.default.tz(override.end, timezone);
|
|
63
|
-
|
|
64
53
|
const isInPast = mIntervalEnd.isBefore(mStart);
|
|
65
|
-
const isInFuture = mIntervalStart.isAfter(mEnd);
|
|
54
|
+
const isInFuture = mIntervalStart.isAfter(mEnd);
|
|
66
55
|
|
|
56
|
+
// NOTE: filter out any interval not relevant
|
|
67
57
|
if (isInPast || isInFuture) {
|
|
68
58
|
return memo;
|
|
69
59
|
}
|
|
70
|
-
|
|
71
60
|
const start = (0, _helpers.convertToTimezone)(override.start, timezone);
|
|
72
61
|
const end = (0, _helpers.convertToTimezone)(override.end, timezone);
|
|
73
62
|
memo.push([start, end]);
|
|
@@ -75,16 +64,14 @@ function* serviceIntervalsGenerator(props) {
|
|
|
75
64
|
}, [], closeOverrideHours);
|
|
76
65
|
const openIntervals = (0, _fp.reduce)((memo, override) => {
|
|
77
66
|
const mIntervalStart = _momentTimezone.default.tz(override.start, timezone);
|
|
78
|
-
|
|
79
67
|
const mIntervalEnd = _momentTimezone.default.tz(override.end, timezone);
|
|
80
|
-
|
|
81
68
|
const isInPast = mIntervalEnd.isBefore(mStart);
|
|
82
|
-
const isInFuture = mIntervalStart.isAfter(mEnd);
|
|
69
|
+
const isInFuture = mIntervalStart.isAfter(mEnd);
|
|
83
70
|
|
|
71
|
+
// NOTE: filter out any interval not relevant
|
|
84
72
|
if (isInPast || isInFuture) {
|
|
85
73
|
return memo;
|
|
86
74
|
}
|
|
87
|
-
|
|
88
75
|
const start = (0, _helpers.convertToTimezone)(override.start, timezone);
|
|
89
76
|
const end = (0, _helpers.convertToTimezone)(override.end, timezone);
|
|
90
77
|
memo.push([start, end]);
|
|
@@ -92,7 +79,6 @@ function* serviceIntervalsGenerator(props) {
|
|
|
92
79
|
}, [], openOverrideHours);
|
|
93
80
|
let weekStart = mStart.startOf(_scheduling.Unit.Week).valueOf();
|
|
94
81
|
const defaultIntervals = [];
|
|
95
|
-
|
|
96
82
|
while (weekStart < end) {
|
|
97
83
|
(0, _fp.forEach)(hour => {
|
|
98
84
|
// NOTE: hour start and end values are the number of minutes from the
|
|
@@ -115,10 +101,10 @@ function* serviceIntervalsGenerator(props) {
|
|
|
115
101
|
defaultIntervals.push([nextStart, nextEnd]);
|
|
116
102
|
}, defaultHours);
|
|
117
103
|
weekStart = weekStart + _serviceHours.Durations.Week;
|
|
118
|
-
}
|
|
119
|
-
// ensure the intervals conform to the range interval
|
|
120
|
-
|
|
104
|
+
}
|
|
121
105
|
|
|
106
|
+
// NOTE: only include intervals which intersect our range and then map to
|
|
107
|
+
// ensure the intervals conform to the range interval
|
|
122
108
|
const getOverrideIntervalsForRange = (0, _fp.flow)((0, _fp.filter)(interval => interval[0] >= rangeInterval[0] || interval[0] <= rangeInterval[1]), (0, _fp.map)(interval => {
|
|
123
109
|
const intervalCoversRange = (0, _helpers.intervalCovers)(interval, rangeInterval);
|
|
124
110
|
const intervalIntersectsRangeEnd = (0, _helpers.intervalOnlyIntersectsEnd)(interval, rangeInterval);
|
|
@@ -126,15 +112,15 @@ function* serviceIntervalsGenerator(props) {
|
|
|
126
112
|
const intervalStart = intervalIntersectsRangeStart ? rangeInterval[0] : interval[0];
|
|
127
113
|
const intervalEnd = intervalIntersectsRangeEnd ? rangeInterval[1] : interval[1];
|
|
128
114
|
return intervalCoversRange ? rangeInterval : [intervalStart, intervalEnd];
|
|
129
|
-
}));
|
|
115
|
+
}));
|
|
116
|
+
|
|
117
|
+
// NOTE: for simplicity we calculate all default service intervals and then
|
|
130
118
|
// apply the open and closed overrides, we can't do this as we iterate
|
|
131
119
|
// through the weeks as open and close overrides can potentially intersect
|
|
132
120
|
// across weeks
|
|
133
|
-
|
|
134
121
|
const rangeOpenIntervals = getOverrideIntervalsForRange(openIntervals);
|
|
135
122
|
const rangeCloseIntervals = getOverrideIntervalsForRange(closeIntervals);
|
|
136
123
|
const mergedIntervals = (0, _helpers.mergeIntervals)([...defaultIntervals, ...rangeOpenIntervals]);
|
|
137
124
|
const serviceIntervals = (0, _helpers.splitIntervals)(mergedIntervals, rangeCloseIntervals);
|
|
138
|
-
|
|
139
125
|
for (let interval of serviceIntervals) yield interval;
|
|
140
126
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.convertToTimezone = convertToTimezone;
|
|
9
|
-
|
|
10
8
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
11
|
-
|
|
12
9
|
const DATE_FORMAT = 'YYYY-MM-DD HH:mm';
|
|
10
|
+
|
|
13
11
|
/**
|
|
14
12
|
* Accepts a timestamp and returns the same timestamp but in the timezone
|
|
15
13
|
* provided
|
|
@@ -17,11 +15,8 @@ const DATE_FORMAT = 'YYYY-MM-DD HH:mm';
|
|
|
17
15
|
* convertToTimezone(1561248000000, 'Australia/Melbourne') // 2019-06-23T00:00:00+00:00
|
|
18
16
|
* returns 1561212000000 // 2019-06-23T00:00:00+10:00
|
|
19
17
|
*/
|
|
20
|
-
|
|
21
18
|
function convertToTimezone(timestamp, timezone) {
|
|
22
19
|
const datestring = _momentTimezone.default.utc(timestamp).format(DATE_FORMAT);
|
|
23
|
-
|
|
24
20
|
const mTimestamp = _momentTimezone.default.tz(datestring, timezone).valueOf();
|
|
25
|
-
|
|
26
21
|
return mTimestamp;
|
|
27
22
|
}
|
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.generateNonRepeatingSchedule = generateNonRepeatingSchedule;
|
|
7
|
-
|
|
8
7
|
var _fp = require("lodash/fp");
|
|
9
|
-
|
|
10
8
|
var _ = require(".");
|
|
11
|
-
|
|
12
9
|
var _scheduling = require("../scheduling.types");
|
|
13
|
-
|
|
14
10
|
var _generators = require("../generators");
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* Generates non repeating schedule service and occurrence intervals
|
|
18
13
|
*/
|
|
@@ -38,11 +33,11 @@ function* generateNonRepeatingSchedule(props) {
|
|
|
38
33
|
timezone
|
|
39
34
|
} = serviceHours;
|
|
40
35
|
const hasServiceHours = !(0, _fp.isEmpty)(hours);
|
|
41
|
-
const intervals = [...serviceIntervalSequence];
|
|
42
|
-
// from the first and last service interval otherwise from the start and end
|
|
36
|
+
const intervals = [...serviceIntervalSequence];
|
|
43
37
|
|
|
38
|
+
// NOTE: when non repeating and has service hours the service interval is
|
|
39
|
+
// from the first and last service interval otherwise from the start and end
|
|
44
40
|
const serviceIntervals = !hasServiceHours ? [[start, end]] : !(0, _fp.isEmpty)(intervals) ? [[(0, _fp.first)(intervals)[0], (0, _fp.last)(intervals)[1]]] : [];
|
|
45
|
-
|
|
46
41
|
for (const serviceInterval of serviceIntervals) {
|
|
47
42
|
yield {
|
|
48
43
|
interval: serviceInterval,
|
|
@@ -56,7 +51,6 @@ function* generateNonRepeatingSchedule(props) {
|
|
|
56
51
|
strategy,
|
|
57
52
|
timezone
|
|
58
53
|
});
|
|
59
|
-
|
|
60
54
|
for (const occurrenceInterval of occurrenceIntervalsSequence) {
|
|
61
55
|
yield {
|
|
62
56
|
interval: occurrenceInterval,
|
|
@@ -3,24 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.generateRepeatingSchedule = generateRepeatingSchedule;
|
|
7
6
|
exports.complyingServiceIntervalUnits = void 0;
|
|
8
|
-
|
|
7
|
+
exports.generateRepeatingSchedule = generateRepeatingSchedule;
|
|
9
8
|
var _fp = require("lodash/fp");
|
|
10
|
-
|
|
11
9
|
var _ = require(".");
|
|
12
|
-
|
|
13
10
|
var _scheduling = require("../scheduling.types");
|
|
14
|
-
|
|
15
11
|
var _generators = require("../generators");
|
|
12
|
+
const complyingServiceIntervalUnits = exports.complyingServiceIntervalUnits = [_scheduling.Unit.Second, _scheduling.Unit.Minute, _scheduling.Unit.Hour];
|
|
16
13
|
|
|
17
|
-
const complyingServiceIntervalUnits = [_scheduling.Unit.Second, _scheduling.Unit.Minute, _scheduling.Unit.Hour];
|
|
18
14
|
/**
|
|
19
15
|
* Generates repeating schedule service and occurrence intervals
|
|
20
16
|
*/
|
|
21
|
-
|
|
22
|
-
exports.complyingServiceIntervalUnits = complyingServiceIntervalUnits;
|
|
23
|
-
|
|
24
17
|
function* generateRepeatingSchedule(props) {
|
|
25
18
|
const {
|
|
26
19
|
serviceHours,
|
|
@@ -30,9 +23,10 @@ function* generateRepeatingSchedule(props) {
|
|
|
30
23
|
let {
|
|
31
24
|
end,
|
|
32
25
|
isInitial
|
|
33
|
-
} = props;
|
|
34
|
-
// setting a custom end date using the frequency unit and value
|
|
26
|
+
} = props;
|
|
35
27
|
|
|
28
|
+
// NOTE support never ending repeating schedule where no end date defined by
|
|
29
|
+
// setting a custom end date using the frequency unit and value
|
|
36
30
|
const {
|
|
37
31
|
options: {
|
|
38
32
|
frequency
|
|
@@ -58,12 +52,12 @@ function* generateRepeatingSchedule(props) {
|
|
|
58
52
|
end,
|
|
59
53
|
serviceHours,
|
|
60
54
|
start
|
|
61
|
-
});
|
|
62
|
-
// all service intervals otherwise service interval is from the start and end
|
|
55
|
+
});
|
|
63
56
|
|
|
57
|
+
// NOTE: when repeating and is complying to service hours we iterate through
|
|
58
|
+
// all service intervals otherwise service interval is from the start and end
|
|
64
59
|
const complyToServiceHours = (0, _fp.includes)(frequencyUnit, complyingServiceIntervalUnits);
|
|
65
60
|
const serviceIntervals = complyToServiceHours ? [...serviceIntervalSequence] : [[start, end]];
|
|
66
|
-
|
|
67
61
|
for (const serviceInterval of serviceIntervals) {
|
|
68
62
|
yield {
|
|
69
63
|
interval: serviceInterval,
|
|
@@ -75,17 +69,16 @@ function* generateRepeatingSchedule(props) {
|
|
|
75
69
|
strategy,
|
|
76
70
|
timezone
|
|
77
71
|
});
|
|
78
|
-
|
|
79
72
|
for (const occurrenceInterval of occurrenceIntervalsSequence) {
|
|
80
73
|
yield {
|
|
81
74
|
interval: occurrenceInterval,
|
|
82
75
|
type: _scheduling.IntervalTypes.Occurrence
|
|
83
76
|
};
|
|
84
|
-
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// NOTE: we must reset isInitial to true following the first service
|
|
85
80
|
// interval otherwise the occurrence will not start exactly on the next
|
|
86
81
|
// service interval start time
|
|
87
|
-
|
|
88
|
-
|
|
89
82
|
isInitial = true;
|
|
90
83
|
}
|
|
91
84
|
}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.generateScheduleEnd = generateScheduleEnd;
|
|
9
|
-
|
|
10
8
|
var _fp = require("lodash/fp");
|
|
11
|
-
|
|
12
9
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
13
|
-
|
|
14
10
|
var _scheduling = require("../scheduling.types");
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* Generates a schedule end datetime based on the start and frequency
|
|
18
13
|
*/
|
|
@@ -26,12 +21,11 @@ function generateScheduleEnd({
|
|
|
26
21
|
value: frequencyValue
|
|
27
22
|
} = frequency;
|
|
28
23
|
const isFrequencyLessThanWeek = (0, _fp.includes)(frequencyUnit, [_scheduling.Unit.Millisecond, _scheduling.Unit.Second, _scheduling.Unit.Minute, _scheduling.Unit.Hour, _scheduling.Unit.Day]);
|
|
24
|
+
const mStart = _momentTimezone.default.tz(start, timezone);
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
// NOTE: if frequency unit less than a week we must set end to jump a week
|
|
31
27
|
// plus the interval length of the schedule frequency
|
|
32
28
|
// so that we can ensure that we are within a service interval
|
|
33
|
-
|
|
34
|
-
|
|
35
29
|
const end = isFrequencyLessThanWeek ? mStart.add(2, _scheduling.Unit.Week).valueOf() : mStart.add(frequencyValue * 2, frequencyUnit).valueOf();
|
|
36
30
|
return end;
|
|
37
31
|
}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.hasValidStartAndEnd = hasValidStartAndEnd;
|
|
9
|
-
|
|
10
8
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Checks if start and end are valid datetimes
|
|
14
11
|
*
|
|
@@ -21,11 +18,8 @@ function hasValidStartAndEnd({
|
|
|
21
18
|
}) {
|
|
22
19
|
if (!start || !end) return false;
|
|
23
20
|
if (end <= start) return false;
|
|
24
|
-
|
|
25
21
|
const hasValidEnd = _momentTimezone.default.utc(end).isValid();
|
|
26
|
-
|
|
27
22
|
const hasValidStart = _momentTimezone.default.utc(start).isValid();
|
|
28
|
-
|
|
29
23
|
if (!hasValidEnd || !hasValidStart) return false;
|
|
30
24
|
return true;
|
|
31
25
|
}
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
6
|
var _convertToTimezone = require("./convertToTimezone");
|
|
8
|
-
|
|
9
7
|
Object.keys(_convertToTimezone).forEach(function (key) {
|
|
10
8
|
if (key === "default" || key === "__esModule") return;
|
|
11
9
|
if (key in exports && exports[key] === _convertToTimezone[key]) return;
|
|
@@ -16,9 +14,7 @@ Object.keys(_convertToTimezone).forEach(function (key) {
|
|
|
16
14
|
}
|
|
17
15
|
});
|
|
18
16
|
});
|
|
19
|
-
|
|
20
17
|
var _generateNonRepeatingSchedule = require("./generateNonRepeatingSchedule");
|
|
21
|
-
|
|
22
18
|
Object.keys(_generateNonRepeatingSchedule).forEach(function (key) {
|
|
23
19
|
if (key === "default" || key === "__esModule") return;
|
|
24
20
|
if (key in exports && exports[key] === _generateNonRepeatingSchedule[key]) return;
|
|
@@ -29,9 +25,7 @@ Object.keys(_generateNonRepeatingSchedule).forEach(function (key) {
|
|
|
29
25
|
}
|
|
30
26
|
});
|
|
31
27
|
});
|
|
32
|
-
|
|
33
28
|
var _generateRepeatingSchedule = require("./generateRepeatingSchedule");
|
|
34
|
-
|
|
35
29
|
Object.keys(_generateRepeatingSchedule).forEach(function (key) {
|
|
36
30
|
if (key === "default" || key === "__esModule") return;
|
|
37
31
|
if (key in exports && exports[key] === _generateRepeatingSchedule[key]) return;
|
|
@@ -42,9 +36,7 @@ Object.keys(_generateRepeatingSchedule).forEach(function (key) {
|
|
|
42
36
|
}
|
|
43
37
|
});
|
|
44
38
|
});
|
|
45
|
-
|
|
46
39
|
var _generateScheduleEnd = require("./generateScheduleEnd");
|
|
47
|
-
|
|
48
40
|
Object.keys(_generateScheduleEnd).forEach(function (key) {
|
|
49
41
|
if (key === "default" || key === "__esModule") return;
|
|
50
42
|
if (key in exports && exports[key] === _generateScheduleEnd[key]) return;
|
|
@@ -55,9 +47,7 @@ Object.keys(_generateScheduleEnd).forEach(function (key) {
|
|
|
55
47
|
}
|
|
56
48
|
});
|
|
57
49
|
});
|
|
58
|
-
|
|
59
50
|
var _hasValidStartAndEnd = require("./hasValidStartAndEnd");
|
|
60
|
-
|
|
61
51
|
Object.keys(_hasValidStartAndEnd).forEach(function (key) {
|
|
62
52
|
if (key === "default" || key === "__esModule") return;
|
|
63
53
|
if (key in exports && exports[key] === _hasValidStartAndEnd[key]) return;
|
|
@@ -68,9 +58,7 @@ Object.keys(_hasValidStartAndEnd).forEach(function (key) {
|
|
|
68
58
|
}
|
|
69
59
|
});
|
|
70
60
|
});
|
|
71
|
-
|
|
72
61
|
var _intervalCovers = require("./intervalCovers");
|
|
73
|
-
|
|
74
62
|
Object.keys(_intervalCovers).forEach(function (key) {
|
|
75
63
|
if (key === "default" || key === "__esModule") return;
|
|
76
64
|
if (key in exports && exports[key] === _intervalCovers[key]) return;
|
|
@@ -81,9 +69,7 @@ Object.keys(_intervalCovers).forEach(function (key) {
|
|
|
81
69
|
}
|
|
82
70
|
});
|
|
83
71
|
});
|
|
84
|
-
|
|
85
72
|
var _intervalIntersectsEnd = require("./intervalIntersectsEnd");
|
|
86
|
-
|
|
87
73
|
Object.keys(_intervalIntersectsEnd).forEach(function (key) {
|
|
88
74
|
if (key === "default" || key === "__esModule") return;
|
|
89
75
|
if (key in exports && exports[key] === _intervalIntersectsEnd[key]) return;
|
|
@@ -94,9 +80,7 @@ Object.keys(_intervalIntersectsEnd).forEach(function (key) {
|
|
|
94
80
|
}
|
|
95
81
|
});
|
|
96
82
|
});
|
|
97
|
-
|
|
98
83
|
var _intervalIntersectsStart = require("./intervalIntersectsStart");
|
|
99
|
-
|
|
100
84
|
Object.keys(_intervalIntersectsStart).forEach(function (key) {
|
|
101
85
|
if (key === "default" || key === "__esModule") return;
|
|
102
86
|
if (key in exports && exports[key] === _intervalIntersectsStart[key]) return;
|
|
@@ -107,9 +91,7 @@ Object.keys(_intervalIntersectsStart).forEach(function (key) {
|
|
|
107
91
|
}
|
|
108
92
|
});
|
|
109
93
|
});
|
|
110
|
-
|
|
111
94
|
var _intervalOnlyIntersectsEnd = require("./intervalOnlyIntersectsEnd");
|
|
112
|
-
|
|
113
95
|
Object.keys(_intervalOnlyIntersectsEnd).forEach(function (key) {
|
|
114
96
|
if (key === "default" || key === "__esModule") return;
|
|
115
97
|
if (key in exports && exports[key] === _intervalOnlyIntersectsEnd[key]) return;
|
|
@@ -120,9 +102,7 @@ Object.keys(_intervalOnlyIntersectsEnd).forEach(function (key) {
|
|
|
120
102
|
}
|
|
121
103
|
});
|
|
122
104
|
});
|
|
123
|
-
|
|
124
105
|
var _intervalOnlyIntersectsStart = require("./intervalOnlyIntersectsStart");
|
|
125
|
-
|
|
126
106
|
Object.keys(_intervalOnlyIntersectsStart).forEach(function (key) {
|
|
127
107
|
if (key === "default" || key === "__esModule") return;
|
|
128
108
|
if (key in exports && exports[key] === _intervalOnlyIntersectsStart[key]) return;
|
|
@@ -133,9 +113,7 @@ Object.keys(_intervalOnlyIntersectsStart).forEach(function (key) {
|
|
|
133
113
|
}
|
|
134
114
|
});
|
|
135
115
|
});
|
|
136
|
-
|
|
137
116
|
var _intervalOutside = require("./intervalOutside");
|
|
138
|
-
|
|
139
117
|
Object.keys(_intervalOutside).forEach(function (key) {
|
|
140
118
|
if (key === "default" || key === "__esModule") return;
|
|
141
119
|
if (key in exports && exports[key] === _intervalOutside[key]) return;
|
|
@@ -146,9 +124,7 @@ Object.keys(_intervalOutside).forEach(function (key) {
|
|
|
146
124
|
}
|
|
147
125
|
});
|
|
148
126
|
});
|
|
149
|
-
|
|
150
127
|
var _intervalWithin = require("./intervalWithin");
|
|
151
|
-
|
|
152
128
|
Object.keys(_intervalWithin).forEach(function (key) {
|
|
153
129
|
if (key === "default" || key === "__esModule") return;
|
|
154
130
|
if (key in exports && exports[key] === _intervalWithin[key]) return;
|
|
@@ -159,9 +135,7 @@ Object.keys(_intervalWithin).forEach(function (key) {
|
|
|
159
135
|
}
|
|
160
136
|
});
|
|
161
137
|
});
|
|
162
|
-
|
|
163
138
|
var _mergeIntervals = require("./mergeIntervals");
|
|
164
|
-
|
|
165
139
|
Object.keys(_mergeIntervals).forEach(function (key) {
|
|
166
140
|
if (key === "default" || key === "__esModule") return;
|
|
167
141
|
if (key in exports && exports[key] === _mergeIntervals[key]) return;
|
|
@@ -172,9 +146,7 @@ Object.keys(_mergeIntervals).forEach(function (key) {
|
|
|
172
146
|
}
|
|
173
147
|
});
|
|
174
148
|
});
|
|
175
|
-
|
|
176
149
|
var _splitIntervals = require("./splitIntervals");
|
|
177
|
-
|
|
178
150
|
Object.keys(_splitIntervals).forEach(function (key) {
|
|
179
151
|
if (key === "default" || key === "__esModule") return;
|
|
180
152
|
if (key in exports && exports[key] === _splitIntervals[key]) return;
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.intervalIntersectsEnd = intervalIntersectsEnd;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Check if interval intersects another interval's end
|
|
10
9
|
* Accepts two intervals and checks whether the first intersects the second's end
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.intervalIntersectsStart = intervalIntersectsStart;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Check if interval intersects another interval's start
|
|
10
9
|
* Accepts two intervals and checks whether the first intersects the second's start
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.intervalOnlyIntersectsEnd = intervalOnlyIntersectsEnd;
|
|
7
|
-
|
|
8
7
|
var _intervalIntersectsEnd = require("./intervalIntersectsEnd");
|
|
9
|
-
|
|
10
8
|
var _intervalIntersectsStart = require("./intervalIntersectsStart");
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Check if interval only intersects another interval's end
|
|
14
11
|
* Accepts two intervals and checks whether the first only intersects the second's end
|
|
@@ -16,6 +13,7 @@ var _intervalIntersectsStart = require("./intervalIntersectsStart");
|
|
|
16
13
|
* intervalIntersectsEnd([12,20], [5,15]))
|
|
17
14
|
* returns true
|
|
18
15
|
*/
|
|
16
|
+
|
|
19
17
|
function intervalOnlyIntersectsEnd(firstInterval, secondInterval) {
|
|
20
18
|
return !(0, _intervalIntersectsStart.intervalIntersectsStart)(firstInterval, secondInterval) && (0, _intervalIntersectsEnd.intervalIntersectsEnd)(firstInterval, secondInterval);
|
|
21
19
|
}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.intervalOnlyIntersectsStart = intervalOnlyIntersectsStart;
|
|
7
|
-
|
|
8
7
|
var _intervalIntersectsEnd = require("./intervalIntersectsEnd");
|
|
9
|
-
|
|
10
8
|
var _intervalIntersectsStart = require("./intervalIntersectsStart");
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Check if interval only intersects another interval's start
|
|
14
11
|
* Accepts two intervals and checks whether the first only intersects the second's start
|