@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.
Files changed (229) hide show
  1. package/.mise.toml +6 -6
  2. package/CHANGELOG.md +758 -758
  3. package/README.md +1 -1
  4. package/dist/errors/FetchImageError.js +3 -3
  5. package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +7 -7
  6. package/dist/helpers/floatify/index.js +6 -6
  7. package/dist/helpers/get-audit-items-data/index.js +47 -36
  8. package/dist/helpers/validate-url/index.js +4 -4
  9. package/dist/pdf/activity-report/index.js +32 -32
  10. package/dist/pdf/audit/index.js +23 -23
  11. package/dist/pdf/helpers/fields/index.js +47 -27
  12. package/dist/pdf/issue/index.js +23 -23
  13. package/dist/pdf/job/index.js +22 -22
  14. package/dist/pdf/shift-report/index.js +28 -28
  15. package/dist/pdf/task/index.js +23 -23
  16. package/dist/scheduling/generators/occurrenceIntervalsGenerator.js +2 -2
  17. package/dist/scheduling/generators/scheduleIntervalsGenerator.js +2 -2
  18. package/dist/scheduling/generators/serviceIntervalsGenerator.js +2 -2
  19. package/dist/scheduling/helpers/convertToTimezone.js +6 -6
  20. package/dist/scheduling/helpers/generateNonRepeatingSchedule.js +2 -2
  21. package/dist/scheduling/helpers/generateRepeatingSchedule.js +2 -2
  22. package/dist/scheduling/helpers/generateScheduleEnd.js +2 -2
  23. package/dist/scheduling/helpers/hasValidStartAndEnd.js +5 -5
  24. package/dist/scheduling/helpers/intervalCovers.js +6 -6
  25. package/dist/scheduling/helpers/intervalIntersectsEnd.js +6 -6
  26. package/dist/scheduling/helpers/intervalIntersectsStart.js +6 -6
  27. package/dist/scheduling/helpers/intervalOnlyIntersectsEnd.js +6 -6
  28. package/dist/scheduling/helpers/intervalOnlyIntersectsStart.js +6 -6
  29. package/dist/scheduling/helpers/intervalOutside.js +6 -6
  30. package/dist/scheduling/helpers/intervalWithin.js +6 -6
  31. package/dist/scheduling/helpers/mergeIntervals.js +6 -6
  32. package/dist/scheduling/helpers/splitIntervals.js +6 -6
  33. package/dist/scheduling/strategies/getNext.js +2 -2
  34. package/dist/scheduling/strategies/getNextExactDateOfMonth.js +2 -2
  35. package/dist/scheduling/strategies/getNextLastDayOfMonth.js +2 -2
  36. package/dist/scheduling/strategies/getNextLastWeekdayOfMonth.js +2 -2
  37. package/dist/scheduling/strategies/getNextNoRepeat.js +2 -2
  38. package/dist/scheduling/strategies/getNextWeekday.js +2 -2
  39. package/dist/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +2 -2
  40. package/dist/service-hours/__helpers__/calculate-hours.js +4 -4
  41. package/dist/service-hours/__helpers__/isOpen.js +2 -2
  42. package/dist/service-hours/schema.js +4 -4
  43. package/lib/constants.js +12 -6
  44. package/lib/constants.js.map +1 -1
  45. package/lib/errors/DomainError.js +14 -21
  46. package/lib/errors/DomainError.js.map +1 -1
  47. package/lib/errors/FetchImageError.js +17 -24
  48. package/lib/errors/FetchImageError.js.map +1 -1
  49. package/lib/errors/ValidationError.js +30 -36
  50. package/lib/errors/ValidationError.js.map +1 -1
  51. package/lib/errors/index.js +23 -5
  52. package/lib/errors/index.js.map +1 -1
  53. package/lib/helpers/build-fetch-url/index.js +43 -47
  54. package/lib/helpers/build-fetch-url/index.js.map +1 -1
  55. package/lib/helpers/fetch-image/index.js +83 -82
  56. package/lib/helpers/fetch-image/index.js.map +1 -1
  57. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +168 -243
  58. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
  59. package/lib/helpers/fetch-image-for-web/index.js +71 -94
  60. package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
  61. package/lib/helpers/fetch-lighthouse-logo/index.js +36 -61
  62. package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
  63. package/lib/helpers/floatify/index.js +13 -7
  64. package/lib/helpers/floatify/index.js.map +1 -1
  65. package/lib/helpers/get-assignees-full-names/index.js +11 -7
  66. package/lib/helpers/get-assignees-full-names/index.js.map +1 -1
  67. package/lib/helpers/get-audit-entry-details/index.js +42 -32
  68. package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
  69. package/lib/helpers/get-audit-items-data/index.js +104 -83
  70. package/lib/helpers/get-audit-items-data/index.js.map +1 -1
  71. package/lib/helpers/get-geometry-geocoded-string/index.js +10 -5
  72. package/lib/helpers/get-geometry-geocoded-string/index.js.map +1 -1
  73. package/lib/helpers/get-issue-details/index.js +53 -43
  74. package/lib/helpers/get-issue-details/index.js.map +1 -1
  75. package/lib/helpers/get-job-details/index.js +49 -41
  76. package/lib/helpers/get-job-details/index.js.map +1 -1
  77. package/lib/helpers/get-location-reference/index.js +32 -34
  78. package/lib/helpers/get-location-reference/index.js.map +1 -1
  79. package/lib/helpers/get-pretty-duration/index.js +16 -10
  80. package/lib/helpers/get-pretty-duration/index.js.map +1 -1
  81. package/lib/helpers/get-reference-details/index.js +20 -10
  82. package/lib/helpers/get-reference-details/index.js.map +1 -1
  83. package/lib/helpers/get-status-details/index.js +8 -2
  84. package/lib/helpers/get-status-details/index.js.map +1 -1
  85. package/lib/helpers/get-task-entry-details/index.js +32 -23
  86. package/lib/helpers/get-task-entry-details/index.js.map +1 -1
  87. package/lib/helpers/get-timezone-abbr/index.js +11 -4
  88. package/lib/helpers/get-timezone-abbr/index.js.map +1 -1
  89. package/lib/helpers/get-timezone-datetime/index.js +20 -13
  90. package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
  91. package/lib/helpers/get-user-full-name/index.js +9 -3
  92. package/lib/helpers/get-user-full-name/index.js.map +1 -1
  93. package/lib/helpers/get-value-as-percentage/index.js +9 -4
  94. package/lib/helpers/get-value-as-percentage/index.js.map +1 -1
  95. package/lib/helpers/image-validators/index.js +18 -12
  96. package/lib/helpers/image-validators/index.js.map +1 -1
  97. package/lib/helpers/index.js +130 -18
  98. package/lib/helpers/index.js.map +1 -1
  99. package/lib/helpers/validate-url/index.js +11 -5
  100. package/lib/helpers/validate-url/index.js.map +1 -1
  101. package/lib/images/index.js +10 -4
  102. package/lib/images/index.js.map +1 -1
  103. package/lib/index.js +66 -10
  104. package/lib/index.js.map +1 -1
  105. package/lib/pdf/activity-report/index.js +407 -537
  106. package/lib/pdf/activity-report/index.js.map +1 -1
  107. package/lib/pdf/audit/index.js +137 -134
  108. package/lib/pdf/audit/index.js.map +1 -1
  109. package/lib/pdf/fonts/index.js +4 -2
  110. package/lib/pdf/fonts/index.js.map +1 -1
  111. package/lib/pdf/helpers/build-audit-content/index.js +57 -51
  112. package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
  113. package/lib/pdf/helpers/build-audit-follow-ups/index.js +52 -50
  114. package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
  115. package/lib/pdf/helpers/build-location-scans-content/index.js +22 -16
  116. package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
  117. package/lib/pdf/helpers/build-template-content/index.js +52 -51
  118. package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
  119. package/lib/pdf/helpers/default-footer/index.js +38 -35
  120. package/lib/pdf/helpers/default-footer/index.js.map +1 -1
  121. package/lib/pdf/helpers/default-header/index.js +40 -35
  122. package/lib/pdf/helpers/default-header/index.js.map +1 -1
  123. package/lib/pdf/helpers/default-styles/index.js +7 -1
  124. package/lib/pdf/helpers/default-styles/index.js.map +1 -1
  125. package/lib/pdf/helpers/fields/index.js +225 -214
  126. package/lib/pdf/helpers/fields/index.js.map +1 -1
  127. package/lib/pdf/helpers/format-location-address/index.js +14 -8
  128. package/lib/pdf/helpers/format-location-address/index.js.map +1 -1
  129. package/lib/pdf/helpers/generate-definition/index.js +60 -65
  130. package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
  131. package/lib/pdf/helpers/horizontal-line/index.js +14 -14
  132. package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
  133. package/lib/pdf/helpers/html-transformer/index.js +45 -35
  134. package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
  135. package/lib/pdf/helpers/index.js +194 -15
  136. package/lib/pdf/helpers/index.js.map +1 -1
  137. package/lib/pdf/helpers/parse-value/index.js +10 -4
  138. package/lib/pdf/helpers/parse-value/index.js.map +1 -1
  139. package/lib/pdf/helpers/table/index.js +136 -205
  140. package/lib/pdf/helpers/table/index.js.map +1 -1
  141. package/lib/pdf/helpers/text/index.js +11 -8
  142. package/lib/pdf/helpers/text/index.js.map +1 -1
  143. package/lib/pdf/icons/index.js +8 -2
  144. package/lib/pdf/icons/index.js.map +1 -1
  145. package/lib/pdf/index.js +47 -6
  146. package/lib/pdf/index.js.map +1 -1
  147. package/lib/pdf/issue/index.js +141 -135
  148. package/lib/pdf/issue/index.js.map +1 -1
  149. package/lib/pdf/job/index.js +95 -81
  150. package/lib/pdf/job/index.js.map +1 -1
  151. package/lib/pdf/shift-report/emptyFixtures.js +8 -2
  152. package/lib/pdf/shift-report/emptyFixtures.js.map +1 -1
  153. package/lib/pdf/shift-report/index.js +399 -521
  154. package/lib/pdf/shift-report/index.js.map +1 -1
  155. package/lib/pdf/task/index.js +89 -83
  156. package/lib/pdf/task/index.js.map +1 -1
  157. package/lib/scheduling/generators/index.js +38 -3
  158. package/lib/scheduling/generators/index.js.map +1 -1
  159. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +44 -37
  160. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
  161. package/lib/scheduling/generators/scheduleIntervalsGenerator.js +20 -28
  162. package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
  163. package/lib/scheduling/generators/serviceIntervalsGenerator.js +120 -150
  164. package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
  165. package/lib/scheduling/helpers/convertToTimezone.js +18 -11
  166. package/lib/scheduling/helpers/convertToTimezone.js.map +1 -1
  167. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +57 -95
  168. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
  169. package/lib/scheduling/helpers/generateRepeatingSchedule.js +80 -119
  170. package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
  171. package/lib/scheduling/helpers/generateScheduleEnd.js +24 -14
  172. package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
  173. package/lib/scheduling/helpers/hasValidStartAndEnd.js +19 -11
  174. package/lib/scheduling/helpers/hasValidStartAndEnd.js.map +1 -1
  175. package/lib/scheduling/helpers/index.js +159 -14
  176. package/lib/scheduling/helpers/index.js.map +1 -1
  177. package/lib/scheduling/helpers/intervalCovers.js +13 -7
  178. package/lib/scheduling/helpers/intervalCovers.js.map +1 -1
  179. package/lib/scheduling/helpers/intervalIntersectsEnd.js +13 -7
  180. package/lib/scheduling/helpers/intervalIntersectsEnd.js.map +1 -1
  181. package/lib/scheduling/helpers/intervalIntersectsStart.js +13 -7
  182. package/lib/scheduling/helpers/intervalIntersectsStart.js.map +1 -1
  183. package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js +15 -10
  184. package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js.map +1 -1
  185. package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js +15 -10
  186. package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js.map +1 -1
  187. package/lib/scheduling/helpers/intervalOutside.js +15 -9
  188. package/lib/scheduling/helpers/intervalOutside.js.map +1 -1
  189. package/lib/scheduling/helpers/intervalWithin.js +13 -7
  190. package/lib/scheduling/helpers/intervalWithin.js.map +1 -1
  191. package/lib/scheduling/helpers/mergeIntervals.js +21 -17
  192. package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
  193. package/lib/scheduling/helpers/splitIntervals.js +24 -23
  194. package/lib/scheduling/helpers/splitIntervals.js.map +1 -1
  195. package/lib/scheduling/index.js +38 -3
  196. package/lib/scheduling/index.js.map +1 -1
  197. package/lib/scheduling/scheduling.types.js +9 -3
  198. package/lib/scheduling/scheduling.types.js.map +1 -1
  199. package/lib/scheduling/strategies/getNext.js +57 -63
  200. package/lib/scheduling/strategies/getNext.js.map +1 -1
  201. package/lib/scheduling/strategies/getNextExactDateOfMonth.js +47 -56
  202. package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
  203. package/lib/scheduling/strategies/getNextLastDayOfMonth.js +43 -51
  204. package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
  205. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +49 -56
  206. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
  207. package/lib/scheduling/strategies/getNextNoRepeat.js +25 -36
  208. package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
  209. package/lib/scheduling/strategies/getNextWeekday.js +47 -79
  210. package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
  211. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +52 -58
  212. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
  213. package/lib/scheduling/strategies/index.js +82 -7
  214. package/lib/scheduling/strategies/index.js.map +1 -1
  215. package/lib/schema/index.js +16 -1
  216. package/lib/schema/index.js.map +1 -1
  217. package/lib/schema/schema.js +28 -34
  218. package/lib/schema/schema.js.map +1 -1
  219. package/lib/service-hours/__helpers__/calculate-hours.js +24 -22
  220. package/lib/service-hours/__helpers__/calculate-hours.js.map +1 -1
  221. package/lib/service-hours/__helpers__/isOpen.js +25 -24
  222. package/lib/service-hours/__helpers__/isOpen.js.map +1 -1
  223. package/lib/service-hours/index.js +27 -2
  224. package/lib/service-hours/index.js.map +1 -1
  225. package/lib/service-hours/schema.js +68 -55
  226. package/lib/service-hours/schema.js.map +1 -1
  227. package/package.json +86 -86
  228. package/vitest.config.ts +23 -23
  229. package/vitest.setup.js +7 -7
