@lighthouse/common 5.0.0-canary-11 → 5.0.0-canary-13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/helpers/build-fetch-url/index.js +2 -2
  2. package/dist/helpers/fetch-image/index.js +1 -1
  3. package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +9 -9
  4. package/dist/helpers/fetch-image-for-web/index.js +3 -14
  5. package/dist/helpers/get-audit-entry-details/index.js +2 -0
  6. package/dist/helpers/get-issue-details/index.js +2 -0
  7. package/dist/helpers/get-task-entry-details/index.js +3 -1
  8. package/dist/pdf/helpers/fields/index.js +2 -2
  9. package/dist/scheduling/scheduling.types.js +9 -9
  10. package/dist/service-hours/schema.js +12 -12
  11. package/lib/errors/DomainError.js +7 -8
  12. package/lib/errors/DomainError.js.map +1 -1
  13. package/lib/errors/ValidationError.js +11 -9
  14. package/lib/errors/ValidationError.js.map +1 -1
  15. package/lib/helpers/build-fetch-url/index.js +2 -2
  16. package/lib/helpers/build-fetch-url/index.js.map +1 -1
  17. package/lib/helpers/fetch-image/index.js +1 -1
  18. package/lib/helpers/fetch-image/index.js.map +1 -1
  19. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +174 -180
  20. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
  21. package/lib/helpers/fetch-image-for-web/index.js +60 -74
  22. package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
  23. package/lib/helpers/fetch-lighthouse-logo/index.js +41 -43
  24. package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
  25. package/lib/helpers/get-audit-entry-details/index.js +2 -0
  26. package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
  27. package/lib/helpers/get-audit-items-data/index.js +8 -8
  28. package/lib/helpers/get-audit-items-data/index.js.map +1 -1
  29. package/lib/helpers/get-issue-details/index.js +2 -0
  30. package/lib/helpers/get-issue-details/index.js.map +1 -1
  31. package/lib/helpers/get-job-details/index.js.map +1 -1
  32. package/lib/helpers/get-location-reference/index.js +6 -4
  33. package/lib/helpers/get-location-reference/index.js.map +1 -1
  34. package/lib/helpers/get-reference-details/index.js.map +1 -1
  35. package/lib/helpers/get-task-entry-details/index.js +3 -1
  36. package/lib/helpers/get-task-entry-details/index.js.map +1 -1
  37. package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
  38. package/lib/pdf/activity-report/index.js +299 -311
  39. package/lib/pdf/activity-report/index.js.map +1 -1
  40. package/lib/pdf/audit/index.js.map +1 -1
  41. package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
  42. package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
  43. package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
  44. package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
  45. package/lib/pdf/helpers/fields/index.js +14 -14
  46. package/lib/pdf/helpers/fields/index.js.map +1 -1
  47. package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
  48. package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
  49. package/lib/pdf/helpers/html-transformer/index.js +1 -2
  50. package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
  51. package/lib/pdf/helpers/table/index.js +63 -65
  52. package/lib/pdf/helpers/table/index.js.map +1 -1
  53. package/lib/pdf/issue/index.js.map +1 -1
  54. package/lib/pdf/job/index.js.map +1 -1
  55. package/lib/pdf/shift-report/index.js +275 -291
  56. package/lib/pdf/shift-report/index.js.map +1 -1
  57. package/lib/pdf/task/index.js.map +1 -1
  58. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +27 -30
  59. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
  60. package/lib/scheduling/generators/scheduleIntervalsGenerator.js +19 -21
  61. package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
  62. package/lib/scheduling/generators/serviceIntervalsGenerator.js +134 -136
  63. package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
  64. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +81 -83
  65. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
  66. package/lib/scheduling/helpers/generateRepeatingSchedule.js +104 -106
  67. package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
  68. package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
  69. package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
  70. package/lib/scheduling/scheduling.types.js +9 -9
  71. package/lib/scheduling/scheduling.types.js.map +1 -1
  72. package/lib/scheduling/strategies/getNext.js +21 -17
  73. package/lib/scheduling/strategies/getNext.js.map +1 -1
  74. package/lib/scheduling/strategies/getNextExactDateOfMonth.js +21 -18
  75. package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
  76. package/lib/scheduling/strategies/getNextLastDayOfMonth.js +20 -17
  77. package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
  78. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +20 -17
  79. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
  80. package/lib/scheduling/strategies/getNextNoRepeat.js +15 -14
  81. package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
  82. package/lib/scheduling/strategies/getNextWeekday.js +36 -33
  83. package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
  84. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +20 -17
  85. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
  86. package/lib/schema/schema.js +21 -23
  87. package/lib/schema/schema.js.map +1 -1
  88. package/lib/service-hours/schema.js +15 -13
  89. package/lib/service-hours/schema.js.map +1 -1
  90. package/package.json +2 -2
  91. package/yarn-error.log +0 -13549
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":["ValidationError","defaultValidateOptions","strict","stripUnknown","validate","_x","_validate","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","schema","data","_ref$options","options","wrap","_callee$","_context","prev","next","abrupt","sent","t0","stop"],"sources":["../../src/schema/schema.ts"],"sourcesContent":["import { Schema, ValidateOptions } from 'yup'\nimport { ValidationError } from '../errors'\n\nexport { ValidationError }\n\ninterface Validate {\n data: object\n options?: ValidateOptions\n schema: Schema<any>\n}\n\nconst defaultValidateOptions = {\n strict: true,\n stripUnknown: true,\n}\n\nexport async function validate({\n schema,\n data,\n options = defaultValidateOptions,\n}: Validate) {\n try {\n return await schema.validate(data, options)\n } catch (err) {\n throw new ValidationError({\n data: err,\n })\n }\n}\n\nexport default validate\n"],"mappings":";;AACA,SAASA,eAAe,QAAQ,WAAW;AAE3C,SAASA,eAAe;AAQxB,IAAMC,sBAAsB,GAAG;EAC7BC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE;AAChB,CAAC;AAED,gBAAsBC,QAAQA,CAAAC,EAAA;EAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAY7B,SAAAF,UAAA;EAAAA,SAAA,GAAAG,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAZM,SAAAC,QAAAC,IAAA;IAAA,IAAAC,MAAA,EAAAC,IAAA,EAAAC,YAAA,EAAAC,OAAA;IAAA,OAAAP,mBAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA;QAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACLR,MAAM,GAAAD,IAAA,CAANC,MAAM,EACNC,IAAI,GAAAF,IAAA,CAAJE,IAAI,EAAAC,YAAA,GAAAH,IAAA,CACJI,OAAO,EAAPA,OAAO,GAAAD,YAAA,cAAGf,sBAAsB,GAAAe,YAAA;YAAAI,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAGjBR,MAAM,CAACV,QAAQ,CAACW,IAAI,EAAEE,OAAO,CAAC;UAAA;YAAA,OAAAG,QAAA,CAAAG,MAAA,WAAAH,QAAA,CAAAI,IAAA;UAAA;YAAAJ,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAK,EAAA,GAAAL,QAAA;YAAA,MAErC,IAAIpB,eAAe,CAAC;cACxBe,IAAI,EAAAK,QAAA,CAAAK;YACN,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAL,QAAA,CAAAM,IAAA;QAAA;MAAA;IAAA,GAAAd,OAAA;EAAA,CAEL;EAAA,OAAAN,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,eAAeJ,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"schema.js","names":["ValidationError","defaultValidateOptions","strict","stripUnknown","validate","_x","_validate","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","schema","data","_ref$options","options","_t","wrap","_context","prev","next","abrupt","sent","stop"],"sources":["../../src/schema/schema.ts"],"sourcesContent":["import { Schema, ValidateOptions } from 'yup'\nimport { ValidationError } from '../errors'\n\nexport { ValidationError }\n\ninterface Validate {\n data: object\n options?: ValidateOptions\n schema: Schema<any>\n}\n\nconst defaultValidateOptions = {\n strict: true,\n stripUnknown: true,\n}\n\nexport async function validate({\n schema,\n data,\n options = defaultValidateOptions,\n}: Validate) {\n try {\n return await schema.validate(data, options)\n } catch (err) {\n throw new ValidationError({\n data: err,\n })\n }\n}\n\nexport default validate\n"],"mappings":";;AACA,SAASA,eAAe,QAAQ,WAAW;AAE3C,SAASA,eAAe;AAQxB,IAAMC,sBAAsB,GAAG;EAC7BC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE;AAChB,CAAC;AAED,gBAAsBC,QAAQA,CAAAC,EAAA;EAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAY7B,SAAAF,UAAA;EAAAA,SAAA,GAAAG,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAZM,SAAAC,QAAAC,IAAA;IAAA,IAAAC,MAAA,EAAAC,IAAA,EAAAC,YAAA,EAAAC,OAAA,EAAAC,EAAA;IAAA,OAAAR,mBAAA,CAAAS,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACLR,MAAM,GAAAD,IAAA,CAANC,MAAM,EACNC,IAAI,GAAAF,IAAA,CAAJE,IAAI,EAAAC,YAAA,GAAAH,IAAA,CACJI,OAAO,EAAPA,OAAO,GAAAD,YAAA,cAAGf,sBAAsB,GAAAe,YAAA;UAAAI,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAGjBR,MAAM,CAACV,QAAQ,CAACW,IAAI,EAAEE,OAAO,CAAC;QAAA;UAAA,OAAAG,QAAA,CAAAG,MAAA,WAAAH,QAAA,CAAAI,IAAA;QAAA;UAAAJ,QAAA,CAAAC,IAAA;UAAAH,EAAA,GAAAE,QAAA;UAAA,MAErC,IAAIpB,eAAe,CAAC;YACxBe,IAAI,EAAAG;UACN,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAE,QAAA,CAAAK,IAAA;MAAA;IAAA,GAAAb,OAAA;EAAA,CAEL;EAAA,OAAAN,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,eAAeJ,QAAQ","ignoreList":[]}
@@ -2,26 +2,25 @@ import { array, number, object, string } from 'yup';
2
2
  import { filter, first, isEmpty, isNil, last, orderBy, values } from 'lodash/fp';
