@lighthouse/common 6.10.0 → 6.10.1-canary.0
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/.mise.toml +6 -6
- package/CHANGELOG.md +758 -758
- package/README.md +1 -1
- package/dist/errors/FetchImageError.js +3 -3
- package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +7 -7
- package/dist/helpers/floatify/index.js +6 -6
- package/dist/helpers/get-audit-items-data/index.js +47 -36
- package/dist/helpers/validate-url/index.js +4 -4
- package/dist/pdf/activity-report/index.js +32 -32
- package/dist/pdf/audit/index.js +23 -23
- package/dist/pdf/helpers/fields/index.js +47 -27
- package/dist/pdf/issue/index.js +23 -23
- package/dist/pdf/job/index.js +22 -22
- package/dist/pdf/shift-report/index.js +28 -28
- package/dist/pdf/task/index.js +23 -23
- package/dist/scheduling/generators/occurrenceIntervalsGenerator.js +2 -2
- package/dist/scheduling/generators/scheduleIntervalsGenerator.js +2 -2
- package/dist/scheduling/generators/serviceIntervalsGenerator.js +2 -2
- package/dist/scheduling/helpers/convertToTimezone.js +6 -6
- package/dist/scheduling/helpers/generateNonRepeatingSchedule.js +2 -2
- package/dist/scheduling/helpers/generateRepeatingSchedule.js +2 -2
- package/dist/scheduling/helpers/generateScheduleEnd.js +2 -2
- package/dist/scheduling/helpers/hasValidStartAndEnd.js +5 -5
- package/dist/scheduling/helpers/intervalCovers.js +6 -6
- package/dist/scheduling/helpers/intervalIntersectsEnd.js +6 -6
- package/dist/scheduling/helpers/intervalIntersectsStart.js +6 -6
- package/dist/scheduling/helpers/intervalOnlyIntersectsEnd.js +6 -6
- package/dist/scheduling/helpers/intervalOnlyIntersectsStart.js +6 -6
- package/dist/scheduling/helpers/intervalOutside.js +6 -6
- package/dist/scheduling/helpers/intervalWithin.js +6 -6
- package/dist/scheduling/helpers/mergeIntervals.js +6 -6
- package/dist/scheduling/helpers/splitIntervals.js +6 -6
- package/dist/scheduling/strategies/getNext.js +2 -2
- package/dist/scheduling/strategies/getNextExactDateOfMonth.js +2 -2
- package/dist/scheduling/strategies/getNextLastDayOfMonth.js +2 -2
- package/dist/scheduling/strategies/getNextLastWeekdayOfMonth.js +2 -2
- package/dist/scheduling/strategies/getNextNoRepeat.js +2 -2
- package/dist/scheduling/strategies/getNextWeekday.js +2 -2
- package/dist/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +2 -2
- package/dist/service-hours/__helpers__/calculate-hours.js +4 -4
- package/dist/service-hours/__helpers__/isOpen.js +2 -2
- package/dist/service-hours/schema.js +4 -4
- package/lib/constants.js +12 -6
- package/lib/constants.js.map +1 -1
- package/lib/errors/DomainError.js +14 -21
- package/lib/errors/DomainError.js.map +1 -1
- package/lib/errors/FetchImageError.js +17 -24
- package/lib/errors/FetchImageError.js.map +1 -1
- package/lib/errors/ValidationError.js +30 -36
- package/lib/errors/ValidationError.js.map +1 -1
- package/lib/errors/index.js +23 -5
- package/lib/errors/index.js.map +1 -1
- package/lib/helpers/build-fetch-url/index.js +43 -47
- package/lib/helpers/build-fetch-url/index.js.map +1 -1
- package/lib/helpers/fetch-image/index.js +83 -82
- package/lib/helpers/fetch-image/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +168 -243
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-web/index.js +71 -94
- package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
- package/lib/helpers/fetch-lighthouse-logo/index.js +36 -61
- package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
- package/lib/helpers/floatify/index.js +13 -7
- package/lib/helpers/floatify/index.js.map +1 -1
- package/lib/helpers/get-assignees-full-names/index.js +11 -7
- package/lib/helpers/get-assignees-full-names/index.js.map +1 -1
- package/lib/helpers/get-audit-entry-details/index.js +42 -32
- package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
- package/lib/helpers/get-audit-items-data/index.js +104 -83
- package/lib/helpers/get-audit-items-data/index.js.map +1 -1
- package/lib/helpers/get-geometry-geocoded-string/index.js +10 -5
- package/lib/helpers/get-geometry-geocoded-string/index.js.map +1 -1
- package/lib/helpers/get-issue-details/index.js +53 -43
- package/lib/helpers/get-issue-details/index.js.map +1 -1
- package/lib/helpers/get-job-details/index.js +49 -41
- package/lib/helpers/get-job-details/index.js.map +1 -1
- package/lib/helpers/get-location-reference/index.js +32 -34
- package/lib/helpers/get-location-reference/index.js.map +1 -1
- package/lib/helpers/get-pretty-duration/index.js +16 -10
- package/lib/helpers/get-pretty-duration/index.js.map +1 -1
- package/lib/helpers/get-reference-details/index.js +20 -10
- package/lib/helpers/get-reference-details/index.js.map +1 -1
- package/lib/helpers/get-status-details/index.js +8 -2
- package/lib/helpers/get-status-details/index.js.map +1 -1
- package/lib/helpers/get-task-entry-details/index.js +32 -23
- package/lib/helpers/get-task-entry-details/index.js.map +1 -1
- package/lib/helpers/get-timezone-abbr/index.js +11 -4
- package/lib/helpers/get-timezone-abbr/index.js.map +1 -1
- package/lib/helpers/get-timezone-datetime/index.js +20 -13
- package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
- package/lib/helpers/get-user-full-name/index.js +9 -3
- package/lib/helpers/get-user-full-name/index.js.map +1 -1
- package/lib/helpers/get-value-as-percentage/index.js +9 -4
- package/lib/helpers/get-value-as-percentage/index.js.map +1 -1
- package/lib/helpers/image-validators/index.js +18 -12
- package/lib/helpers/image-validators/index.js.map +1 -1
- package/lib/helpers/index.js +130 -18
- package/lib/helpers/index.js.map +1 -1
- package/lib/helpers/validate-url/index.js +11 -5
- package/lib/helpers/validate-url/index.js.map +1 -1
- package/lib/images/index.js +10 -4
- package/lib/images/index.js.map +1 -1
- package/lib/index.js +66 -10
- package/lib/index.js.map +1 -1
- package/lib/pdf/activity-report/index.js +407 -537
- package/lib/pdf/activity-report/index.js.map +1 -1
- package/lib/pdf/audit/index.js +137 -134
- package/lib/pdf/audit/index.js.map +1 -1
- package/lib/pdf/fonts/index.js +4 -2
- package/lib/pdf/fonts/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-content/index.js +57 -51
- package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-follow-ups/index.js +52 -50
- package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
- package/lib/pdf/helpers/build-location-scans-content/index.js +22 -16
- package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-template-content/index.js +52 -51
- package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
- package/lib/pdf/helpers/default-footer/index.js +38 -35
- package/lib/pdf/helpers/default-footer/index.js.map +1 -1
- package/lib/pdf/helpers/default-header/index.js +40 -35
- package/lib/pdf/helpers/default-header/index.js.map +1 -1
- package/lib/pdf/helpers/default-styles/index.js +7 -1
- package/lib/pdf/helpers/default-styles/index.js.map +1 -1
- package/lib/pdf/helpers/fields/index.js +225 -214
- package/lib/pdf/helpers/fields/index.js.map +1 -1
- package/lib/pdf/helpers/format-location-address/index.js +14 -8
- package/lib/pdf/helpers/format-location-address/index.js.map +1 -1
- package/lib/pdf/helpers/generate-definition/index.js +60 -65
- package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
- package/lib/pdf/helpers/horizontal-line/index.js +14 -14
- package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
- package/lib/pdf/helpers/html-transformer/index.js +45 -35
- package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
- package/lib/pdf/helpers/index.js +194 -15
- package/lib/pdf/helpers/index.js.map +1 -1
- package/lib/pdf/helpers/parse-value/index.js +10 -4
- package/lib/pdf/helpers/parse-value/index.js.map +1 -1
- package/lib/pdf/helpers/table/index.js +136 -205
- package/lib/pdf/helpers/table/index.js.map +1 -1
- package/lib/pdf/helpers/text/index.js +11 -8
- package/lib/pdf/helpers/text/index.js.map +1 -1
- package/lib/pdf/icons/index.js +8 -2
- package/lib/pdf/icons/index.js.map +1 -1
- package/lib/pdf/index.js +47 -6
- package/lib/pdf/index.js.map +1 -1
- package/lib/pdf/issue/index.js +141 -135
- package/lib/pdf/issue/index.js.map +1 -1
- package/lib/pdf/job/index.js +95 -81
- package/lib/pdf/job/index.js.map +1 -1
- package/lib/pdf/shift-report/emptyFixtures.js +8 -2
- package/lib/pdf/shift-report/emptyFixtures.js.map +1 -1
- package/lib/pdf/shift-report/index.js +399 -521
- package/lib/pdf/shift-report/index.js.map +1 -1
- package/lib/pdf/task/index.js +89 -83
- package/lib/pdf/task/index.js.map +1 -1
- package/lib/scheduling/generators/index.js +38 -3
- package/lib/scheduling/generators/index.js.map +1 -1
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +44 -37
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js +20 -28
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/serviceIntervalsGenerator.js +120 -150
- package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/helpers/convertToTimezone.js +18 -11
- package/lib/scheduling/helpers/convertToTimezone.js.map +1 -1
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +57 -95
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateRepeatingSchedule.js +80 -119
- package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateScheduleEnd.js +24 -14
- package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
- package/lib/scheduling/helpers/hasValidStartAndEnd.js +19 -11
- package/lib/scheduling/helpers/hasValidStartAndEnd.js.map +1 -1
- package/lib/scheduling/helpers/index.js +159 -14
- package/lib/scheduling/helpers/index.js.map +1 -1
- package/lib/scheduling/helpers/intervalCovers.js +13 -7
- package/lib/scheduling/helpers/intervalCovers.js.map +1 -1
- package/lib/scheduling/helpers/intervalIntersectsEnd.js +13 -7
- package/lib/scheduling/helpers/intervalIntersectsEnd.js.map +1 -1
- package/lib/scheduling/helpers/intervalIntersectsStart.js +13 -7
- package/lib/scheduling/helpers/intervalIntersectsStart.js.map +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js +15 -10
- package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js.map +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js +15 -10
- package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js.map +1 -1
- package/lib/scheduling/helpers/intervalOutside.js +15 -9
- package/lib/scheduling/helpers/intervalOutside.js.map +1 -1
- package/lib/scheduling/helpers/intervalWithin.js +13 -7
- package/lib/scheduling/helpers/intervalWithin.js.map +1 -1
- package/lib/scheduling/helpers/mergeIntervals.js +21 -17
- package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
- package/lib/scheduling/helpers/splitIntervals.js +24 -23
- package/lib/scheduling/helpers/splitIntervals.js.map +1 -1
- package/lib/scheduling/index.js +38 -3
- package/lib/scheduling/index.js.map +1 -1
- package/lib/scheduling/scheduling.types.js +9 -3
- package/lib/scheduling/scheduling.types.js.map +1 -1
- package/lib/scheduling/strategies/getNext.js +57 -63
- package/lib/scheduling/strategies/getNext.js.map +1 -1
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js +47 -56
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js +43 -51
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +49 -56
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextNoRepeat.js +25 -36
- package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
- package/lib/scheduling/strategies/getNextWeekday.js +47 -79
- package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +52 -58
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/index.js +82 -7
- package/lib/scheduling/strategies/index.js.map +1 -1
- package/lib/schema/index.js +16 -1
- package/lib/schema/index.js.map +1 -1
- package/lib/schema/schema.js +28 -34
- package/lib/schema/schema.js.map +1 -1
- package/lib/service-hours/__helpers__/calculate-hours.js +24 -22
- package/lib/service-hours/__helpers__/calculate-hours.js.map +1 -1
- package/lib/service-hours/__helpers__/isOpen.js +25 -24
- package/lib/service-hours/__helpers__/isOpen.js.map +1 -1
- package/lib/service-hours/index.js +27 -2
- package/lib/service-hours/index.js.map +1 -1
- package/lib/service-hours/schema.js +68 -55
- package/lib/service-hours/schema.js.map +1 -1
- package/package.json +86 -86
- package/vitest.config.ts +23 -23
- package/vitest.setup.js +7 -7
|
@@ -1,95 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
message: _t.message,
|
|
73
|
-
context: context,
|
|
74
|
-
stack: _t.stack
|
|
75
|
-
});
|
|
76
|
-
return _context.abrupt("return", fetchLighthouseLogo());
|
|
77
|
-
case 8:
|
|
78
|
-
console.error('FetchImageError', {
|
|
79
|
-
url: url,
|
|
80
|
-
message: _t.message,
|
|
81
|
-
context: context,
|
|
82
|
-
stack: _t.stack
|
|
83
|
-
});
|
|
84
|
-
return _context.abrupt("return", imageNotFound);
|
|
85
|
-
case 9:
|
|
86
|
-
case "end":
|
|
87
|
-
return _context.stop();
|
|
88
|
-
}
|
|
89
|
-
}, _callee, null, [[2, 7]]);
|
|
90
|
-
}));
|
|
91
|
-
return function fetchImageForWeb(_x, _x2) {
|
|
92
|
-
return _ref.apply(this, arguments);
|
|
93
|
-
};
|
|
94
|
-
}();
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fetchImageForWeb = void 0;
|
|
7
|
+
var _images = require("../../images");
|
|
8
|
+
var _fetchLighthouseLogo = require("../fetch-lighthouse-logo");
|
|
9
|
+
var _index = require("../validate-url/index.js");
|
|
10
|
+
const fetchImageForWeb = async function (url, options) {
|
|
11
|
+
const {
|
|
12
|
+
isHeader = false,
|
|
13
|
+
Signature,
|
|
14
|
+
Policy,
|
|
15
|
+
KeyPairId,
|
|
16
|
+
context = {}
|
|
17
|
+
} = options;
|
|
18
|
+
|
|
19
|
+
// Validate url parameter
|
|
20
|
+
if (!url || typeof url !== 'string') {
|
|
21
|
+
const error = new Error(`fetchImageForWeb: Invalid url parameter. url=${JSON.stringify(url)}`);
|
|
22
|
+
if (isHeader) {
|
|
23
|
+
console.error('FetchImageHeaderError', {
|
|
24
|
+
message: error.message,
|
|
25
|
+
url,
|
|
26
|
+
context
|
|
27
|
+
});
|
|
28
|
+
return (0, _fetchLighthouseLogo.fetchLighthouseLogo)();
|
|
29
|
+
}
|
|
30
|
+
console.error('FetchImageError', {
|
|
31
|
+
message: error.message,
|
|
32
|
+
url,
|
|
33
|
+
context
|
|
34
|
+
});
|
|
35
|
+
return _images.imageNotFound;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const firstParamConnector = url.indexOf('?') > -1 ? '&' : '?';
|
|
39
|
+
const hasSignatureParams = url.includes('Signature=') && url.includes('Policy=') && url.includes('Key-Pair-Id=');
|
|
40
|
+
const constructedUrl = !hasSignatureParams ? `${url}${firstParamConnector}Signature=${Signature}&Policy=${Policy}&Key-Pair-Id=${KeyPairId}` : url;
|
|
41
|
+
console.debug('Fetching image via CloudFront For Web');
|
|
42
|
+
const imageResponse = await fetch(constructedUrl);
|
|
43
|
+
const contentLengthHeader = imageResponse.headers.get('content-length');
|
|
44
|
+
if (contentLengthHeader === '0') {
|
|
45
|
+
return Promise.reject(new Error(`Failed to fetch image as no content length: ${url}`));
|
|
46
|
+
}
|
|
47
|
+
if (!imageResponse.ok) {
|
|
48
|
+
return Promise.reject(new Error(`Failed to fetch image: ${url}`));
|
|
49
|
+
}
|
|
50
|
+
return await imageResponse.arrayBuffer();
|
|
51
|
+
} catch (error) {
|
|
52
|
+
if (isHeader) {
|
|
53
|
+
// NOTE: Replace failed headers with LH logo
|
|
54
|
+
console.error('FetchImageHeaderError', {
|
|
55
|
+
url,
|
|
56
|
+
message: error.message,
|
|
57
|
+
context,
|
|
58
|
+
stack: error.stack
|
|
59
|
+
});
|
|
60
|
+
return (0, _fetchLighthouseLogo.fetchLighthouseLogo)();
|
|
61
|
+
}
|
|
62
|
+
console.error('FetchImageError', {
|
|
63
|
+
url,
|
|
64
|
+
message: error.message,
|
|
65
|
+
context,
|
|
66
|
+
stack: error.stack
|
|
67
|
+
});
|
|
68
|
+
return _images.imageNotFound;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
exports.fetchImageForWeb = fetchImageForWeb;
|
|
95
72
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_images","require","_fetchLighthouseLogo","_index","fetchImageForWeb","url","options","isHeader","Signature","Policy","KeyPairId","context","error","Error","JSON","stringify","console","message","fetchLighthouseLogo","imageNotFound","firstParamConnector","indexOf","hasSignatureParams","includes","constructedUrl","debug","imageResponse","fetch","contentLengthHeader","headers","get","Promise","reject","ok","arrayBuffer","stack","exports"],"sources":["../../../src/helpers/fetch-image-for-web/index.js"],"sourcesContent":["import { imageNotFound } from '../../images'\r\nimport { fetchLighthouseLogo } from '../fetch-lighthouse-logo'\r\nimport { isAbsoluteUrl } from '../validate-url/index.js'\r\n\r\nexport const fetchImageForWeb = async function (url, options) {\r\n const {\r\n isHeader = false,\r\n Signature,\r\n Policy,\r\n KeyPairId,\r\n context = {},\r\n } = options\r\n\r\n // Validate url parameter\r\n if (!url || typeof url !== 'string') {\r\n const error = new Error(\r\n `fetchImageForWeb: Invalid url parameter. url=${JSON.stringify(url)}`\r\n )\r\n if (isHeader) {\r\n console.error('FetchImageHeaderError', {\r\n message: error.message,\r\n url,\r\n context,\r\n })\r\n return fetchLighthouseLogo()\r\n }\r\n console.error('FetchImageError', {\r\n message: error.message,\r\n url,\r\n context,\r\n })\r\n return imageNotFound\r\n }\r\n\r\n try {\r\n const firstParamConnector = url.indexOf('?') > -1 ? '&' : '?'\r\n\r\n const hasSignatureParams =\r\n url.includes('Signature=') &&\r\n url.includes('Policy=') &&\r\n url.includes('Key-Pair-Id=')\r\n\r\n const constructedUrl = !hasSignatureParams\r\n ? `${url}${firstParamConnector}Signature=${Signature}&Policy=${Policy}&Key-Pair-Id=${KeyPairId}`\r\n : url\r\n\r\n console.debug('Fetching image via CloudFront For Web')\r\n\r\n const imageResponse = await fetch(constructedUrl)\r\n\r\n const contentLengthHeader = imageResponse.headers.get('content-length')\r\n\r\n if (contentLengthHeader === '0') {\r\n return Promise.reject(\r\n new Error(`Failed to fetch image as no content length: ${url}`)\r\n )\r\n }\r\n\r\n if (!imageResponse.ok) {\r\n return Promise.reject(new Error(`Failed to fetch image: ${url}`))\r\n }\r\n\r\n return await imageResponse.arrayBuffer()\r\n } catch (error) {\r\n if (isHeader) {\r\n // NOTE: Replace failed headers with LH logo\r\n console.error('FetchImageHeaderError', {\r\n url,\r\n message: error.message,\r\n context,\r\n stack: error.stack,\r\n })\r\n return fetchLighthouseLogo()\r\n }\r\n\r\n console.error('FetchImageError', {\r\n url,\r\n message: error.message,\r\n context,\r\n stack: error.stack,\r\n })\r\n return imageNotFound\r\n }\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,gBAAgB,GAAG,eAAAA,CAAgBC,GAAG,EAAEC,OAAO,EAAE;EAC5D,MAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,OAAO,GAAG,CAAC;EACb,CAAC,GAAGL,OAAO;;EAEX;EACA,IAAI,CAACD,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACnC,MAAMO,KAAK,GAAG,IAAIC,KAAK,CACrB,gDAAgDC,IAAI,CAACC,SAAS,CAACV,GAAG,CAAC,EACrE,CAAC;IACD,IAAIE,QAAQ,EAAE;MACZS,OAAO,CAACJ,KAAK,CAAC,uBAAuB,EAAE;QACrCK,OAAO,EAAEL,KAAK,CAACK,OAAO;QACtBZ,GAAG;QACHM;MACF,CAAC,CAAC;MACF,OAAO,IAAAO,wCAAmB,EAAC,CAAC;IAC9B;IACAF,OAAO,CAACJ,KAAK,CAAC,iBAAiB,EAAE;MAC/BK,OAAO,EAAEL,KAAK,CAACK,OAAO;MACtBZ,GAAG;MACHM;IACF,CAAC,CAAC;IACF,OAAOQ,qBAAa;EACtB;EAEA,IAAI;IACF,MAAMC,mBAAmB,GAAGf,GAAG,CAACgB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG;IAE7D,MAAMC,kBAAkB,GACtBjB,GAAG,CAACkB,QAAQ,CAAC,YAAY,CAAC,IAC1BlB,GAAG,CAACkB,QAAQ,CAAC,SAAS,CAAC,IACvBlB,GAAG,CAACkB,QAAQ,CAAC,cAAc,CAAC;IAE9B,MAAMC,cAAc,GAAG,CAACF,kBAAkB,GACtC,GAAGjB,GAAG,GAAGe,mBAAmB,aAAaZ,SAAS,WAAWC,MAAM,gBAAgBC,SAAS,EAAE,GAC9FL,GAAG;IAEPW,OAAO,CAACS,KAAK,CAAC,uCAAuC,CAAC;IAEtD,MAAMC,aAAa,GAAG,MAAMC,KAAK,CAACH,cAAc,CAAC;IAEjD,MAAMI,mBAAmB,GAAGF,aAAa,CAACG,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAEvE,IAAIF,mBAAmB,KAAK,GAAG,EAAE;MAC/B,OAAOG,OAAO,CAACC,MAAM,CACnB,IAAInB,KAAK,CAAC,+CAA+CR,GAAG,EAAE,CAChE,CAAC;IACH;IAEA,IAAI,CAACqB,aAAa,CAACO,EAAE,EAAE;MACrB,OAAOF,OAAO,CAACC,MAAM,CAAC,IAAInB,KAAK,CAAC,0BAA0BR,GAAG,EAAE,CAAC,CAAC;IACnE;IAEA,OAAO,MAAMqB,aAAa,CAACQ,WAAW,CAAC,CAAC;EAC1C,CAAC,CAAC,OAAOtB,KAAK,EAAE;IACd,IAAIL,QAAQ,EAAE;MACZ;MACAS,OAAO,CAACJ,KAAK,CAAC,uBAAuB,EAAE;QACrCP,GAAG;QACHY,OAAO,EAAEL,KAAK,CAACK,OAAO;QACtBN,OAAO;QACPwB,KAAK,EAAEvB,KAAK,CAACuB;MACf,CAAC,CAAC;MACF,OAAO,IAAAjB,wCAAmB,EAAC,CAAC;IAC9B;IAEAF,OAAO,CAACJ,KAAK,CAAC,iBAAiB,EAAE;MAC/BP,GAAG;MACHY,OAAO,EAAEL,KAAK,CAACK,OAAO;MACtBN,OAAO;MACPwB,KAAK,EAAEvB,KAAK,CAACuB;IACf,CAAC,CAAC;IACF,OAAOhB,qBAAa;EACtB;AACF,CAAC;AAAAiB,OAAA,CAAAhC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1,72 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
3
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
import { LIGHTHOUSE_LOGO_URL } from '../../constants';
|
|
5
|
-
import { arrayBufferToBase64 } from '../fetch-image';
|
|
6
|
-
import { validateBase64Image } from '../image-validators';
|
|
7
|
-
import fetchPonyfill from 'fetch-ponyfill';
|
|
1
|
+
"use strict";
|
|
8
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.fetchLighthouseLogo = void 0;
|
|
8
|
+
var _constants = require("../../constants");
|
|
9
|
+
var _fetchImage = require("../fetch-image");
|
|
10
|
+
var _imageValidators = require("../image-validators");
|
|
11
|
+
var _fetchPonyfill = _interopRequireDefault(require("fetch-ponyfill"));
|
|
9
12
|
// NOTE use the native fetch if it's available in the browser, because the
|
|
10
13
|
// ponyfill (which actually uses the github polyfill) does not support all the
|
|
11
14
|
// same options as native fetch
|
|
12
|
-
|
|
13
|
-
Promise
|
|
15
|
+
const fetch = typeof self === 'object' && self.fetch || (0, _fetchPonyfill.default)({
|
|
16
|
+
Promise
|
|
14
17
|
}).fetch;
|
|
15
|
-
|
|
18
|
+
const contentTypes = {
|
|
16
19
|
'image/png': 'png',
|
|
17
20
|
'image/jpeg': 'jpeg'
|
|
18
21
|
};
|
|
19
22
|
|
|
20
23
|
// NOTE: This is not stored where other images are - so it cannot go through CloudFront
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return _context.abrupt("return", Promise.reject(new Error("Failed to fetch image: ".concat(encodedLogoUrl))));
|
|
45
|
-
case 3:
|
|
46
|
-
imageType = contentTypes[contentType];
|
|
47
|
-
_context.next = 4;
|
|
48
|
-
return logoResponse.arrayBuffer();
|
|
49
|
-
case 4:
|
|
50
|
-
logoArrayBuffer = _context.sent;
|
|
51
|
-
base64Flag = "data:image/".concat(imageType, ";base64,");
|
|
52
|
-
imageStr = arrayBufferToBase64(logoArrayBuffer);
|
|
53
|
-
base64 = "".concat(base64Flag).concat(imageStr);
|
|
54
|
-
isValid = validateBase64Image(base64);
|
|
55
|
-
if (!isValid) {
|
|
56
|
-
_context.next = 5;
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
return _context.abrupt("return", base64);
|
|
60
|
-
case 5:
|
|
61
|
-
return _context.abrupt("return", Promise.reject(new Error('InvalidImageError')));
|
|
62
|
-
case 6:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context.stop();
|
|
65
|
-
}
|
|
66
|
-
}, _callee);
|
|
67
|
-
}));
|
|
68
|
-
return function fetchLighthouseLogo() {
|
|
69
|
-
return _ref.apply(this, arguments);
|
|
70
|
-
};
|
|
71
|
-
}();
|
|
24
|
+
const fetchLighthouseLogo = async function () {
|
|
25
|
+
const encodedLogoUrl = encodeURI(_constants.LIGHTHOUSE_LOGO_URL);
|
|
26
|
+
const logoResponse = await fetch(encodedLogoUrl);
|
|
27
|
+
const contentLengthHeader = logoResponse.headers.get('content-length');
|
|
28
|
+
const contentType = logoResponse.headers.get('content-type');
|
|
29
|
+
if (contentLengthHeader === '0') {
|
|
30
|
+
return Promise.reject(new Error(`Failed to fetch image as no content length: ${encodedLogoUrl}`));
|
|
31
|
+
}
|
|
32
|
+
if (!logoResponse.ok) {
|
|
33
|
+
return Promise.reject(new Error(`Failed to fetch image: ${encodedLogoUrl}`));
|
|
34
|
+
}
|
|
35
|
+
const imageType = contentTypes[contentType];
|
|
36
|
+
const logoArrayBuffer = await logoResponse.arrayBuffer();
|
|
37
|
+
const base64Flag = `data:image/${imageType};base64,`;
|
|
38
|
+
const imageStr = (0, _fetchImage.arrayBufferToBase64)(logoArrayBuffer);
|
|
39
|
+
const base64 = `${base64Flag}${imageStr}`;
|
|
40
|
+
const isValid = (0, _imageValidators.validateBase64Image)(base64);
|
|
41
|
+
if (isValid) {
|
|
42
|
+
return base64;
|
|
43
|
+
}
|
|
44
|
+
return Promise.reject(new Error('InvalidImageError'));
|
|
45
|
+
};
|
|
46
|
+
exports.fetchLighthouseLogo = fetchLighthouseLogo;
|
|
72
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_constants","require","_fetchImage","_imageValidators","_fetchPonyfill","_interopRequireDefault","fetch","self","fetchPonyfill","Promise","contentTypes","fetchLighthouseLogo","encodedLogoUrl","encodeURI","LIGHTHOUSE_LOGO_URL","logoResponse","contentLengthHeader","headers","get","contentType","reject","Error","ok","imageType","logoArrayBuffer","arrayBuffer","base64Flag","imageStr","arrayBufferToBase64","base64","isValid","validateBase64Image","exports"],"sources":["../../../src/helpers/fetch-lighthouse-logo/index.js"],"sourcesContent":["import { LIGHTHOUSE_LOGO_URL } from '../../constants'\r\nimport { arrayBufferToBase64 } from '../fetch-image'\r\nimport { validateBase64Image } from '../image-validators'\r\nimport fetchPonyfill from 'fetch-ponyfill'\r\n\r\n// NOTE use the native fetch if it's available in the browser, because the\r\n// ponyfill (which actually uses the github polyfill) does not support all the\r\n// same options as native fetch\r\nconst fetch =\r\n (typeof self === 'object' && self.fetch) || fetchPonyfill({ Promise }).fetch\r\n\r\nconst contentTypes = {\r\n 'image/png': 'png',\r\n 'image/jpeg': 'jpeg',\r\n}\r\n\r\n// NOTE: This is not stored where other images are - so it cannot go through CloudFront\r\nexport const fetchLighthouseLogo = async function() {\r\n const encodedLogoUrl = encodeURI(LIGHTHOUSE_LOGO_URL)\r\n const logoResponse = await fetch(encodedLogoUrl)\r\n\r\n const contentLengthHeader = logoResponse.headers.get('content-length')\r\n const contentType = logoResponse.headers.get('content-type')\r\n\r\n if (contentLengthHeader === '0') {\r\n return Promise.reject(\r\n new Error(`Failed to fetch image as no content length: ${encodedLogoUrl}`)\r\n )\r\n }\r\n\r\n if (!logoResponse.ok) {\r\n return Promise.reject(new Error(`Failed to fetch image: ${encodedLogoUrl}`))\r\n }\r\n\r\n const imageType = contentTypes[contentType]\r\n\r\n const logoArrayBuffer = await logoResponse.arrayBuffer()\r\n\r\n const base64Flag = `data:image/${imageType};base64,`\r\n const imageStr = arrayBufferToBase64(logoArrayBuffer)\r\n\r\n const base64 = `${base64Flag}${imageStr}`\r\n const isValid = validateBase64Image(base64)\r\n\r\n if (isValid) {\r\n return base64\r\n }\r\n\r\n return Promise.reject(new Error('InvalidImageError'))\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA;AACA;AACA;AACA,MAAMK,KAAK,GACR,OAAOC,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACD,KAAK,IAAK,IAAAE,sBAAa,EAAC;EAAEC;AAAQ,CAAC,CAAC,CAACH,KAAK;AAE9E,MAAMI,YAAY,GAAG;EACnB,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE;AAChB,CAAC;;AAED;AACO,MAAMC,mBAAmB,GAAG,eAAAA,CAAA,EAAiB;EAClD,MAAMC,cAAc,GAAGC,SAAS,CAACC,8BAAmB,CAAC;EACrD,MAAMC,YAAY,GAAG,MAAMT,KAAK,CAACM,cAAc,CAAC;EAEhD,MAAMI,mBAAmB,GAAGD,YAAY,CAACE,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;EACtE,MAAMC,WAAW,GAAGJ,YAAY,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;EAE5D,IAAIF,mBAAmB,KAAK,GAAG,EAAE;IAC/B,OAAOP,OAAO,CAACW,MAAM,CACnB,IAAIC,KAAK,CAAC,+CAA+CT,cAAc,EAAE,CAC3E,CAAC;EACH;EAEA,IAAI,CAACG,YAAY,CAACO,EAAE,EAAE;IACpB,OAAOb,OAAO,CAACW,MAAM,CAAC,IAAIC,KAAK,CAAC,0BAA0BT,cAAc,EAAE,CAAC,CAAC;EAC9E;EAEA,MAAMW,SAAS,GAAGb,YAAY,CAACS,WAAW,CAAC;EAE3C,MAAMK,eAAe,GAAG,MAAMT,YAAY,CAACU,WAAW,CAAC,CAAC;EAExD,MAAMC,UAAU,GAAG,cAAcH,SAAS,UAAU;EACpD,MAAMI,QAAQ,GAAG,IAAAC,+BAAmB,EAACJ,eAAe,CAAC;EAErD,MAAMK,MAAM,GAAG,GAAGH,UAAU,GAAGC,QAAQ,EAAE;EACzC,MAAMG,OAAO,GAAG,IAAAC,oCAAmB,EAACF,MAAM,CAAC;EAE3C,IAAIC,OAAO,EAAE;IACX,OAAOD,MAAM;EACf;EAEA,OAAOpB,OAAO,CAACW,MAAM,CAAC,IAAIC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAAAW,OAAA,CAAArB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = floatify;
|
|
7
|
+
/**
|
|
8
|
+
* floatify
|
|
9
|
+
* Accepts a number and returns a float rounded to the expected precision,
|
|
10
|
+
* avoiding floating point errors
|
|
11
|
+
* https://stackoverflow.com/questions/588004/is-floating-point-math-broken/51723472#51723472
|
|
12
|
+
* @param {Number} number
|
|
7
13
|
*/
|
|
8
|
-
|
|
14
|
+
function floatify(number) {
|
|
9
15
|
return parseFloat(number.toFixed(10));
|
|
10
16
|
}
|
|
11
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["floatify","number","parseFloat","toFixed"],"sources":["../../../src/helpers/floatify/index.js"],"sourcesContent":["/**\n * floatify\n * Accepts a number and returns a float rounded to the expected precision,\n * avoiding floating point errors\n * https://stackoverflow.com/questions/588004/is-floating-point-math-broken/51723472#51723472\n * @param {Number} number\n */\nexport default function floatify(number) {\n return parseFloat(number.toFixed(10))\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["floatify","number","parseFloat","toFixed"],"sources":["../../../src/helpers/floatify/index.js"],"sourcesContent":["/**\r\n * floatify\r\n * Accepts a number and returns a float rounded to the expected precision,\r\n * avoiding floating point errors\r\n * https://stackoverflow.com/questions/588004/is-floating-point-math-broken/51723472#51723472\r\n * @param {Number} number\r\n */\r\nexport default function floatify(number) {\r\n return parseFloat(number.toFixed(10))\r\n}\r\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,QAAQA,CAACC,MAAM,EAAE;EACvC,OAAOC,UAAU,CAACD,MAAM,CAACE,OAAO,CAAC,EAAE,CAAC,CAAC;AACvC","ignoreList":[]}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAssigneesFullNames = getAssigneesFullNames;
|
|
7
|
+
var _lodash = require("lodash");
|
|
8
|
+
var _ = require("../");
|
|
9
|
+
function getAssigneesFullNames(users, assignees) {
|
|
10
|
+
if ((0, _lodash.isEmpty)(assignees)) {
|
|
5
11
|
return 'No users assigned';
|
|
6
12
|
}
|
|
7
|
-
|
|
8
|
-
return getUserFullName(users, userId);
|
|
9
|
-
}).compact().join(', ').value();
|
|
13
|
+
const fullNames = (0, _lodash.chain)(assignees).map(userId => (0, _.getUserFullName)(users, userId)).compact().join(', ').value();
|
|
10
14
|
return fullNames;
|
|
11
15
|
}
|
|
12
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_lodash","require","_","getAssigneesFullNames","users","assignees","isEmpty","fullNames","chain","map","userId","getUserFullName","compact","join","value"],"sources":["../../../src/helpers/get-assignees-full-names/index.js"],"sourcesContent":["import { chain, isEmpty } from 'lodash'\r\n\r\nimport { getUserFullName } from '../'\r\n\r\nexport function getAssigneesFullNames(users, assignees) {\r\n if (isEmpty(assignees)) {\r\n return 'No users assigned'\r\n }\r\n\r\n const fullNames = chain(assignees)\r\n .map(userId => getUserFullName(users, userId))\r\n .compact()\r\n .join(', ')\r\n .value()\r\n\r\n return fullNames\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,CAAA,GAAAD,OAAA;AAEO,SAASE,qBAAqBA,CAACC,KAAK,EAAEC,SAAS,EAAE;EACtD,IAAI,IAAAC,eAAO,EAACD,SAAS,CAAC,EAAE;IACtB,OAAO,mBAAmB;EAC5B;EAEA,MAAME,SAAS,GAAG,IAAAC,aAAK,EAACH,SAAS,CAAC,CAC/BI,GAAG,CAACC,MAAM,IAAI,IAAAC,iBAAe,EAACP,KAAK,EAAEM,MAAM,CAAC,CAAC,CAC7CE,OAAO,CAAC,CAAC,CACTC,IAAI,CAAC,IAAI,CAAC,CACVC,KAAK,CAAC,CAAC;EAEV,OAAOP,SAAS;AAClB","ignoreList":[]}
|
|
@@ -1,43 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAuditEntryDetails = getAuditEntryDetails;
|
|
7
|
+
var _lodash = require("lodash");
|
|
8
|
+
var _ = require("../");
|
|
9
|
+
function getAuditEntryDetails(data) {
|
|
10
|
+
const {
|
|
11
|
+
entity,
|
|
12
|
+
timezone
|
|
13
|
+
} = data;
|
|
14
|
+
const {
|
|
15
|
+
createdAt,
|
|
16
|
+
gps,
|
|
17
|
+
items,
|
|
18
|
+
templateRevision,
|
|
19
|
+
sequenceId,
|
|
20
|
+
score,
|
|
21
|
+
target,
|
|
22
|
+
targetServiceLevel
|
|
23
|
+
} = entity;
|
|
24
|
+
const locationText = (0, _.getLocationReference)(data);
|
|
25
|
+
const gpsText = (0, _lodash.get)(gps, 'reverseGeocoded.label', 'Unknown Location');
|
|
26
|
+
const groupedData = (0, _.getAuditItemsData)(items, data);
|
|
27
|
+
const referenceDetails = (0, _.getReferenceDetails)(data);
|
|
28
|
+
const scoreText = score && score.percentageResult !== undefined ? `${score.percentageResult}%` : '';
|
|
29
|
+
const timezoneHourTime = (0, _.getTimezoneDatetime)({
|
|
20
30
|
format: 'h:mm a',
|
|
21
31
|
timestamp: createdAt,
|
|
22
|
-
timezone
|
|
32
|
+
timezone
|
|
23
33
|
});
|
|
24
|
-
|
|
34
|
+
const timezoneDatetime = (0, _.getTimezoneDatetime)({
|
|
25
35
|
timestamp: createdAt,
|
|
26
|
-
timezone
|
|
36
|
+
timezone
|
|
27
37
|
});
|
|
28
38
|
return {
|
|
29
|
-
gpsText
|
|
30
|
-
groupedData
|
|
31
|
-
locationText
|
|
39
|
+
gpsText,
|
|
40
|
+
groupedData,
|
|
41
|
+
locationText,
|
|
32
42
|
referenceLabel: referenceDetails.label,
|
|
33
43
|
referenceValue: referenceDetails.value,
|
|
34
|
-
templateRevision
|
|
35
|
-
scoreText
|
|
36
|
-
sequenceId
|
|
37
|
-
target
|
|
38
|
-
targetServiceLevel
|
|
39
|
-
timezoneDatetime
|
|
40
|
-
timezoneHourTime
|
|
44
|
+
templateRevision,
|
|
45
|
+
scoreText,
|
|
46
|
+
sequenceId,
|
|
47
|
+
target,
|
|
48
|
+
targetServiceLevel,
|
|
49
|
+
timezoneDatetime,
|
|
50
|
+
timezoneHourTime
|
|
41
51
|
};
|
|
42
52
|
}
|
|
43
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_lodash","require","_","getAuditEntryDetails","data","entity","timezone","createdAt","gps","items","templateRevision","sequenceId","score","target","targetServiceLevel","locationText","getLocationReference","gpsText","get","groupedData","getAuditItemsData","referenceDetails","getReferenceDetails","scoreText","percentageResult","undefined","timezoneHourTime","getTimezoneDatetime","format","timestamp","timezoneDatetime","referenceLabel","label","referenceValue","value"],"sources":["../../../src/helpers/get-audit-entry-details/index.js"],"sourcesContent":["import { get } from 'lodash'\r\n\r\nimport {\r\n getAuditItemsData,\r\n getLocationReference,\r\n getReferenceDetails,\r\n getTimezoneDatetime,\r\n} from '../'\r\n\r\nexport function getAuditEntryDetails(data) {\r\n const { entity, timezone } = data\r\n\r\n const {\r\n createdAt,\r\n gps,\r\n items,\r\n templateRevision,\r\n sequenceId,\r\n score,\r\n target,\r\n targetServiceLevel,\r\n } = entity\r\n\r\n const locationText = getLocationReference(data)\r\n const gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location')\r\n const groupedData = getAuditItemsData(items, data)\r\n const referenceDetails = getReferenceDetails(data)\r\n const scoreText =\r\n score && score.percentageResult !== undefined\r\n ? `${score.percentageResult}%`\r\n : ''\r\n const timezoneHourTime = getTimezoneDatetime({\r\n format: 'h:mm a',\r\n timestamp: createdAt,\r\n timezone,\r\n })\r\n const timezoneDatetime = getTimezoneDatetime({\r\n timestamp: createdAt,\r\n timezone,\r\n })\r\n\r\n return {\r\n gpsText,\r\n groupedData,\r\n locationText,\r\n referenceLabel: referenceDetails.label,\r\n referenceValue: referenceDetails.value,\r\n templateRevision,\r\n scoreText,\r\n sequenceId,\r\n target,\r\n targetServiceLevel,\r\n timezoneDatetime,\r\n timezoneHourTime,\r\n }\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,CAAA,GAAAD,OAAA;AAOO,SAASE,oBAAoBA,CAACC,IAAI,EAAE;EACzC,MAAM;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGF,IAAI;EAEjC,MAAM;IACJG,SAAS;IACTC,GAAG;IACHC,KAAK;IACLC,gBAAgB;IAChBC,UAAU;IACVC,KAAK;IACLC,MAAM;IACNC;EACF,CAAC,GAAGT,MAAM;EAEV,MAAMU,YAAY,GAAG,IAAAC,sBAAoB,EAACZ,IAAI,CAAC;EAC/C,MAAMa,OAAO,GAAG,IAAAC,WAAG,EAACV,GAAG,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;EACrE,MAAMW,WAAW,GAAG,IAAAC,mBAAiB,EAACX,KAAK,EAAEL,IAAI,CAAC;EAClD,MAAMiB,gBAAgB,GAAG,IAAAC,qBAAmB,EAAClB,IAAI,CAAC;EAClD,MAAMmB,SAAS,GACbX,KAAK,IAAIA,KAAK,CAACY,gBAAgB,KAAKC,SAAS,GACzC,GAAGb,KAAK,CAACY,gBAAgB,GAAG,GAC5B,EAAE;EACR,MAAME,gBAAgB,GAAG,IAAAC,qBAAmB,EAAC;IAC3CC,MAAM,EAAE,QAAQ;IAChBC,SAAS,EAAEtB,SAAS;IACpBD;EACF,CAAC,CAAC;EACF,MAAMwB,gBAAgB,GAAG,IAAAH,qBAAmB,EAAC;IAC3CE,SAAS,EAAEtB,SAAS;IACpBD;EACF,CAAC,CAAC;EAEF,OAAO;IACLW,OAAO;IACPE,WAAW;IACXJ,YAAY;IACZgB,cAAc,EAAEV,gBAAgB,CAACW,KAAK;IACtCC,cAAc,EAAEZ,gBAAgB,CAACa,KAAK;IACtCxB,gBAAgB;IAChBa,SAAS;IACTZ,UAAU;IACVE,MAAM;IACNC,kBAAkB;IAClBgB,gBAAgB;IAChBJ;EACF,CAAC;AACH","ignoreList":[]}
|