@@ -1,107 +1,128 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { find, groupBy, map, get, round } from 'lodash';
3
- import { buildFetchUrl } from '../';
4
- export function getAuditItemsData(items, data) {
5
- var _data$settings = data.settings,
6
- _data$settings2 = _data$settings === void 0 ? {} : _data$settings,
7
- awsS3BaseUrl = _data$settings2.awsS3BaseUrl,
8
- cloudinaryBaseUrl = _data$settings2.cloudinaryBaseUrl,
9
- cloudfrontBaseUrl = _data$settings2.cloudfrontBaseUrl,
10
- Policy = _data$settings2.Policy,
11
- KeyPairId = _data$settings2.KeyPairId,
12
- Signature = _data$settings2.Signature,
13
- shouldUseCloudfront = _data$settings2.shouldUseCloudfront,
14
- _data$entity = data.entity,
15
- _data$entity2 = _data$entity === void 0 ? {} : _data$entity,
16
- groupScores = _data$entity2.groupScores;
17
- var groupedItems = groupBy(items, 'group.id');
18
- var auditData = {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAuditItemsData = getAuditItemsData;
7
+ var _lodash = require("lodash");
8
+ var _ = require("../");
9
+ function getAuditItemsData(items, data) {
10
+ const {
11
+ settings: {
12
+ awsS3BaseUrl,
13
+ cloudinaryBaseUrl,
14
+ cloudfrontBaseUrl,
15
+ Policy,
16
+ KeyPairId,
17
+ Signature,
18
+ shouldUseCloudfront
19
+ } = {},
20
+ entity: {
21
+ groupScores
22
+ } = {}
23
+ } = data;
24
+ const groupedItems = (0, _lodash.groupBy)(items, 'group.id');
25
+ const auditData = {
19
26
  overallActualScore: 0,
20
27
  overallMaximumScore: 0
21
28
  };
22
- auditData.items = map(groupedItems, function (items, groupIndex) {
23
- var key = groupIndex;
24
- var skipped = !!items[0].group.skipped;
25
- var title = items[0].group.label;
26
- var groupData = {
27
- key: key,
29
+ auditData.items = (0, _lodash.map)(groupedItems, (items, groupIndex) => {
30
+ const key = groupIndex;
31
+ const skipped = !!items[0].group.skipped;
32
+ const title = items[0].group.label;
33
+ const groupData = {
34
+ key,
28
35
  groupMaximumScore: 0,
29
36
  groupActualScore: 0,
30
37
  groupResultScore: 0,
31
38
  groupPercentageResultScore: 0,
32
- skipped: skipped,
33
- title: title
39
+ skipped,
40
+ title
34
41
  };
35
- var currentGroupScores = get(groupScores, key);
42
+ const currentGroupScores = (0, _lodash.get)(groupScores, key);
36
43
  if (currentGroupScores) {
37
- groupData.groupMaximumScore = round(currentGroupScores.max, 2);
38
- groupData.groupActualScore = round(currentGroupScores.actual, 2);
44
+ groupData.groupMaximumScore = (0, _lodash.round)(currentGroupScores.max, 2);
45
+ groupData.groupActualScore = (0, _lodash.round)(currentGroupScores.actual, 2);
39
46
  groupData.groupResultScore = currentGroupScores.result;
40
47
  groupData.groupPercentageResultScore = currentGroupScores.percentageResult;
41
48
  }
42
- groupData.items = items.map(function (item, itemIndex) {
49
+ groupData.items = items.map((item, itemIndex) => {
43
50
  // NOTE: we handle scores of -1, 0 and 1
44
51
  // -1 scores are skipped from group max and actual score
45
52
  // 0 and 1 must be included in the final scores
46
- var hasScore = item.score !== null && item.score !== -1;
47
- var rawAssets = item.assets || [];
48
- var assetCount = rawAssets.length;
49
- var assets = rawAssets.map(function (asset, assetIndex) {
50
- var _item$signedAssets;
51
- var assetUrl = buildFetchUrl(asset, {
52
- awsS3BaseUrl: awsS3BaseUrl,
53
- cloudfrontBaseUrl: cloudfrontBaseUrl,
54
- cloudinaryBaseUrl: cloudinaryBaseUrl,
55
- height: 400,
56
- width: 600,
57
- quality: 50,
58
- fit: true,
59
- shouldUseCloudfront: shouldUseCloudfront,
60
- Policy: Policy,
61
- KeyPairId: KeyPairId,
62
- Signature: Signature
63
- });
64
- var link = shouldUseCloudfront ? "".concat(cloudfrontBaseUrl, "/").concat(((_item$signedAssets = item.signedAssets) === null || _item$signedAssets === void 0 ? void 0 : _item$signedAssets[assetIndex]) || asset) : "".concat(awsS3BaseUrl, "/").concat(asset);
65
- var thumbnailUrl = buildFetchUrl(asset, _defineProperty(_defineProperty(_defineProperty(_defineProperty({
66
- awsS3BaseUrl: awsS3BaseUrl,
67
- cloudfrontBaseUrl: cloudfrontBaseUrl,
68
- cloudinaryBaseUrl: cloudinaryBaseUrl,
69
- shouldUseCloudfront: shouldUseCloudfront,
70
- width: 100,
71
- quality: 50,
72
- fit: true
73
- }, "shouldUseCloudfront", shouldUseCloudfront), "Policy", Policy), "KeyPairId", KeyPairId), "Signature", Signature));
74
- var key = "".concat(groupIndex, "-item-asset-").concat(assetIndex);
75
- return {
76
- assetUrl: assetUrl,
77
- key: key,
78
- link: link,
79
- thumbnailUrl: thumbnailUrl
80
- };
81
- });
82
- var comments = item.comments;
83
- var label = item.label;
84
- var score = item.score;
85
- var key = "".concat(groupIndex, "-item-").concat(itemIndex);
86
- var matchingScore = find(item.scores, {
53
+ const hasScore = item.score !== null && item.score !== -1;
54
+ const rawAssets = item.assets || [];
55
+ const assetCount = rawAssets.length;
56
+ const assets = rawAssets.reduce((acc, asset, assetIndex) => {
57
+ try {
58
+ const assetUrl = (0, _.buildFetchUrl)(asset, {
59
+ awsS3BaseUrl,
60
+ cloudfrontBaseUrl,
61
+ cloudinaryBaseUrl,
62
+ height: 400,
63
+ width: 600,
64
+ quality: 50,
65
+ fit: true,
66
+ shouldUseCloudfront,
67
+ Policy,
68
+ KeyPairId,
69
+ Signature
70
+ });
71
+ const link = shouldUseCloudfront ? `${cloudfrontBaseUrl}/${item.signedAssets[assetIndex]}` : `${awsS3BaseUrl}/${asset}`;
72
+ const thumbnailUrl = (0, _.buildFetchUrl)(asset, {
73
+ awsS3BaseUrl,
74
+ cloudfrontBaseUrl,
75
+ cloudinaryBaseUrl,
76
+ shouldUseCloudfront,
77
+ width: 100,
78
+ quality: 50,
79
+ fit: true,
80
+ shouldUseCloudfront,
81
+ Policy,
82
+ KeyPairId,
83
+ Signature
84
+ });
85
+ const key = `${groupIndex}-item-asset-${assetIndex}`;
86
+ acc.push({
87
+ assetUrl,
88
+ key,
89
+ link,
90
+ thumbnailUrl
91
+ });
92
+ } catch (error) {
93
+ console.error({
94
+ message: 'Failed to build asset URL',
95
+ asset,
96
+ assetIndex,
97
+ groupIndex,
98
+ error: error.message
99
+ });
100
+ }
101
+ return acc;
102
+ }, []);
103
+ const comments = item.comments;
104
+ const label = item.label;
105
+ const score = item.score;
106
+ const key = `${groupIndex}-item-${itemIndex}`;
107
+ const matchingScore = (0, _lodash.find)(item.scores, {
87
108
  value: score
88
109
  });
89
110
 
90
111
  // NOTE: ensure we have a score otherwise fallback to - value
91
- var scoreLabel = hasScore && matchingScore && !skipped ? matchingScore.label : '-';
92
- var scoreWeight = hasScore && !skipped ? item.scoreWeight : '-';
93
- var weight = hasScore ? item.weight : '-';
112
+ const scoreLabel = hasScore && matchingScore && !skipped ? matchingScore.label : '-';
113
+ const scoreWeight = hasScore && !skipped ? item.scoreWeight : '-';
114
+ const weight = hasScore ? item.weight : '-';
94
115
  return {
95
- assetCount: assetCount,
96
- assets: assets,
97
- comments: comments,
98
- key: key,
99
- label: label,
116
+ assetCount,
117
+ assets,
118
+ comments,
119
+ key,
120
+ label,
100
121
  questionId: item._id,
101
- score: score,
102
- scoreLabel: scoreLabel,
103
- scoreWeight: scoreWeight,
104
- weight: weight
122
+ score,
123
+ scoreLabel,
124
+ scoreWeight,
125
+ weight
105
126
  };
106
127
  });
107
128
  return groupData;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["find","groupBy","map","get","round","buildFetchUrl","getAuditItemsData","items","data","_data$settings","settings","_data$settings2","awsS3BaseUrl","cloudinaryBaseUrl","cloudfrontBaseUrl","Policy","KeyPairId","Signature","shouldUseCloudfront","_data$entity","entity","_data$entity2","groupScores","groupedItems","auditData","overallActualScore","overallMaximumScore","groupIndex","key","skipped","group","title","label","groupData","groupMaximumScore","groupActualScore","groupResultScore","groupPercentageResultScore","currentGroupScores","max","actual","result","percentageResult","item","itemIndex","hasScore","score","rawAssets","assets","assetCount","length","asset","assetIndex","_item$signedAssets","assetUrl","height","width","quality","fit","link","concat","signedAssets","thumbnailUrl","_defineProperty","comments","matchingScore","scores","value","scoreLabel","scoreWeight","weight","questionId","_id"],"sources":["../../../src/helpers/get-audit-items-data/index.js"],"sourcesContent":["import { find, groupBy, map, get, round } from 'lodash'\n\nimport { buildFetchUrl } from '../'\n\nexport function getAuditItemsData(items, data) {\n const {\n settings: {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n cloudfrontBaseUrl,\n Policy,\n KeyPairId,\n Signature,\n shouldUseCloudfront,\n } = {},\n entity: { groupScores } = {},\n } = data\n\n const groupedItems = groupBy(items, 'group.id')\n\n const auditData = {\n overallActualScore: 0,\n overallMaximumScore: 0,\n }\n\n auditData.items = map(groupedItems, (items, groupIndex) => {\n const key = groupIndex\n const skipped = !!items[0].group.skipped\n const title = items[0].group.label\n\n const groupData = {\n key,\n groupMaximumScore: 0,\n groupActualScore: 0,\n groupResultScore: 0,\n groupPercentageResultScore: 0,\n skipped,\n title,\n }\n\n const currentGroupScores = get(groupScores, key)\n\n if (currentGroupScores) {\n groupData.groupMaximumScore = round(currentGroupScores.max, 2)\n groupData.groupActualScore = round(currentGroupScores.actual, 2)\n groupData.groupResultScore = currentGroupScores.result\n groupData.groupPercentageResultScore = currentGroupScores.percentageResult\n }\n\n groupData.items = items.map((item, itemIndex) => {\n // NOTE: we handle scores of -1, 0 and 1\n // -1 scores are skipped from group max and actual score\n // 0 and 1 must be included in the final scores\n const hasScore = item.score !== null && item.score !== -1\n const rawAssets = item.assets || []\n const assetCount = rawAssets.length\n\n const assets = rawAssets.map((asset, assetIndex) => {\n const assetUrl = buildFetchUrl(asset, {\n awsS3BaseUrl,\n cloudfrontBaseUrl,\n cloudinaryBaseUrl,\n height: 400,\n width: 600,\n quality: 50,\n fit: true,\n shouldUseCloudfront,\n Policy,\n KeyPairId,\n Signature,\n })\n\n const link = shouldUseCloudfront\n ? `${cloudfrontBaseUrl}/${item.signedAssets?.[assetIndex] || asset}`\n : `${awsS3BaseUrl}/${asset}`\n\n const thumbnailUrl = buildFetchUrl(asset, {\n awsS3BaseUrl,\n cloudfrontBaseUrl,\n cloudinaryBaseUrl,\n shouldUseCloudfront,\n width: 100,\n quality: 50,\n fit: true,\n shouldUseCloudfront,\n Policy,\n KeyPairId,\n Signature,\n })\n\n const key = `${groupIndex}-item-asset-${assetIndex}`\n\n return {\n assetUrl,\n key,\n link,\n thumbnailUrl,\n }\n })\n\n const comments = item.comments\n const label = item.label\n const score = item.score\n const key = `${groupIndex}-item-${itemIndex}`\n const matchingScore = find(item.scores, { value: score })\n\n // NOTE: ensure we have a score otherwise fallback to - value\n const scoreLabel =\n hasScore && matchingScore && !skipped ? matchingScore.label : '-'\n const scoreWeight = hasScore && !skipped ? item.scoreWeight : '-'\n const weight = hasScore ? item.weight : '-'\n\n return {\n assetCount,\n assets,\n comments,\n key,\n label,\n questionId: item._id,\n score,\n scoreLabel,\n scoreWeight,\n weight,\n }\n })\n\n return groupData\n })\n\n return auditData\n}\n"],"mappings":";AAAA,SAASA,IAAI,EAAEC,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,QAAQ;AAEvD,SAASC,aAAa,QAAQ,KAAK;AAEnC,OAAO,SAASC,iBAAiBA,CAACC,KAAK,EAAEC,IAAI,EAAE;EAC7C,IAAAC,cAAA,GAWID,IAAI,CAVNE,QAAQ;IAAAC,eAAA,GAAAF,cAAA,cAQJ,CAAC,CAAC,GAAAA,cAAA;IAPJG,YAAY,GAAAD,eAAA,CAAZC,YAAY;IACZC,iBAAiB,GAAAF,eAAA,CAAjBE,iBAAiB;IACjBC,iBAAiB,GAAAH,eAAA,CAAjBG,iBAAiB;IACjBC,MAAM,GAAAJ,eAAA,CAANI,MAAM;IACNC,SAAS,GAAAL,eAAA,CAATK,SAAS;IACTC,SAAS,GAAAN,eAAA,CAATM,SAAS;IACTC,mBAAmB,GAAAP,eAAA,CAAnBO,mBAAmB;IAAAC,YAAA,GAGnBX,IAAI,CADNY,MAAM;IAAAC,aAAA,GAAAF,YAAA,cAAoB,CAAC,CAAC,GAAAA,YAAA;IAAlBG,WAAW,GAAAD,aAAA,CAAXC,WAAW;EAGvB,IAAMC,YAAY,GAAGtB,OAAO,CAACM,KAAK,EAAE,UAAU,CAAC;EAE/C,IAAMiB,SAAS,GAAG;IAChBC,kBAAkB,EAAE,CAAC;IACrBC,mBAAmB,EAAE;EACvB,CAAC;EAEDF,SAAS,CAACjB,KAAK,GAAGL,GAAG,CAACqB,YAAY,EAAE,UAAChB,KAAK,EAAEoB,UAAU,EAAK;IACzD,IAAMC,GAAG,GAAGD,UAAU;IACtB,IAAME,OAAO,GAAG,CAAC,CAACtB,KAAK,CAAC,CAAC,CAAC,CAACuB,KAAK,CAACD,OAAO;IACxC,IAAME,KAAK,GAAGxB,KAAK,CAAC,CAAC,CAAC,CAACuB,KAAK,CAACE,KAAK;IAElC,IAAMC,SAAS,GAAG;MAChBL,GAAG,EAAHA,GAAG;MACHM,iBAAiB,EAAE,CAAC;MACpBC,gBAAgB,EAAE,CAAC;MACnBC,gBAAgB,EAAE,CAAC;MACnBC,0BAA0B,EAAE,CAAC;MAC7BR,OAAO,EAAPA,OAAO;MACPE,KAAK,EAALA;IACF,CAAC;IAED,IAAMO,kBAAkB,GAAGnC,GAAG,CAACmB,WAAW,EAAEM,GAAG,CAAC;IAEhD,IAAIU,kBAAkB,EAAE;MACtBL,SAAS,CAACC,iBAAiB,GAAG9B,KAAK,CAACkC,kBAAkB,CAACC,GAAG,EAAE,CAAC,CAAC;MAC9DN,SAAS,CAACE,gBAAgB,GAAG/B,KAAK,CAACkC,kBAAkB,CAACE,MAAM,EAAE,CAAC,CAAC;MAChEP,SAAS,CAACG,gBAAgB,GAAGE,kBAAkB,CAACG,MAAM;MACtDR,SAAS,CAACI,0BAA0B,GAAGC,kBAAkB,CAACI,gBAAgB;IAC5E;IAEAT,SAAS,CAAC1B,KAAK,GAAGA,KAAK,CAACL,GAAG,CAAC,UAACyC,IAAI,EAAEC,SAAS,EAAK;MAC/C;MACA;MACA;MACA,IAAMC,QAAQ,GAAGF,IAAI,CAACG,KAAK,KAAK,IAAI,IAAIH,IAAI,CAACG,KAAK,KAAK,CAAC,CAAC;MACzD,IAAMC,SAAS,GAAGJ,IAAI,CAACK,MAAM,IAAI,EAAE;MACnC,IAAMC,UAAU,GAAGF,SAAS,CAACG,MAAM;MAEnC,IAAMF,MAAM,GAAGD,SAAS,CAAC7C,GAAG,CAAC,UAACiD,KAAK,EAAEC,UAAU,EAAK;QAAA,IAAAC,kBAAA;QAClD,IAAMC,QAAQ,GAAGjD,aAAa,CAAC8C,KAAK,EAAE;UACpCvC,YAAY,EAAZA,YAAY;UACZE,iBAAiB,EAAjBA,iBAAiB;UACjBD,iBAAiB,EAAjBA,iBAAiB;UACjB0C,MAAM,EAAE,GAAG;UACXC,KAAK,EAAE,GAAG;UACVC,OAAO,EAAE,EAAE;UACXC,GAAG,EAAE,IAAI;UACTxC,mBAAmB,EAAnBA,mBAAmB;UACnBH,MAAM,EAANA,MAAM;UACNC,SAAS,EAATA,SAAS;UACTC,SAAS,EAATA;QACF,CAAC,CAAC;QAEF,IAAM0C,IAAI,GAAGzC,mBAAmB,MAAA0C,MAAA,CACzB9C,iBAAiB,OAAA8C,MAAA,CAAI,EAAAP,kBAAA,GAAAV,IAAI,CAACkB,YAAY,cAAAR,kBAAA,uBAAjBA,kBAAA,CAAoBD,UAAU,CAAC,KAAID,KAAK,OAAAS,MAAA,CAC7DhD,YAAY,OAAAgD,MAAA,CAAIT,KAAK,CAAE;QAE9B,IAAMW,YAAY,GAAGzD,aAAa,CAAC8C,KAAK,EAAAY,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA;UACtCnD,YAAY,EAAZA,YAAY;UACZE,iBAAiB,EAAjBA,iBAAiB;UACjBD,iBAAiB,EAAjBA,iBAAiB;UACjBK,mBAAmB,EAAnBA,mBAAmB;UACnBsC,KAAK,EAAE,GAAG;UACVC,OAAO,EAAE,EAAE;UACXC,GAAG,EAAE;QAAI,0BACTxC,mBAAmB,aACnBH,MAAM,gBACNC,SAAS,gBACTC,SAAS,CACV,CAAC;QAEF,IAAMW,GAAG,MAAAgC,MAAA,CAAMjC,UAAU,kBAAAiC,MAAA,CAAeR,UAAU,CAAE;QAEpD,OAAO;UACLE,QAAQ,EAARA,QAAQ;UACR1B,GAAG,EAAHA,GAAG;UACH+B,IAAI,EAAJA,IAAI;UACJG,YAAY,EAAZA;QACF,CAAC;MACH,CAAC,CAAC;MAEF,IAAME,QAAQ,GAAGrB,IAAI,CAACqB,QAAQ;MAC9B,IAAMhC,KAAK,GAAGW,IAAI,CAACX,KAAK;MACxB,IAAMc,KAAK,GAAGH,IAAI,CAACG,KAAK;MACxB,IAAMlB,GAAG,MAAAgC,MAAA,CAAMjC,UAAU,YAAAiC,MAAA,CAAShB,SAAS,CAAE;MAC7C,IAAMqB,aAAa,GAAGjE,IAAI,CAAC2C,IAAI,CAACuB,MAAM,EAAE;QAAEC,KAAK,EAAErB;MAAM,CAAC,CAAC;;MAEzD;MACA,IAAMsB,UAAU,GACdvB,QAAQ,IAAIoB,aAAa,IAAI,CAACpC,OAAO,GAAGoC,aAAa,CAACjC,KAAK,GAAG,GAAG;MACnE,IAAMqC,WAAW,GAAGxB,QAAQ,IAAI,CAAChB,OAAO,GAAGc,IAAI,CAAC0B,WAAW,GAAG,GAAG;MACjE,IAAMC,MAAM,GAAGzB,QAAQ,GAAGF,IAAI,CAAC2B,MAAM,GAAG,GAAG;MAE3C,OAAO;QACLrB,UAAU,EAAVA,UAAU;QACVD,MAAM,EAANA,MAAM;QACNgB,QAAQ,EAARA,QAAQ;QACRpC,GAAG,EAAHA,GAAG;QACHI,KAAK,EAALA,KAAK;QACLuC,UAAU,EAAE5B,IAAI,CAAC6B,GAAG;QACpB1B,KAAK,EAALA,KAAK;QACLsB,UAAU,EAAVA,UAAU;QACVC,WAAW,EAAXA,WAAW;QACXC,MAAM,EAANA;MACF,CAAC;IACH,CAAC,CAAC;IAEF,OAAOrC,SAAS;EAClB,CAAC,CAAC;EAEF,OAAOT,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_lodash","require","_","getAuditItemsData","items","data","settings","awsS3BaseUrl","cloudinaryBaseUrl","cloudfrontBaseUrl","Policy","KeyPairId","Signature","shouldUseCloudfront","entity","groupScores","groupedItems","groupBy","auditData","overallActualScore","overallMaximumScore","map","groupIndex","key","skipped","group","title","label","groupData","groupMaximumScore","groupActualScore","groupResultScore","groupPercentageResultScore","currentGroupScores","get","round","max","actual","result","percentageResult","item","itemIndex","hasScore","score","rawAssets","assets","assetCount","length","reduce","acc","asset","assetIndex","assetUrl","buildFetchUrl","height","width","quality","fit","link","signedAssets","thumbnailUrl","push","error","console","message","comments","matchingScore","find","scores","value","scoreLabel","scoreWeight","weight","questionId","_id"],"sources":["../../../src/helpers/get-audit-items-data/index.js"],"sourcesContent":["import { find, groupBy, map, get, round } from 'lodash'\r\n\r\nimport { buildFetchUrl } from '../'\r\n\r\nexport function getAuditItemsData(items, data) {\r\n const {\r\n settings: {\r\n awsS3BaseUrl,\r\n cloudinaryBaseUrl,\r\n cloudfrontBaseUrl,\r\n Policy,\r\n KeyPairId,\r\n Signature,\r\n shouldUseCloudfront,\r\n } = {},\r\n entity: { groupScores } = {},\r\n } = data\r\n\r\n const groupedItems = groupBy(items, 'group.id')\r\n\r\n const auditData = {\r\n overallActualScore: 0,\r\n overallMaximumScore: 0,\r\n }\r\n\r\n auditData.items = map(groupedItems, (items, groupIndex) => {\r\n const key = groupIndex\r\n const skipped = !!items[0].group.skipped\r\n const title = items[0].group.label\r\n\r\n const groupData = {\r\n key,\r\n groupMaximumScore: 0,\r\n groupActualScore: 0,\r\n groupResultScore: 0,\r\n groupPercentageResultScore: 0,\r\n skipped,\r\n title,\r\n }\r\n\r\n const currentGroupScores = get(groupScores, key)\r\n\r\n if (currentGroupScores) {\r\n groupData.groupMaximumScore = round(currentGroupScores.max, 2)\r\n groupData.groupActualScore = round(currentGroupScores.actual, 2)\r\n groupData.groupResultScore = currentGroupScores.result\r\n groupData.groupPercentageResultScore = currentGroupScores.percentageResult\r\n }\r\n\r\n groupData.items = items.map((item, itemIndex) => {\r\n // NOTE: we handle scores of -1, 0 and 1\r\n // -1 scores are skipped from group max and actual score\r\n // 0 and 1 must be included in the final scores\r\n const hasScore = item.score !== null && item.score !== -1\r\n const rawAssets = item.assets || []\r\n const assetCount = rawAssets.length\r\n\r\n const assets = rawAssets.reduce((acc, asset, assetIndex) => {\r\n try {\r\n const assetUrl = buildFetchUrl(asset, {\r\n awsS3BaseUrl,\r\n cloudfrontBaseUrl,\r\n cloudinaryBaseUrl,\r\n height: 400,\r\n width: 600,\r\n quality: 50,\r\n fit: true,\r\n shouldUseCloudfront,\r\n Policy,\r\n KeyPairId,\r\n Signature,\r\n })\r\n\r\n const link = shouldUseCloudfront\r\n ? `${cloudfrontBaseUrl}/${item.signedAssets[assetIndex]}`\r\n : `${awsS3BaseUrl}/${asset}`\r\n\r\n const thumbnailUrl = buildFetchUrl(asset, {\r\n awsS3BaseUrl,\r\n cloudfrontBaseUrl,\r\n cloudinaryBaseUrl,\r\n shouldUseCloudfront,\r\n width: 100,\r\n quality: 50,\r\n fit: true,\r\n shouldUseCloudfront,\r\n Policy,\r\n KeyPairId,\r\n Signature,\r\n })\r\n\r\n const key = `${groupIndex}-item-asset-${assetIndex}`\r\n\r\n acc.push({\r\n assetUrl,\r\n key,\r\n link,\r\n thumbnailUrl,\r\n })\r\n } catch (error) {\r\n console.error({\r\n message: 'Failed to build asset URL',\r\n asset,\r\n assetIndex,\r\n groupIndex,\r\n error: error.message,\r\n })\r\n }\r\n return acc \r\n },[])\r\n\r\n const comments = item.comments\r\n const label = item.label\r\n const score = item.score\r\n const key = `${groupIndex}-item-${itemIndex}`\r\n const matchingScore = find(item.scores, { value: score })\r\n\r\n // NOTE: ensure we have a score otherwise fallback to - value\r\n const scoreLabel =\r\n hasScore && matchingScore && !skipped ? matchingScore.label : '-'\r\n const scoreWeight = hasScore && !skipped ? item.scoreWeight : '-'\r\n const weight = hasScore ? item.weight : '-'\r\n\r\n return {\r\n assetCount,\r\n assets,\r\n comments,\r\n key,\r\n label,\r\n questionId: item._id,\r\n score,\r\n scoreLabel,\r\n scoreWeight,\r\n weight,\r\n }\r\n })\r\n\r\n return groupData\r\n })\r\n\r\n return auditData\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,13 @@
1
- import { chain } from 'lodash';
2
- var DEFAULT_PROPERTIES = ['label', 'postalcode', 'postcode'];
3
- export function getGeometryGeocodedString(geometryReverseGeocoded) {
4
- var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_PROPERTIES;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGeometryGeocodedString = getGeometryGeocodedString;
7
+ var _lodash = require("lodash");
8
+ const DEFAULT_PROPERTIES = ['label', 'postalcode', 'postcode'];
9
+ function getGeometryGeocodedString(geometryReverseGeocoded, properties = DEFAULT_PROPERTIES) {
5
10
  if (!geometryReverseGeocoded) return 'Unknown Location';
6
- return chain(geometryReverseGeocoded).pick(properties).values().compact().join(', ').value();
11
+ return (0, _lodash.chain)(geometryReverseGeocoded).pick(properties).values().compact().join(', ').value();
7
12
  }
8
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["chain","DEFAULT_PROPERTIES","getGeometryGeocodedString","geometryReverseGeocoded","properties","arguments","length","undefined","pick","values","compact","join","value"],"sources":["../../../src/helpers/get-geometry-geocoded-string/index.js"],"sourcesContent":["import { chain } from 'lodash'\n\nconst DEFAULT_PROPERTIES = ['label', 'postalcode', 'postcode']\n\nexport function getGeometryGeocodedString(\n geometryReverseGeocoded,\n properties = DEFAULT_PROPERTIES\n) {\n if (!geometryReverseGeocoded) return 'Unknown Location'\n\n return chain(geometryReverseGeocoded)\n .pick(properties)\n .values()\n .compact()\n .join(', ')\n .value()\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAE9B,IAAMC,kBAAkB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;AAE9D,OAAO,SAASC,yBAAyBA,CACvCC,uBAAuB,EAEvB;EAAA,IADAC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,kBAAkB;EAE/B,IAAI,CAACE,uBAAuB,EAAE,OAAO,kBAAkB;EAEvD,OAAOH,KAAK,CAACG,uBAAuB,CAAC,CAClCK,IAAI,CAACJ,UAAU,CAAC,CAChBK,MAAM,CAAC,CAAC,CACRC,OAAO,CAAC,CAAC,CACTC,IAAI,CAAC,IAAI,CAAC,CACVC,KAAK,CAAC,CAAC;AACZ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_lodash","require","DEFAULT_PROPERTIES","getGeometryGeocodedString","geometryReverseGeocoded","properties","chain","pick","values","compact","join","value"],"sources":["../../../src/helpers/get-geometry-geocoded-string/index.js"],"sourcesContent":["import { chain } from 'lodash'\r\n\r\nconst DEFAULT_PROPERTIES = ['label', 'postalcode', 'postcode']\r\n\r\nexport function getGeometryGeocodedString(\r\n geometryReverseGeocoded,\r\n properties = DEFAULT_PROPERTIES\r\n) {\r\n if (!geometryReverseGeocoded) return 'Unknown Location'\r\n\r\n return chain(geometryReverseGeocoded)\r\n .pick(properties)\r\n .values()\r\n .compact()\r\n .join(', ')\r\n .value()\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,kBAAkB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;AAEvD,SAASC,yBAAyBA,CACvCC,uBAAuB,EACvBC,UAAU,GAAGH,kBAAkB,EAC/B;EACA,IAAI,CAACE,uBAAuB,EAAE,OAAO,kBAAkB;EAEvD,OAAO,IAAAE,aAAK,EAACF,uBAAuB,CAAC,CAClCG,IAAI,CAACF,UAAU,CAAC,CAChBG,MAAM,CAAC,CAAC,CACRC,OAAO,CAAC,CAAC,CACTC,IAAI,CAAC,IAAI,CAAC,CACVC,KAAK,CAAC,CAAC;AACZ","ignoreList":[]}
@@ -1,49 +1,59 @@
1
- import { get, upperCase } from 'lodash';
2
- import moment from 'moment-timezone';
3
- import { getAssigneesFullNames, getLocationReference, getPrettyDuration, getStatusDetails, getTimezoneDatetime, getUserFullName } from '../';
4
- export function getIssueDetails(data) {
5
- var entity = data.entity,
6
- timezone = data.timezone,
7
- users = data.users;
8
- var assignees = entity.assignees,
9
- createdAt = entity.createdAt,
10
- duration = entity.duration,
11
- _entity$isPublicSubmi = entity.isPublicSubmission,
12
- isPublicSubmission = _entity$isPublicSubmi === void 0 ? false : _entity$isPublicSubmi,
13
- gps = entity.gps,
14
- templateRevision = entity.templateRevision,
15
- sequenceId = entity.sequenceId,
16
- status = entity.status,
17
- user = entity.user;
18
- var assigneeNames = getAssigneesFullNames(users, assignees);
19
- var durationInMins = moment.duration(duration, 'minutes');
20
- var durationText = getPrettyDuration(durationInMins);
21
- var fullName = getUserFullName(users, user);
22
- var gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location');
23
- var isClosedStatus = status === 'closed';
24
- var locationText = getLocationReference(data);
25
- var statusDetails = getStatusDetails(status);
26
- var statusStyle = statusDetails.style;
27
- var statusColor = statusStyle.color;
28
- var statusText = upperCase(statusDetails.text);
29
- var timezoneDatetime = getTimezoneDatetime({
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getIssueDetails = getIssueDetails;
8
+ var _lodash = require("lodash");
9
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
10
+ var _ = require("../");
11
+ function getIssueDetails(data) {
12
+ const {
13
+ entity,
14
+ timezone,
15
+ users
16
+ } = data;
17
+ const {
18
+ assignees,
19
+ createdAt,
20
+ duration,
21
+ isPublicSubmission = false,
22
+ gps,
23
+ templateRevision,
24
+ sequenceId,
25
+ status,
26
+ user
27
+ } = entity;
28
+ const assigneeNames = (0, _.getAssigneesFullNames)(users, assignees);
29
+ const durationInMins = _momentTimezone.default.duration(duration, 'minutes');
30
+ const durationText = (0, _.getPrettyDuration)(durationInMins);
31
+ const fullName = (0, _.getUserFullName)(users, user);
32
+ const gpsText = (0, _lodash.get)(gps, 'reverseGeocoded.label', 'Unknown Location');
33
+ const isClosedStatus = status === 'closed';
34
+ const locationText = (0, _.getLocationReference)(data);
35
+ const statusDetails = (0, _.getStatusDetails)(status);
36
+ const statusStyle = statusDetails.style;
37
+ const statusColor = statusStyle.color;
38
+ const statusText = (0, _lodash.upperCase)(statusDetails.text);
39
+ const timezoneDatetime = (0, _.getTimezoneDatetime)({
30
40
  timestamp: createdAt,
31
- timezone: timezone
41
+ timezone
32
42
  });
33
43
  return {
34
- assigneeNames: assigneeNames,
35
- durationText: durationText,
36
- gpsText: gpsText,
37
- fullName: fullName,
38
- isClosedStatus: isClosedStatus,
39
- isPublicSubmission: isPublicSubmission,
40
- locationText: locationText,
41
- templateRevision: templateRevision,
42
- sequenceId: sequenceId,
43
- statusStyle: statusStyle,
44
- statusColor: statusColor,
45
- statusText: statusText,
46
- timezoneDatetime: timezoneDatetime
44
+ assigneeNames,
45
+ durationText,
46
+ gpsText,
47
+ fullName,
48
+ isClosedStatus,
49
+ isPublicSubmission,
50
+ locationText,
51
+ templateRevision,
52
+ sequenceId,
53
+ statusStyle,
54
+ statusColor,
55
+ statusText,
56
+ timezoneDatetime
47
57
  };
48
58
  }
49
59
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["get","upperCase","moment","getAssigneesFullNames","getLocationReference","getPrettyDuration","getStatusDetails","getTimezoneDatetime","getUserFullName","getIssueDetails","data","entity","timezone","users","assignees","createdAt","duration","_entity$isPublicSubmi","isPublicSubmission","gps","templateRevision","sequenceId","status","user","assigneeNames","durationInMins","durationText","fullName","gpsText","isClosedStatus","locationText","statusDetails","statusStyle","style","statusColor","color","statusText","text","timezoneDatetime","timestamp"],"sources":["../../../src/helpers/get-issue-details/index.js"],"sourcesContent":["import { get, upperCase } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n getAssigneesFullNames,\n getLocationReference,\n getPrettyDuration,\n getStatusDetails,\n getTimezoneDatetime,\n getUserFullName,\n} from '../'\n\nexport function getIssueDetails(data) {\n const { entity, timezone, users } = data\n\n const {\n assignees,\n createdAt,\n duration,\n isPublicSubmission = false,\n gps,\n templateRevision,\n sequenceId,\n status,\n user,\n } = entity\n\n const assigneeNames = getAssigneesFullNames(users, assignees)\n const durationInMins = moment.duration(duration, 'minutes')\n const durationText = getPrettyDuration(durationInMins)\n const fullName = getUserFullName(users, user)\n const gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location')\n const isClosedStatus = status === 'closed'\n const locationText = getLocationReference(data)\n const statusDetails = getStatusDetails(status)\n const statusStyle = statusDetails.style\n const statusColor = statusStyle.color\n const statusText = upperCase(statusDetails.text)\n const timezoneDatetime = getTimezoneDatetime({\n timestamp: createdAt,\n timezone,\n })\n\n return {\n assigneeNames,\n durationText,\n gpsText,\n fullName,\n isClosedStatus,\n isPublicSubmission,\n locationText,\n templateRevision,\n sequenceId,\n statusStyle,\n statusColor,\n statusText,\n timezoneDatetime,\n }\n}\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,SAAS,QAAQ,QAAQ;AACvC,OAAOC,MAAM,MAAM,iBAAiB;AAEpC,SACEC,qBAAqB,EACrBC,oBAAoB,EACpBC,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,EACnBC,eAAe,QACV,KAAK;AAEZ,OAAO,SAASC,eAAeA,CAACC,IAAI,EAAE;EACpC,IAAQC,MAAM,GAAsBD,IAAI,CAAhCC,MAAM;IAAEC,QAAQ,GAAYF,IAAI,CAAxBE,QAAQ;IAAEC,KAAK,GAAKH,IAAI,CAAdG,KAAK;EAE/B,IACEC,SAAS,GASPH,MAAM,CATRG,SAAS;IACTC,SAAS,GAQPJ,MAAM,CARRI,SAAS;IACTC,QAAQ,GAONL,MAAM,CAPRK,QAAQ;IAAAC,qBAAA,GAONN,MAAM,CANRO,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAC1BE,GAAG,GAKDR,MAAM,CALRQ,GAAG;IACHC,gBAAgB,GAIdT,MAAM,CAJRS,gBAAgB;IAChBC,UAAU,GAGRV,MAAM,CAHRU,UAAU;IACVC,MAAM,GAEJX,MAAM,CAFRW,MAAM;IACNC,IAAI,GACFZ,MAAM,CADRY,IAAI;EAGN,IAAMC,aAAa,GAAGrB,qBAAqB,CAACU,KAAK,EAAEC,SAAS,CAAC;EAC7D,IAAMW,cAAc,GAAGvB,MAAM,CAACc,QAAQ,CAACA,QAAQ,EAAE,SAAS,CAAC;EAC3D,IAAMU,YAAY,GAAGrB,iBAAiB,CAACoB,cAAc,CAAC;EACtD,IAAME,QAAQ,GAAGnB,eAAe,CAACK,KAAK,EAAEU,IAAI,CAAC;EAC7C,IAAMK,OAAO,GAAG5B,GAAG,CAACmB,GAAG,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;EACrE,IAAMU,cAAc,GAAGP,MAAM,KAAK,QAAQ;EAC1C,IAAMQ,YAAY,GAAG1B,oBAAoB,CAACM,IAAI,CAAC;EAC/C,IAAMqB,aAAa,GAAGzB,gBAAgB,CAACgB,MAAM,CAAC;EAC9C,IAAMU,WAAW,GAAGD,aAAa,CAACE,KAAK;EACvC,IAAMC,WAAW,GAAGF,WAAW,CAACG,KAAK;EACrC,IAAMC,UAAU,GAAGnC,SAAS,CAAC8B,aAAa,CAACM,IAAI,CAAC;EAChD,IAAMC,gBAAgB,GAAG/B,mBAAmB,CAAC;IAC3CgC,SAAS,EAAExB,SAAS;IACpBH,QAAQ,EAARA;EACF,CAAC,CAAC;EAEF,OAAO;IACLY,aAAa,EAAbA,aAAa;IACbE,YAAY,EAAZA,YAAY;IACZE,OAAO,EAAPA,OAAO;IACPD,QAAQ,EAARA,QAAQ;IACRE,cAAc,EAAdA,cAAc;IACdX,kBAAkB,EAAlBA,kBAAkB;IAClBY,YAAY,EAAZA,YAAY;IACZV,gBAAgB,EAAhBA,gBAAgB;IAChBC,UAAU,EAAVA,UAAU;IACVW,WAAW,EAAXA,WAAW;IACXE,WAAW,EAAXA,WAAW;IACXE,UAAU,EAAVA,UAAU;IACVE,gBAAgB,EAAhBA;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_lodash","require","_momentTimezone","_interopRequireDefault","_","getIssueDetails","data","entity","timezone","users","assignees","createdAt","duration","isPublicSubmission","gps","templateRevision","sequenceId","status","user","assigneeNames","getAssigneesFullNames","durationInMins","moment","durationText","getPrettyDuration","fullName","getUserFullName","gpsText","get","isClosedStatus","locationText","getLocationReference","statusDetails","getStatusDetails","statusStyle","style","statusColor","color","statusText","upperCase","text","timezoneDatetime","getTimezoneDatetime","timestamp"],"sources":["../../../src/helpers/get-issue-details/index.js"],"sourcesContent":["import { get, upperCase } from 'lodash'\r\nimport moment from 'moment-timezone'\r\n\r\nimport {\r\n getAssigneesFullNames,\r\n getLocationReference,\r\n getPrettyDuration,\r\n getStatusDetails,\r\n getTimezoneDatetime,\r\n getUserFullName,\r\n} from '../'\r\n\r\nexport function getIssueDetails(data) {\r\n const { entity, timezone, users } = data\r\n\r\n const {\r\n assignees,\r\n createdAt,\r\n duration,\r\n isPublicSubmission = false,\r\n gps,\r\n templateRevision,\r\n sequenceId,\r\n status,\r\n user,\r\n } = entity\r\n\r\n const assigneeNames = getAssigneesFullNames(users, assignees)\r\n const durationInMins = moment.duration(duration, 'minutes')\r\n const durationText = getPrettyDuration(durationInMins)\r\n const fullName = getUserFullName(users, user)\r\n const gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location')\r\n const isClosedStatus = status === 'closed'\r\n const locationText = getLocationReference(data)\r\n const statusDetails = getStatusDetails(status)\r\n const statusStyle = statusDetails.style\r\n const statusColor = statusStyle.color\r\n const statusText = upperCase(statusDetails.text)\r\n const timezoneDatetime = getTimezoneDatetime({\r\n timestamp: createdAt,\r\n timezone,\r\n })\r\n\r\n return {\r\n assigneeNames,\r\n durationText,\r\n gpsText,\r\n fullName,\r\n isClosedStatus,\r\n isPublicSubmission,\r\n locationText,\r\n templateRevision,\r\n sequenceId,\r\n statusStyle,\r\n statusColor,\r\n statusText,\r\n timezoneDatetime,\r\n }\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,CAAA,GAAAH,OAAA;AASO,SAASI,eAAeA,CAACC,IAAI,EAAE;EACpC,MAAM;IAAEC,MAAM;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,IAAI;EAExC,MAAM;IACJI,SAAS;IACTC,SAAS;IACTC,QAAQ;IACRC,kBAAkB,GAAG,KAAK;IAC1BC,GAAG;IACHC,gBAAgB;IAChBC,UAAU;IACVC,MAAM;IACNC;EACF,CAAC,GAAGX,MAAM;EAEV,MAAMY,aAAa,GAAG,IAAAC,uBAAqB,EAACX,KAAK,EAAEC,SAAS,CAAC;EAC7D,MAAMW,cAAc,GAAGC,uBAAM,CAACV,QAAQ,CAACA,QAAQ,EAAE,SAAS,CAAC;EAC3D,MAAMW,YAAY,GAAG,IAAAC,mBAAiB,EAACH,cAAc,CAAC;EACtD,MAAMI,QAAQ,GAAG,IAAAC,iBAAe,EAACjB,KAAK,EAAES,IAAI,CAAC;EAC7C,MAAMS,OAAO,GAAG,IAAAC,WAAG,EAACd,GAAG,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;EACrE,MAAMe,cAAc,GAAGZ,MAAM,KAAK,QAAQ;EAC1C,MAAMa,YAAY,GAAG,IAAAC,sBAAoB,EAACzB,IAAI,CAAC;EAC/C,MAAM0B,aAAa,GAAG,IAAAC,kBAAgB,EAAChB,MAAM,CAAC;EAC9C,MAAMiB,WAAW,GAAGF,aAAa,CAACG,KAAK;EACvC,MAAMC,WAAW,GAAGF,WAAW,CAACG,KAAK;EACrC,MAAMC,UAAU,GAAG,IAAAC,iBAAS,EAACP,aAAa,CAACQ,IAAI,CAAC;EAChD,MAAMC,gBAAgB,GAAG,IAAAC,qBAAmB,EAAC;IAC3CC,SAAS,EAAEhC,SAAS;IACpBH;EACF,CAAC,CAAC;EAEF,OAAO;IACLW,aAAa;IACbI,YAAY;IACZI,OAAO;IACPF,QAAQ;IACRI,cAAc;IACdhB,kBAAkB;IAClBiB,YAAY;IACZf,gBAAgB;IAChBC,UAAU;IACVkB,WAAW;IACXE,WAAW;IACXE,UAAU;IACVG;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,49 +1,57 @@
1
- import { upperCase } from 'lodash';
2
- import moment from 'moment-timezone';
3
- import { getAssigneesFullNames, getGeometryGeocodedString, getStatusDetails, getUserFullName, getTimezoneDatetime } from '../';
4
- export function getJobDetails(data) {
5
- var _data$entity = data.entity,
6
- entity = _data$entity === void 0 ? {} : _data$entity,
7
- timezone = data.timezone,
8
- users = data.users;
9
- var assignees = entity.assignees,
10
- author = entity.author,
11
- createdAt = entity.createdAt,
12
- _entity$description = entity.description,
13
- description = _entity$description === void 0 ? '' : _entity$description,
14
- due = entity.due,
15
- geometryReverseGeocoded = entity.geometryReverseGeocoded,
16
- _entity$reference = entity.reference,
17
- reference = _entity$reference === void 0 ? '' : _entity$reference,
18
- status = entity.status;
19
- var assigneeNames = getAssigneesFullNames(users, assignees);
20
- var authorFullName = getUserFullName(users, author);
21
- var locationText = getGeometryGeocodedString(geometryReverseGeocoded);
22
- var statusProps = getStatusDetails(status);
23
- var statusStyle = statusProps.style;
24
- var statusColor = statusStyle.color;
25
- var statusText = upperCase(statusProps.text);
26
- var createdTimezoneDateTime = getTimezoneDatetime({
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getJobDetails = getJobDetails;
8
+ var _lodash = require("lodash");
9
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
10
+ var _ = require("../");
11
+ function getJobDetails(data) {
12
+ const {
13
+ entity = {},
14
+ timezone,
15
+ users
16
+ } = data;
17
+ const {
18
+ assignees,
19
+ author,
20
+ createdAt,
21
+ description = '',
22
+ due,
23
+ geometryReverseGeocoded,
24
+ reference = '',
25
+ status
26
+ } = entity;
27
+ const assigneeNames = (0, _.getAssigneesFullNames)(users, assignees);
28
+ const authorFullName = (0, _.getUserFullName)(users, author);
29
+ const locationText = (0, _.getGeometryGeocodedString)(geometryReverseGeocoded);
30
+ const statusProps = (0, _.getStatusDetails)(status);
31
+ const statusStyle = statusProps.style;
32
+ const statusColor = statusStyle.color;
33
+ const statusText = (0, _lodash.upperCase)(statusProps.text);
34
+ const createdTimezoneDateTime = (0, _.getTimezoneDatetime)({
27
35
  timestamp: createdAt,
28
- timezone: timezone
36
+ timezone
29
37
  });
30
- var dueDateTimezoneDateTime = getTimezoneDatetime({
38
+ const dueDateTimezoneDateTime = (0, _.getTimezoneDatetime)({
31
39
  timestamp: due,
32
- timezone: timezone
40
+ timezone
33
41
  });
34
- var timezoneAbbrText = moment.tz(timezone).format('z');
42
+ const timezoneAbbrText = _momentTimezone.default.tz(timezone).format('z');
35
43
  return {
36
- assigneeNames: assigneeNames,
37
- authorFullName: authorFullName,
38
- createdTimezoneDateTime: createdTimezoneDateTime,
39
- description: description,
40
- dueDateTimezoneDateTime: dueDateTimezoneDateTime,
41
- locationText: locationText,
42
- statusStyle: statusStyle,
43
- statusColor: statusColor,
44
- statusText: statusText,
45
- reference: reference,
46
- timezoneAbbrText: timezoneAbbrText
44
+ assigneeNames,
45
+ authorFullName,
46
+ createdTimezoneDateTime,
47
+ description,
48
+ dueDateTimezoneDateTime,
49
+ locationText,
50
+ statusStyle,
51
+ statusColor,
52
+ statusText,
53
+ reference,
54
+ timezoneAbbrText
47
55
  };
48
56
  }
49
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["upperCase","moment","getAssigneesFullNames","getGeometryGeocodedString","getStatusDetails","getUserFullName","getTimezoneDatetime","getJobDetails","data","_data$entity","entity","timezone","users","assignees","author","createdAt","_entity$description","description","due","geometryReverseGeocoded","_entity$reference","reference","status","assigneeNames","authorFullName","locationText","statusProps","statusStyle","style","statusColor","color","statusText","text","createdTimezoneDateTime","timestamp","dueDateTimezoneDateTime","timezoneAbbrText","tz","format"],"sources":["../../../src/helpers/get-job-details/index.js"],"sourcesContent":["import { upperCase } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n getAssigneesFullNames,\n getGeometryGeocodedString,\n getStatusDetails,\n getUserFullName,\n getTimezoneDatetime,\n} from '../'\n\nexport function getJobDetails(data) {\n const { entity = {}, timezone, users } = data\n\n const {\n assignees,\n author,\n createdAt,\n description = '',\n due,\n geometryReverseGeocoded,\n reference = '',\n status,\n } = entity\n\n const assigneeNames = getAssigneesFullNames(users, assignees)\n const authorFullName = getUserFullName(users, author)\n const locationText = getGeometryGeocodedString(geometryReverseGeocoded)\n\n const statusProps = getStatusDetails(status)\n const statusStyle = statusProps.style\n const statusColor = statusStyle.color\n const statusText = upperCase(statusProps.text)\n\n const createdTimezoneDateTime = getTimezoneDatetime({\n timestamp: createdAt,\n timezone,\n })\n const dueDateTimezoneDateTime = getTimezoneDatetime({\n timestamp: due,\n timezone,\n })\n const timezoneAbbrText = moment.tz(timezone).format('z')\n\n return {\n assigneeNames,\n authorFullName,\n createdTimezoneDateTime,\n description,\n dueDateTimezoneDateTime,\n locationText,\n statusStyle,\n statusColor,\n statusText,\n reference,\n timezoneAbbrText,\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,OAAOC,MAAM,MAAM,iBAAiB;AAEpC,SACEC,qBAAqB,EACrBC,yBAAyB,EACzBC,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,QACd,KAAK;AAEZ,OAAO,SAASC,aAAaA,CAACC,IAAI,EAAE;EAClC,IAAAC,YAAA,GAAyCD,IAAI,CAArCE,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAEE,QAAQ,GAAYH,IAAI,CAAxBG,QAAQ;IAAEC,KAAK,GAAKJ,IAAI,CAAdI,KAAK;EAEpC,IACEC,SAAS,GAQPH,MAAM,CARRG,SAAS;IACTC,MAAM,GAOJJ,MAAM,CAPRI,MAAM;IACNC,SAAS,GAMPL,MAAM,CANRK,SAAS;IAAAC,mBAAA,GAMPN,MAAM,CALRO,WAAW;IAAXA,WAAW,GAAAD,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IAChBE,GAAG,GAIDR,MAAM,CAJRQ,GAAG;IACHC,uBAAuB,GAGrBT,MAAM,CAHRS,uBAAuB;IAAAC,iBAAA,GAGrBV,MAAM,CAFRW,SAAS;IAATA,SAAS,GAAAD,iBAAA,cAAG,EAAE,GAAAA,iBAAA;IACdE,MAAM,GACJZ,MAAM,CADRY,MAAM;EAGR,IAAMC,aAAa,GAAGrB,qBAAqB,CAACU,KAAK,EAAEC,SAAS,CAAC;EAC7D,IAAMW,cAAc,GAAGnB,eAAe,CAACO,KAAK,EAAEE,MAAM,CAAC;EACrD,IAAMW,YAAY,GAAGtB,yBAAyB,CAACgB,uBAAuB,CAAC;EAEvE,IAAMO,WAAW,GAAGtB,gBAAgB,CAACkB,MAAM,CAAC;EAC5C,IAAMK,WAAW,GAAGD,WAAW,CAACE,KAAK;EACrC,IAAMC,WAAW,GAAGF,WAAW,CAACG,KAAK;EACrC,IAAMC,UAAU,GAAG/B,SAAS,CAAC0B,WAAW,CAACM,IAAI,CAAC;EAE9C,IAAMC,uBAAuB,GAAG3B,mBAAmB,CAAC;IAClD4B,SAAS,EAAEnB,SAAS;IACpBJ,QAAQ,EAARA;EACF,CAAC,CAAC;EACF,IAAMwB,uBAAuB,GAAG7B,mBAAmB,CAAC;IAClD4B,SAAS,EAAEhB,GAAG;IACdP,QAAQ,EAARA;EACF,CAAC,CAAC;EACF,IAAMyB,gBAAgB,GAAGnC,MAAM,CAACoC,EAAE,CAAC1B,QAAQ,CAAC,CAAC2B,MAAM,CAAC,GAAG,CAAC;EAExD,OAAO;IACLf,aAAa,EAAbA,aAAa;IACbC,cAAc,EAAdA,cAAc;IACdS,uBAAuB,EAAvBA,uBAAuB;IACvBhB,WAAW,EAAXA,WAAW;IACXkB,uBAAuB,EAAvBA,uBAAuB;IACvBV,YAAY,EAAZA,YAAY;IACZE,WAAW,EAAXA,WAAW;IACXE,WAAW,EAAXA,WAAW;IACXE,UAAU,EAAVA,UAAU;IACVV,SAAS,EAATA,SAAS;IACTe,gBAAgB,EAAhBA;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_lodash","require","_momentTimezone","_interopRequireDefault","_","getJobDetails","data","entity","timezone","users","assignees","author","createdAt","description","due","geometryReverseGeocoded","reference","status","assigneeNames","getAssigneesFullNames","authorFullName","getUserFullName","locationText","getGeometryGeocodedString","statusProps","getStatusDetails","statusStyle","style","statusColor","color","statusText","upperCase","text","createdTimezoneDateTime","getTimezoneDatetime","timestamp","dueDateTimezoneDateTime","timezoneAbbrText","moment","tz","format"],"sources":["../../../src/helpers/get-job-details/index.js"],"sourcesContent":["import { upperCase } from 'lodash'\r\nimport moment from 'moment-timezone'\r\n\r\nimport {\r\n getAssigneesFullNames,\r\n getGeometryGeocodedString,\r\n getStatusDetails,\r\n getUserFullName,\r\n getTimezoneDatetime,\r\n} from '../'\r\n\r\nexport function getJobDetails(data) {\r\n const { entity = {}, timezone, users } = data\r\n\r\n const {\r\n assignees,\r\n author,\r\n createdAt,\r\n description = '',\r\n due,\r\n geometryReverseGeocoded,\r\n reference = '',\r\n status,\r\n } = entity\r\n\r\n const assigneeNames = getAssigneesFullNames(users, assignees)\r\n const authorFullName = getUserFullName(users, author)\r\n const locationText = getGeometryGeocodedString(geometryReverseGeocoded)\r\n\r\n const statusProps = getStatusDetails(status)\r\n const statusStyle = statusProps.style\r\n const statusColor = statusStyle.color\r\n const statusText = upperCase(statusProps.text)\r\n\r\n const createdTimezoneDateTime = getTimezoneDatetime({\r\n timestamp: createdAt,\r\n timezone,\r\n })\r\n const dueDateTimezoneDateTime = getTimezoneDatetime({\r\n timestamp: due,\r\n timezone,\r\n })\r\n const timezoneAbbrText = moment.tz(timezone).format('z')\r\n\r\n return {\r\n assigneeNames,\r\n authorFullName,\r\n createdTimezoneDateTime,\r\n description,\r\n dueDateTimezoneDateTime,\r\n locationText,\r\n statusStyle,\r\n statusColor,\r\n statusText,\r\n reference,\r\n timezoneAbbrText,\r\n }\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,CAAA,GAAAH,OAAA;AAQO,SAASI,aAAaA,CAACC,IAAI,EAAE;EAClC,MAAM;IAAEC,MAAM,GAAG,CAAC,CAAC;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,IAAI;EAE7C,MAAM;IACJI,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,WAAW,GAAG,EAAE;IAChBC,GAAG;IACHC,uBAAuB;IACvBC,SAAS,GAAG,EAAE;IACdC;EACF,CAAC,GAAGV,MAAM;EAEV,MAAMW,aAAa,GAAG,IAAAC,uBAAqB,EAACV,KAAK,EAAEC,SAAS,CAAC;EAC7D,MAAMU,cAAc,GAAG,IAAAC,iBAAe,EAACZ,KAAK,EAAEE,MAAM,CAAC;EACrD,MAAMW,YAAY,GAAG,IAAAC,2BAAyB,EAACR,uBAAuB,CAAC;EAEvE,MAAMS,WAAW,GAAG,IAAAC,kBAAgB,EAACR,MAAM,CAAC;EAC5C,MAAMS,WAAW,GAAGF,WAAW,CAACG,KAAK;EACrC,MAAMC,WAAW,GAAGF,WAAW,CAACG,KAAK;EACrC,MAAMC,UAAU,GAAG,IAAAC,iBAAS,EAACP,WAAW,CAACQ,IAAI,CAAC;EAE9C,MAAMC,uBAAuB,GAAG,IAAAC,qBAAmB,EAAC;IAClDC,SAAS,EAAEvB,SAAS;IACpBJ;EACF,CAAC,CAAC;EACF,MAAM4B,uBAAuB,GAAG,IAAAF,qBAAmB,EAAC;IAClDC,SAAS,EAAErB,GAAG;IACdN;EACF,CAAC,CAAC;EACF,MAAM6B,gBAAgB,GAAGC,uBAAM,CAACC,EAAE,CAAC/B,QAAQ,CAAC,CAACgC,MAAM,CAAC,GAAG,CAAC;EAExD,OAAO;IACLtB,aAAa;IACbE,cAAc;IACda,uBAAuB;IACvBpB,WAAW;IACXuB,uBAAuB;IACvBd,YAAY;IACZI,WAAW;IACXE,WAAW;IACXE,UAAU;IACVd,SAAS;IACTqB;EACF,CAAC;AACH","ignoreList":[]}