3
3
  import { some } from 'lodash';
4
4
  var MAX_OFFSET_MS = 604800000;
5
- export var Behaviours;
6
- (function (Behaviours) {
5
+ export var Behaviours = /*#__PURE__*/function (Behaviours) {
7
6
  Behaviours["Open"] = "OPEN";
8
7
  Behaviours["Close"] = "CLOSE";
9
- })(Behaviours || (Behaviours = {}));
10
- export var Durations;
11
- (function (Durations) {
8
+ return Behaviours;
9
+ }({});
10
+ export var Durations = /*#__PURE__*/function (Durations) {
12
11
  Durations[Durations["Second"] = 1000] = "Second";
13
12
  Durations[Durations["Minute"] = 60000] = "Minute";
14
13
  Durations[Durations["Hour"] = 3600000] = "Hour";
15
14
  Durations[Durations["Day"] = 86400000] = "Day";
16
15
  Durations[Durations["Week"] = 604800000] = "Week";
17
- })(Durations || (Durations = {}));
18
- export var Types;
19
- (function (Types) {
16
+ return Durations;
17
+ }({});
18
+ export var Types = /*#__PURE__*/function (Types) {
20
19
  Types["Default"] = "DEFAULT";
21
20
  Types["Override"] = "OVERRIDE";
22
- })(Types || (Types = {}));
23
- export var Weekdays;
24
- (function (Weekdays) {
21
+ return Types;
22
+ }({});
23
+ export var Weekdays = /*#__PURE__*/function (Weekdays) {
25
24
  Weekdays["Monday"] = "MONDAY";
26
25
  Weekdays["Tuesday"] = "TUESDAY";
27
26
  Weekdays["Wednesday"] = "WEDNESDAY";
@@ -29,7 +28,8 @@ export var Weekdays;
29
28
  Weekdays["Friday"] = "FRIDAY";
30
29
  Weekdays["Saturday"] = "SATURDAY";
31
30
  Weekdays["Sunday"] = "SUNDAY";
32
- })(Weekdays || (Weekdays = {}));
31
+ return Weekdays;
32
+ }({});
33
33
  var hoursSchema = object({
34
34
  type: string().oneOf([Types.Default, Types.Override]).required(),
35
35
  start: number().min(0).required(),
@@ -95,7 +95,9 @@ export function validateOverlappingHours(options) {
95
95
  var _first = first(sortedHoursArr),
96
96
  firstStart = _first.start;
97
97
  var _last = last(sortedHoursArr),
98
- lastEnd = _last.end; // NOTE: default service hour values are invalid if the first start and
98
+ lastEnd = _last.end;
99
+
100
+ // NOTE: default service hour values are invalid if the first start and
99
101
  // last end exceed the MAX_OFFSET_MS which is a week
100
102
  var isRangeWithinWeek = lastEnd - firstStart <= MAX_OFFSET_MS;
101
103
  if (!isRangeWithinWeek) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":["array","number","object","string","filter","first","isEmpty","isNil","last","orderBy","values","some","MAX_OFFSET_MS","Behaviours","Durations","Types","Weekdays","hoursSchema","type","oneOf","Default","Override","required","start","min","end","when","endSchema","duration","integer","durationSchema","expectedDuration","message","max","description","behaviour","Open","Close","behaviourSchema","strip","schema","timezone","options","startWeekday","hours","of","test","value","defaultHours","hasOverlappingHours","validateOverlappingHours","hoursArr","overrideHours","isUnix","failingIndex","sortedHoursArr","_first","firstStart","_last","lastEnd","isRangeWithinWeek","thisHours","thisIndex","overlap","otherHours","otherIndex","thisStart","thisEnd","otherStart","otherEnd","isMatching","isWithin","overlappingStart","overlappingEnd"],"sources":["../../src/service-hours/schema.ts"],"sourcesContent":["import {\n array,\n number,\n object,\n string,\n NumberSchema,\n StringSchema,\n} from 'yup'\n\nimport { filter, first, isEmpty, isNil, last, orderBy, values } from 'lodash/fp'\nimport { some } from 'lodash'\n\nconst MAX_OFFSET_MS = 604800000\n\nexport enum Behaviours {\n Open = 'OPEN',\n Close = 'CLOSE',\n}\n\nexport enum Durations {\n Second = 1000,\n Minute = 60000,\n Hour = 3600000,\n Day = 86400000,\n Week = 604800000,\n}\n\nexport enum Types {\n Default = 'DEFAULT',\n Override = 'OVERRIDE',\n}\n\nexport enum Weekdays {\n Monday = 'MONDAY',\n Tuesday = 'TUESDAY',\n Wednesday = 'WEDNESDAY',\n Thursday = 'THURSDAY',\n Friday = 'FRIDAY',\n Saturday = 'SATURDAY',\n Sunday = 'SUNDAY',\n}\n\nexport interface DefaultHoursSchema {\n description?: string\n duration?: number\n end: number\n start: number\n type: Types\n}\n\nexport interface OverrideHoursSchema extends DefaultHoursSchema {\n behaviour: Behaviours\n}\n\nexport type HoursSchema = DefaultHoursSchema | OverrideHoursSchema\n\nexport interface Schema {\n hours: Array<HoursSchema>\n options?: object\n timezone: string\n}\n\nconst hoursSchema = object({\n type: string()\n .oneOf([Types.Default, Types.Override])\n .required(),\n start: number()\n .min(0)\n .required(),\n end: number()\n .min(0)\n .required()\n .when('start', (start: number, endSchema: NumberSchema) => {\n return endSchema.min(start)\n }),\n duration: number()\n .integer()\n .when(['start', 'end'], (start: number, end: number, durationSchema: NumberSchema) => {\n // NOTE This is a bit of a hack to check the exact value, but I can't find\n // an API to check the exact value of a number\n const expectedDuration = end - start\n const message = '${path} must be equal to ' + expectedDuration\n return durationSchema\n .min(expectedDuration, message)\n .max(expectedDuration, message)\n }),\n description: string(),\n behaviour: string()\n .oneOf([Behaviours.Open, Behaviours.Close])\n .when('type', (type: Types, behaviourSchema: StringSchema) => {\n return type === Types.Override ? behaviourSchema.required() : behaviourSchema.strip(true)\n }),\n})\n\nexport const schema = object({\n timezone: string()\n .required(),\n options: object({\n startWeekday: string()\n .oneOf(values(Weekdays))\n }),\n hours: array()\n .of(hoursSchema)\n .test('hasUndefinedHours', 'hours is a required field', value => !isNil(value))\n .test(\n 'hasOverlappingDefaultHours',\n 'default hours must not overlap',\n value => {\n const defaultHours = filter({ type: Types.Default }, value)\n const hasOverlappingHours = validateOverlappingHours({\n hoursArr: defaultHours,\n }) !== -1\n\n if (hasOverlappingHours) return false\n\n return true\n }\n )\n .test(\n 'hasOverlappingOverrideHours',\n 'override hours must not overlap',\n value => {\n const overrideHours = filter({ type: Types.Override }, value)\n const hasOverlappingHours = validateOverlappingHours({\n hoursArr: overrideHours,\n isUnix: true,\n }) !== -1\n\n if (hasOverlappingHours) return false\n\n return true\n }\n ),\n})\n\ninterface ValidateOverlappingHours {\n hoursArr: Array<HoursSchema>\n isUnix?: Boolean\n}\n\n/**\n * validateOverlappingHours\n * Validates that any hours do not overlap each other \n * Validates default hours are within a week range\n */\nexport function validateOverlappingHours(options: ValidateOverlappingHours): Number {\n const { hoursArr, isUnix } = options\n let failingIndex = -1\n\n if (isEmpty(hoursArr)) {\n return failingIndex\n }\n\n // NOTE: when default hours and not override hours\n if (!isUnix) {\n const sortedHoursArr = orderBy(['start', 'end'], ['asc', 'asc'], hoursArr)\n\n const { start: firstStart } = first(sortedHoursArr)\n const { end: lastEnd } = last(sortedHoursArr)\n\n // NOTE: default service hour values are invalid if the first start and\n // last end exceed the MAX_OFFSET_MS which is a week\n const isRangeWithinWeek = (lastEnd - firstStart) <= MAX_OFFSET_MS\n\n if (!isRangeWithinWeek) {\n failingIndex = 1\n return failingIndex\n }\n }\n\n some(hoursArr, (thisHours, thisIndex) => {\n const overlap = some(hoursArr, (otherHours, otherIndex) => {\n if (otherIndex === thisIndex) return false\n\n const { start: thisStart, end: thisEnd } = thisHours\n const { start: otherStart, end: otherEnd } = otherHours\n\n const isMatching = otherStart === thisStart && otherEnd === thisEnd\n const isWithin = thisStart > otherStart && thisEnd < otherEnd\n const overlappingStart = thisStart < otherStart && thisEnd > otherStart\n const overlappingEnd = thisStart < otherEnd && thisEnd > otherEnd\n\n return isMatching || isWithin || overlappingStart || overlappingEnd\n })\n\n if (overlap) {\n failingIndex = thisIndex\n return true\n }\n })\n\n return failingIndex\n}\n\nexport default schema\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"schema.js","names":["array","number","object","string","filter","first","isEmpty","isNil","last","orderBy","values","some","MAX_OFFSET_MS","Behaviours","Durations","Types","Weekdays","hoursSchema","type","oneOf","Default","Override","required","start","min","end","when","endSchema","duration","integer","durationSchema","expectedDuration","message","max","description","behaviour","Open","Close","behaviourSchema","strip","schema","timezone","options","startWeekday","hours","of","test","value","defaultHours","hasOverlappingHours","validateOverlappingHours","hoursArr","overrideHours","isUnix","failingIndex","sortedHoursArr","_first","firstStart","_last","lastEnd","isRangeWithinWeek","thisHours","thisIndex","overlap","otherHours","otherIndex","thisStart","thisEnd","otherStart","otherEnd","isMatching","isWithin","overlappingStart","overlappingEnd"],"sources":["../../src/service-hours/schema.ts"],"sourcesContent":["import {\n array,\n number,\n object,\n string,\n NumberSchema,\n StringSchema,\n} from 'yup'\n\nimport { filter, first, isEmpty, isNil, last, orderBy, values } from 'lodash/fp'\nimport { some } from 'lodash'\n\nconst MAX_OFFSET_MS = 604800000\n\nexport enum Behaviours {\n Open = 'OPEN',\n Close = 'CLOSE',\n}\n\nexport enum Durations {\n Second = 1000,\n Minute = 60000,\n Hour = 3600000,\n Day = 86400000,\n Week = 604800000,\n}\n\nexport enum Types {\n Default = 'DEFAULT',\n Override = 'OVERRIDE',\n}\n\nexport enum Weekdays {\n Monday = 'MONDAY',\n Tuesday = 'TUESDAY',\n Wednesday = 'WEDNESDAY',\n Thursday = 'THURSDAY',\n Friday = 'FRIDAY',\n Saturday = 'SATURDAY',\n Sunday = 'SUNDAY',\n}\n\nexport interface DefaultHoursSchema {\n description?: string\n duration?: number\n end: number\n start: number\n type: Types\n}\n\nexport interface OverrideHoursSchema extends DefaultHoursSchema {\n behaviour: Behaviours\n}\n\nexport type HoursSchema = DefaultHoursSchema | OverrideHoursSchema\n\nexport interface Schema {\n hours: Array<HoursSchema>\n options?: object\n timezone: string\n}\n\nconst hoursSchema = object({\n type: string()\n .oneOf([Types.Default, Types.Override])\n .required(),\n start: number()\n .min(0)\n .required(),\n end: number()\n .min(0)\n .required()\n .when('start', (start: number, endSchema: NumberSchema) => {\n return endSchema.min(start)\n }),\n duration: number()\n .integer()\n .when(['start', 'end'], (start: number, end: number, durationSchema: NumberSchema) => {\n // NOTE This is a bit of a hack to check the exact value, but I can't find\n // an API to check the exact value of a number\n const expectedDuration = end - start\n const message = '${path} must be equal to ' + expectedDuration\n return durationSchema\n .min(expectedDuration, message)\n .max(expectedDuration, message)\n }),\n description: string(),\n behaviour: string()\n .oneOf([Behaviours.Open, Behaviours.Close])\n .when('type', (type: Types, behaviourSchema: StringSchema) => {\n return type === Types.Override ? behaviourSchema.required() : behaviourSchema.strip(true)\n }),\n})\n\nexport const schema = object({\n timezone: string()\n .required(),\n options: object({\n startWeekday: string()\n .oneOf(values(Weekdays))\n }),\n hours: array()\n .of(hoursSchema)\n .test('hasUndefinedHours', 'hours is a required field', value => !isNil(value))\n .test(\n 'hasOverlappingDefaultHours',\n 'default hours must not overlap',\n value => {\n const defaultHours: HoursSchema[] = filter({ type: Types.Default }, value)\n const hasOverlappingHours = validateOverlappingHours({\n hoursArr: defaultHours,\n }) !== -1\n\n if (hasOverlappingHours) return false\n\n return true\n }\n )\n .test(\n 'hasOverlappingOverrideHours',\n 'override hours must not overlap',\n value => {\n const overrideHours: HoursSchema[] = filter({ type: Types.Override }, value)\n const hasOverlappingHours = validateOverlappingHours({\n hoursArr: overrideHours,\n isUnix: true,\n }) !== -1\n\n if (hasOverlappingHours) return false\n\n return true\n }\n ),\n})\n\ninterface ValidateOverlappingHours {\n hoursArr: Array<HoursSchema>\n isUnix?: Boolean\n}\n\n/**\n * validateOverlappingHours\n * Validates that any hours do not overlap each other \n * Validates default hours are within a week range\n */\nexport function validateOverlappingHours(options: ValidateOverlappingHours): Number {\n const { hoursArr, isUnix } = options\n let failingIndex = -1\n\n if (isEmpty(hoursArr)) {\n return failingIndex\n }\n\n // NOTE: when default hours and not override hours\n if (!isUnix) {\n const sortedHoursArr = orderBy(['start', 'end'], ['asc', 'asc'], hoursArr)\n\n const { start: firstStart } = first(sortedHoursArr)\n const { end: lastEnd } = last(sortedHoursArr)\n\n // NOTE: default service hour values are invalid if the first start and\n // last end exceed the MAX_OFFSET_MS which is a week\n const isRangeWithinWeek = (lastEnd - firstStart) <= MAX_OFFSET_MS\n\n if (!isRangeWithinWeek) {\n failingIndex = 1\n return failingIndex\n }\n }\n\n some(hoursArr, (thisHours, thisIndex) => {\n const overlap = some(hoursArr, (otherHours, otherIndex) => {\n if (otherIndex === thisIndex) return false\n\n const { start: thisStart, end: thisEnd } = thisHours\n const { start: otherStart, end: otherEnd } = otherHours\n\n const isMatching = otherStart === thisStart && otherEnd === thisEnd\n const isWithin = thisStart > otherStart && thisEnd < otherEnd\n const overlappingStart = thisStart < otherStart && thisEnd > otherStart\n const overlappingEnd = thisStart < otherEnd && thisEnd > otherEnd\n\n return isMatching || isWithin || overlappingStart || overlappingEnd\n })\n\n if (overlap) {\n failingIndex = thisIndex\n return true\n }\n })\n\n return failingIndex\n}\n\nexport default schema\n"],"mappings":"AAAA,SACEA,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,MAAM,QAGD,KAAK;AAEZ,SAASC,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,KAAK,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAChF,SAASC,IAAI,QAAQ,QAAQ;AAE7B,IAAMC,aAAa,GAAG,SAAS;AAE/B,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAKtB,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAQrB,WAAYC,KAAK,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA;AAKjB,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AA8BpB,IAAMC,WAAW,GAAGf,MAAM,CAAC;EACzBgB,IAAI,EAAEf,MAAM,CAAC,CAAC,CACXgB,KAAK,CAAC,CAACJ,KAAK,CAACK,OAAO,EAAEL,KAAK,CAACM,QAAQ,CAAC,CAAC,CACtCC,QAAQ,CAAC,CAAC;EACbC,KAAK,EAAEtB,MAAM,CAAC,CAAC,CACZuB,GAAG,CAAC,CAAC,CAAC,CACNF,QAAQ,CAAC,CAAC;EACbG,GAAG,EAAExB,MAAM,CAAC,CAAC,CACVuB,GAAG,CAAC,CAAC,CAAC,CACNF,QAAQ,CAAC,CAAC,CACVI,IAAI,CAAC,OAAO,EAAE,UAACH,KAAa,EAAEI,SAAuB,EAAK;IACzD,OAAOA,SAAS,CAACH,GAAG,CAACD,KAAK,CAAC;EAC7B,CAAC,CAAC;EACJK,QAAQ,EAAE3B,MAAM,CAAC,CAAC,CACf4B,OAAO,CAAC,CAAC,CACTH,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,UAACH,KAAa,EAAEE,GAAW,EAAEK,cAA4B,EAAK;IACpF;IACA;IACA,IAAMC,gBAAgB,GAAGN,GAAG,GAAGF,KAAK;IACpC,IAAMS,OAAO,GAAG,2BAA2B,GAAGD,gBAAgB;IAC9D,OAAOD,cAAc,CAClBN,GAAG,CAACO,gBAAgB,EAAEC,OAAO,CAAC,CAC9BC,GAAG,CAACF,gBAAgB,EAAEC,OAAO,CAAC;EACnC,CAAC,CAAC;EACJE,WAAW,EAAE/B,MAAM,CAAC,CAAC;EACrBgC,SAAS,EAAEhC,MAAM,CAAC,CAAC,CAChBgB,KAAK,CAAC,CAACN,UAAU,CAACuB,IAAI,EAAEvB,UAAU,CAACwB,KAAK,CAAC,CAAC,CAC1CX,IAAI,CAAC,MAAM,EAAE,UAACR,IAAW,EAAEoB,eAA6B,EAAK;IAC5D,OAAOpB,IAAI,KAAKH,KAAK,CAACM,QAAQ,GAAGiB,eAAe,CAAChB,QAAQ,CAAC,CAAC,GAAGgB,eAAe,CAACC,KAAK,CAAC,IAAI,CAAC;EAC3F,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,IAAMC,MAAM,GAAGtC,MAAM,CAAC;EAC3BuC,QAAQ,EAAEtC,MAAM,CAAC,CAAC,CACfmB,QAAQ,CAAC,CAAC;EACboB,OAAO,EAAExC,MAAM,CAAC;IACdyC,YAAY,EAAExC,MAAM,CAAC,CAAC,CACnBgB,KAAK,CAACT,MAAM,CAACM,QAAQ,CAAC;EAC3B,CAAC,CAAC;EACF4B,KAAK,EAAE5C,KAAK,CAAC,CAAC,CACX6C,EAAE,CAAC5B,WAAW,CAAC,CACf6B,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,UAAAC,KAAK;IAAA,OAAI,CAACxC,KAAK,CAACwC,KAAK,CAAC;EAAA,EAAC,CAC9ED,IAAI,CACH,4BAA4B,EAC5B,gCAAgC,EAChC,UAAAC,KAAK,EAAI;IACP,IAAMC,YAA2B,GAAG5C,MAAM,CAAC;MAAEc,IAAI,EAAEH,KAAK,CAACK;IAAQ,CAAC,EAAE2B,KAAK,CAAC;IAC1E,IAAME,mBAAmB,GAAGC,wBAAwB,CAAC;MACnDC,QAAQ,EAAEH;IACZ,CAAC,CAAC,KAAK,CAAC,CAAC;IAET,IAAIC,mBAAmB,EAAE,OAAO,KAAK;IAErC,OAAO,IAAI;EACb,CACF,CAAC,CACAH,IAAI,CACH,6BAA6B,EAC7B,iCAAiC,EACjC,UAAAC,KAAK,EAAI;IACP,IAAMK,aAA4B,GAAGhD,MAAM,CAAC;MAAEc,IAAI,EAAEH,KAAK,CAACM;IAAS,CAAC,EAAE0B,KAAK,CAAC;IAC5E,IAAME,mBAAmB,GAAGC,wBAAwB,CAAC;MACnDC,QAAQ,EAAEC,aAAa;MACvBC,MAAM,EAAE;IACV,CAAC,CAAC,KAAK,CAAC,CAAC;IAET,IAAIJ,mBAAmB,EAAE,OAAO,KAAK;IAErC,OAAO,IAAI;EACb,CACF;AACJ,CAAC,CAAC;AAOF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAACR,OAAiC,EAAU;EAClF,IAAQS,QAAQ,GAAaT,OAAO,CAA5BS,QAAQ;IAAEE,MAAM,GAAKX,OAAO,CAAlBW,MAAM;EACxB,IAAIC,YAAY,GAAG,CAAC,CAAC;EAErB,IAAIhD,OAAO,CAAC6C,QAAQ,CAAC,EAAE;IACrB,OAAOG,YAAY;EACrB;;EAEA;EACA,IAAI,CAACD,MAAM,EAAE;IACX,IAAME,cAAc,GAAG9C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE0C,QAAQ,CAAC;IAE1E,IAAAK,MAAA,GAA8BnD,KAAK,CAACkD,cAAc,CAAC;MAApCE,UAAU,GAAAD,MAAA,CAAjBjC,KAAK;IACb,IAAAmC,KAAA,GAAyBlD,IAAI,CAAC+C,cAAc,CAAC;MAAhCI,OAAO,GAAAD,KAAA,CAAZjC,GAAG;;IAEX;IACA;IACA,IAAMmC,iBAAiB,GAAID,OAAO,GAAGF,UAAU,IAAK7C,aAAa;IAEjE,IAAI,CAACgD,iBAAiB,EAAE;MACtBN,YAAY,GAAG,CAAC;MAChB,OAAOA,YAAY;IACrB;EACF;EAEA3C,IAAI,CAACwC,QAAQ,EAAE,UAACU,SAAS,EAAEC,SAAS,EAAK;IACvC,IAAMC,OAAO,GAAGpD,IAAI,CAACwC,QAAQ,EAAE,UAACa,UAAU,EAAEC,UAAU,EAAK;MACzD,IAAIA,UAAU,KAAKH,SAAS,EAAE,OAAO,KAAK;MAE1C,IAAeI,SAAS,GAAmBL,SAAS,CAA5CtC,KAAK;QAAkB4C,OAAO,GAAKN,SAAS,CAA1BpC,GAAG;MAC7B,IAAe2C,UAAU,GAAoBJ,UAAU,CAA/CzC,KAAK;QAAmB8C,QAAQ,GAAKL,UAAU,CAA5BvC,GAAG;MAE9B,IAAM6C,UAAU,GAAGF,UAAU,KAAKF,SAAS,IAAIG,QAAQ,KAAKF,OAAO;MACnE,IAAMI,QAAQ,GAAGL,SAAS,GAAGE,UAAU,IAAID,OAAO,GAAGE,QAAQ;MAC7D,IAAMG,gBAAgB,GAAGN,SAAS,GAAGE,UAAU,IAAID,OAAO,GAAGC,UAAU;MACvE,IAAMK,cAAc,GAAGP,SAAS,GAAGG,QAAQ,IAAIF,OAAO,GAAGE,QAAQ;MAEjE,OAAOC,UAAU,IAAIC,QAAQ,IAAIC,gBAAgB,IAAIC,cAAc;IACrE,CAAC,CAAC;IAEF,IAAIV,OAAO,EAAE;MACXT,YAAY,GAAGQ,SAAS;MACxB,OAAO,IAAI;IACb;EACF,CAAC,CAAC;EAEF,OAAOR,YAAY;AACrB;AAEA,eAAed,MAAM","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lighthouse/common",
3
- "version": "5.0.0-canary-11",
3
+ "version": "5.0.0-canary-13",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",
@@ -43,7 +43,7 @@
43
43
  "bluebird": "^3.7.2",
44
44
  "fetch-ponyfill": "^6.1.0",
45
45
  "lodash": "^4.17.15",
46
- "moment-timezone": "^0.5.28",
46
+ "moment-timezone": "0.5.28",
47
47
  "react-html-parser": "^2.0.2",
48
48
  "yup": "^0.27.0"
49
49
  },