@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 +1 @@
1
- {"version":3,"file":"generateNonRepeatingSchedule.js","names":["generateNonRepeatingSchedule","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","isEmpty","first","last","hasValidStartAndEnd","IntervalTypes","occurrenceIntervalsGenerator","serviceIntervalsGenerator","props","end","serviceHours","start","strategy","isStartAndEndValid","serviceIntervalSequence","hours","timezone","hasServiceHours","intervals","serviceIntervals","_i","_serviceIntervals","serviceInterval","occurrenceIntervalsSequence","_iterator","_step","occurrenceInterval","_t","_regeneratorRuntime","wrap","_context","prev","abrupt","_toConsumableArray","interval","type","Service","isInitial","Occurrence","finish","stop","_marked"],"sources":["../../../src/scheduling/helpers/generateNonRepeatingSchedule.ts"],"sourcesContent":["import { isEmpty, first, last } from 'lodash/fp'\n\nimport { hasValidStartAndEnd } from '.'\nimport { IntervalTypes, ScheduleIntervalsGenerator } from '../scheduling.types'\nimport {\n occurrenceIntervalsGenerator,\n serviceIntervalsGenerator,\n} from '../generators'\n\n/**\n * Generates non repeating schedule service and occurrence intervals\n */\nexport function* generateNonRepeatingSchedule(\n props: ScheduleIntervalsGenerator\n) {\n const { end, serviceHours, start, strategy } = props\n\n const isStartAndEndValid = hasValidStartAndEnd({ end, start })\n if (!isStartAndEndValid) return []\n\n const serviceIntervalSequence = serviceIntervalsGenerator({\n end,\n serviceHours,\n start,\n })\n\n const { hours, timezone } = serviceHours\n const hasServiceHours = !isEmpty(hours)\n const intervals = [...serviceIntervalSequence]\n\n // NOTE: when non repeating and has service hours the service interval is\n // from the first and last service interval otherwise from the start and end\n const serviceIntervals = !hasServiceHours\n ? [[start, end]]\n : !isEmpty(intervals)\n ? [[first(intervals)[0], last(intervals)[1]]]\n : []\n\n for (const serviceInterval of serviceIntervals) {\n yield { interval: serviceInterval, type: IntervalTypes.Service }\n\n const occurrenceIntervalsSequence = occurrenceIntervalsGenerator({\n // NOTE: as we only have one interval we should always set isInitial to\n // true\n isInitial: true,\n serviceInterval,\n strategy,\n timezone,\n })\n\n for (const occurrenceInterval of occurrenceIntervalsSequence) {\n yield { interval: occurrenceInterval, type: IntervalTypes.Occurrence }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"generateNonRepeatingSchedule.js","names":["_fp","require","_","_scheduling","_generators","generateNonRepeatingSchedule","props","end","serviceHours","start","strategy","isStartAndEndValid","hasValidStartAndEnd","serviceIntervalSequence","serviceIntervalsGenerator","hours","timezone","hasServiceHours","isEmpty","intervals","serviceIntervals","first","last","serviceInterval","interval","type","IntervalTypes","Service","occurrenceIntervalsSequence","occurrenceIntervalsGenerator","isInitial","occurrenceInterval","Occurrence"],"sources":["../../../src/scheduling/helpers/generateNonRepeatingSchedule.ts"],"sourcesContent":["import { isEmpty, first, last } from 'lodash/fp'\r\n\r\nimport { hasValidStartAndEnd } from '.'\r\nimport { IntervalTypes, ScheduleIntervalsGenerator } from '../scheduling.types'\r\nimport {\r\n occurrenceIntervalsGenerator,\r\n serviceIntervalsGenerator,\r\n} from '../generators'\r\n\r\n/**\r\n * Generates non repeating schedule service and occurrence intervals\r\n */\r\nexport function* generateNonRepeatingSchedule(\r\n props: ScheduleIntervalsGenerator\r\n) {\r\n const { end, serviceHours, start, strategy } = props\r\n\r\n const isStartAndEndValid = hasValidStartAndEnd({ end, start })\r\n if (!isStartAndEndValid) return []\r\n\r\n const serviceIntervalSequence = serviceIntervalsGenerator({\r\n end,\r\n serviceHours,\r\n start,\r\n })\r\n\r\n const { hours, timezone } = serviceHours\r\n const hasServiceHours = !isEmpty(hours)\r\n const intervals = [...serviceIntervalSequence]\r\n\r\n // NOTE: when non repeating and has service hours the service interval is\r\n // from the first and last service interval otherwise from the start and end\r\n const serviceIntervals = !hasServiceHours\r\n ? [[start, end]]\r\n : !isEmpty(intervals)\r\n ? [[first(intervals)[0], last(intervals)[1]]]\r\n : []\r\n\r\n for (const serviceInterval of serviceIntervals) {\r\n yield { interval: serviceInterval, type: IntervalTypes.Service }\r\n\r\n const occurrenceIntervalsSequence = occurrenceIntervalsGenerator({\r\n // NOTE: as we only have one interval we should always set isInitial to\r\n // true\r\n isInitial: true,\r\n serviceInterval,\r\n strategy,\r\n timezone,\r\n })\r\n\r\n for (const occurrenceInterval of occurrenceIntervalsSequence) {\r\n yield { interval: occurrenceInterval, type: IntervalTypes.Occurrence }\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAKA;AACA;AACA;AACO,UAAUI,4BAA4BA,CAC3CC,KAAiC,EACjC;EACA,MAAM;IAAEC,GAAG;IAAEC,YAAY;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EAEpD,MAAMK,kBAAkB,GAAG,IAAAC,qBAAmB,EAAC;IAAEL,GAAG;IAAEE;EAAM,CAAC,CAAC;EAC9D,IAAI,CAACE,kBAAkB,EAAE,OAAO,EAAE;EAElC,MAAME,uBAAuB,GAAG,IAAAC,qCAAyB,EAAC;IACxDP,GAAG;IACHC,YAAY;IACZC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEM,KAAK;IAAEC;EAAS,CAAC,GAAGR,YAAY;EACxC,MAAMS,eAAe,GAAG,CAAC,IAAAC,WAAO,EAACH,KAAK,CAAC;EACvC,MAAMI,SAAS,GAAG,CAAC,GAAGN,uBAAuB,CAAC;;EAE9C;EACA;EACA,MAAMO,gBAAgB,GAAG,CAACH,eAAe,GACrC,CAAC,CAACR,KAAK,EAAEF,GAAG,CAAC,CAAC,GACd,CAAC,IAAAW,WAAO,EAACC,SAAS,CAAC,GACnB,CAAC,CAAC,IAAAE,SAAK,EAACF,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAAG,QAAI,EAACH,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3C,EAAE;EAEN,KAAK,MAAMI,eAAe,IAAIH,gBAAgB,EAAE;IAC9C,MAAM;MAAEI,QAAQ,EAAED,eAAe;MAAEE,IAAI,EAAEC,yBAAa,CAACC;IAAQ,CAAC;IAEhE,MAAMC,2BAA2B,GAAG,IAAAC,wCAA4B,EAAC;MAC/D;MACA;MACAC,SAAS,EAAE,IAAI;MACfP,eAAe;MACfb,QAAQ;MACRM;IACF,CAAC,CAAC;IAEF,KAAK,MAAMe,kBAAkB,IAAIH,2BAA2B,EAAE;MAC5D,MAAM;QAAEJ,QAAQ,EAAEO,kBAAkB;QAAEN,IAAI,EAAEC,yBAAa,CAACM;MAAW,CAAC;IACxE;EACF;AACF","ignoreList":[]}
@@ -1,124 +1,85 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- var _marked = /*#__PURE__*/_regeneratorRuntime.mark(generateRepeatingSchedule);
4
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
5
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
6
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
- import { includes } from 'lodash/fp';
8
- import { generateScheduleEnd, hasValidStartAndEnd } from '.';
9
- import { IntervalTypes, Unit } from '../scheduling.types';
10
- import { occurrenceIntervalsGenerator, serviceIntervalsGenerator } from '../generators';
11
- export var complyingServiceIntervalUnits = [Unit.Second, Unit.Minute, Unit.Hour];
1
+ "use strict";
12
2
 
13
- /**
14
- * Generates repeating schedule service and occurrence intervals
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.complyingServiceIntervalUnits = void 0;
7
+ exports.generateRepeatingSchedule = generateRepeatingSchedule;
8
+ var _fp = require("lodash/fp");
9
+ var _ = require(".");
10
+ var _scheduling = require("../scheduling.types");
11
+ var _generators = require("../generators");
12
+ const complyingServiceIntervalUnits = exports.complyingServiceIntervalUnits = [_scheduling.Unit.Second, _scheduling.Unit.Minute, _scheduling.Unit.Hour];
13
+
14
+ /**
15
+ * Generates repeating schedule service and occurrence intervals
15
16
  */
16
- export function generateRepeatingSchedule(props) {
17
- var serviceHours, start, strategy, end, isInitial, frequency, frequencyUnit, timezone, isStartAndEndValid, serviceIntervalSequence, complyToServiceHours, serviceIntervals, _iterator, _step, serviceInterval, occurrenceIntervalsSequence, _iterator2, _step2, occurrenceInterval, _t, _t2;
18
- return _regeneratorRuntime.wrap(function (_context) {
19
- while (1) switch (_context.prev = _context.next) {
20
- case 0:
21
- serviceHours = props.serviceHours, start = props.start, strategy = props.strategy;
22
- end = props.end, isInitial = props.isInitial; // NOTE support never ending repeating schedule where no end date defined by
23
- // setting a custom end date using the frequency unit and value
24
- frequency = strategy.options.frequency;
25
- frequencyUnit = frequency.unit;
26
- timezone = serviceHours.timezone;
27
- end = end || generateScheduleEnd({
28
- frequency: frequency,
29
- start: start,
30
- timezone: timezone
31
- });
32
- isStartAndEndValid = hasValidStartAndEnd({
33
- end: end,
34
- start: start
35
- });
36
- if (isStartAndEndValid) {
37
- _context.next = 1;
38
- break;
39
- }
40
- return _context.abrupt("return", []);
41
- case 1:
42
- serviceIntervalSequence = serviceIntervalsGenerator({
43
- end: end,
44
- serviceHours: serviceHours,
45
- start: start
46
- }); // NOTE: when repeating and is complying to service hours we iterate through
47
- // all service intervals otherwise service interval is from the start and end
48
- complyToServiceHours = includes(frequencyUnit, complyingServiceIntervalUnits);
49
- serviceIntervals = complyToServiceHours ? _toConsumableArray(serviceIntervalSequence) : [[start, end]];
50
- _iterator = _createForOfIteratorHelper(serviceIntervals);
51
- _context.prev = 2;
52
- _iterator.s();
53
- case 3:
54
- if ((_step = _iterator.n()).done) {
55
- _context.next = 13;
56
- break;
57
- }
58
- serviceInterval = _step.value;
59
- _context.next = 4;
60
- return {
61
- interval: serviceInterval,
62
- type: IntervalTypes.Service
63
- };
64
- case 4:
65
- occurrenceIntervalsSequence = occurrenceIntervalsGenerator({
66
- isInitial: isInitial,
67
- serviceInterval: serviceInterval,
68
- strategy: strategy,
69
- timezone: timezone
70
- });
71
- _iterator2 = _createForOfIteratorHelper(occurrenceIntervalsSequence);
72
- _context.prev = 5;
73
- _iterator2.s();
74
- case 6:
75
- if ((_step2 = _iterator2.n()).done) {
76
- _context.next = 8;
77
- break;
78
- }
79
- occurrenceInterval = _step2.value;
80
- _context.next = 7;
81
- return {
82
- interval: occurrenceInterval,
83
- type: IntervalTypes.Occurrence
84
- };
85
- case 7:
86
- _context.next = 6;
87
- break;
88
- case 8:
89
- _context.next = 10;
90
- break;
91
- case 9:
92
- _context.prev = 9;
93
- _t = _context["catch"](5);
94
- _iterator2.e(_t);
95
- case 10:
96
- _context.prev = 10;
97
- _iterator2.f();
98
- return _context.finish(10);
99
- case 11:
100
- // NOTE: we must reset isInitial to true following the first service
101
- // interval otherwise the occurrence will not start exactly on the next
102
- // service interval start time
103
- isInitial = true;
104
- case 12:
105
- _context.next = 3;
106
- break;
107
- case 13:
108
- _context.next = 15;
109
- break;
110
- case 14:
111
- _context.prev = 14;
112
- _t2 = _context["catch"](2);
113
- _iterator.e(_t2);
114
- case 15:
115
- _context.prev = 15;
116
- _iterator.f();
117
- return _context.finish(15);
118
- case 16:
119
- case "end":
120
- return _context.stop();
17
+ function* generateRepeatingSchedule(props) {
18
+ const {
19
+ serviceHours,
20
+ start,
21
+ strategy
22
+ } = props;
23
+ let {
24
+ end,
25
+ isInitial
26
+ } = props;
27
+
28
+ // NOTE support never ending repeating schedule where no end date defined by
29
+ // setting a custom end date using the frequency unit and value
30
+ const {
31
+ options: {
32
+ frequency
121
33
  }
122
- }, _marked, null, [[2, 14, 15, 16], [5, 9, 10, 11]]);
34
+ } = strategy;
35
+ const {
36
+ unit: frequencyUnit
37
+ } = frequency;
38
+ const {
39
+ timezone
40
+ } = serviceHours;
41
+ end = end || (0, _.generateScheduleEnd)({
42
+ frequency,
43
+ start,
44
+ timezone
45
+ });
46
+ const isStartAndEndValid = (0, _.hasValidStartAndEnd)({
47
+ end,
48
+ start
49
+ });
50
+ if (!isStartAndEndValid) return [];
51
+ const serviceIntervalSequence = (0, _generators.serviceIntervalsGenerator)({
52
+ end,
53
+ serviceHours,
54
+ start
55
+ });
56
+
57
+ // NOTE: when repeating and is complying to service hours we iterate through
58
+ // all service intervals otherwise service interval is from the start and end
59
+ const complyToServiceHours = (0, _fp.includes)(frequencyUnit, complyingServiceIntervalUnits);
60
+ const serviceIntervals = complyToServiceHours ? [...serviceIntervalSequence] : [[start, end]];
61
+ for (const serviceInterval of serviceIntervals) {
62
+ yield {
63
+ interval: serviceInterval,
64
+ type: _scheduling.IntervalTypes.Service
65
+ };
66
+ const occurrenceIntervalsSequence = (0, _generators.occurrenceIntervalsGenerator)({
67
+ isInitial,
68
+ serviceInterval,
69
+ strategy,
70
+ timezone
71
+ });
72
+ for (const occurrenceInterval of occurrenceIntervalsSequence) {
73
+ yield {
74
+ interval: occurrenceInterval,
75
+ type: _scheduling.IntervalTypes.Occurrence
76
+ };
77
+ }
78
+
79
+ // NOTE: we must reset isInitial to true following the first service
80
+ // interval otherwise the occurrence will not start exactly on the next
81
+ // service interval start time
82
+ isInitial = true;
83
+ }
123
84
  }
124
85
  //# sourceMappingURL=generateRepeatingSchedule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateRepeatingSchedule.js","names":["generateRepeatingSchedule","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","includes","generateScheduleEnd","hasValidStartAndEnd","IntervalTypes","Unit","occurrenceIntervalsGenerator","serviceIntervalsGenerator","complyingServiceIntervalUnits","Second","Minute","Hour","props","serviceHours","start","strategy","end","isInitial","frequency","frequencyUnit","timezone","isStartAndEndValid","serviceIntervalSequence","complyToServiceHours","serviceIntervals","_iterator","_step","serviceInterval","occurrenceIntervalsSequence","_iterator2","_step2","occurrenceInterval","_t","_t2","_regeneratorRuntime","wrap","_context","prev","options","unit","abrupt","_toConsumableArray","interval","type","Service","Occurrence","finish","stop","_marked"],"sources":["../../../src/scheduling/helpers/generateRepeatingSchedule.ts"],"sourcesContent":["import { includes } from 'lodash/fp'\n\nimport { generateScheduleEnd, hasValidStartAndEnd } from '.'\nimport {\n IntervalTypes,\n ScheduleIntervalsGenerator,\n Unit,\n} from '../scheduling.types'\nimport {\n occurrenceIntervalsGenerator,\n serviceIntervalsGenerator,\n} from '../generators'\n\nexport const complyingServiceIntervalUnits = [\n Unit.Second,\n Unit.Minute,\n Unit.Hour,\n]\n\n/**\n * Generates repeating schedule service and occurrence intervals\n */\nexport function* generateRepeatingSchedule(props: ScheduleIntervalsGenerator) {\n const { serviceHours, start, strategy } = props\n let { end, isInitial } = props\n\n // NOTE support never ending repeating schedule where no end date defined by\n // setting a custom end date using the frequency unit and value\n const {\n options: { frequency },\n } = strategy\n const { unit: frequencyUnit } = frequency\n const { timezone } = serviceHours\n\n end = end || generateScheduleEnd({ frequency, start, timezone })\n\n const isStartAndEndValid = hasValidStartAndEnd({ end, start })\n\n if (!isStartAndEndValid) return []\n\n const serviceIntervalSequence = serviceIntervalsGenerator({\n end,\n serviceHours,\n start,\n })\n\n // NOTE: when repeating and is complying to service hours we iterate through\n // all service intervals otherwise service interval is from the start and end\n const complyToServiceHours = includes(\n frequencyUnit,\n complyingServiceIntervalUnits\n )\n\n const serviceIntervals = complyToServiceHours\n ? [...serviceIntervalSequence]\n : [[start, end]]\n\n for (const serviceInterval of serviceIntervals) {\n yield { interval: serviceInterval, type: IntervalTypes.Service }\n\n const occurrenceIntervalsSequence = occurrenceIntervalsGenerator({\n isInitial,\n serviceInterval,\n strategy,\n timezone,\n })\n\n for (const occurrenceInterval of occurrenceIntervalsSequence) {\n yield { interval: occurrenceInterval, type: IntervalTypes.Occurrence }\n }\n\n // NOTE: we must reset isInitial to true following the first service\n // interval otherwise the occurrence will not start exactly on the next\n // service interval start time\n isInitial = true\n }\n}\n"],"mappings":";;oDAsBiBA,yBAAyB;AAAA,SAAAC,2BAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,yBAAAC,MAAA,IAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,CAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,CAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,CAAA,IAAAD,CAAA,uBAAAA,CAAA,CAAAQ,MAAA,IAAAN,CAAA,KAAAF,CAAA,GAAAE,CAAA,OAAAO,EAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,WAAAH,EAAA,IAAAT,CAAA,CAAAQ,MAAA,KAAAK,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAAd,CAAA,CAAAS,EAAA,UAAAR,CAAA,WAAAA,EAAAD,CAAA,UAAAA,CAAA,KAAAe,CAAA,EAAAL,CAAA,gBAAAM,SAAA,iJAAAC,CAAA,EAAAC,CAAA,OAAAC,CAAA,gBAAAR,CAAA,WAAAA,EAAA,IAAAT,CAAA,GAAAA,CAAA,CAAAkB,IAAA,CAAApB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAZ,CAAA,GAAAE,CAAA,CAAAmB,IAAA,WAAAH,CAAA,GAAAlB,CAAA,CAAAa,IAAA,EAAAb,CAAA,KAAAC,CAAA,WAAAA,EAAAD,CAAA,IAAAmB,CAAA,OAAAF,CAAA,GAAAjB,CAAA,KAAAe,CAAA,WAAAA,EAAA,UAAAG,CAAA,YAAAhB,CAAA,CAAAoB,MAAA,IAAApB,CAAA,CAAAoB,MAAA,oBAAAH,CAAA,QAAAF,CAAA;AAAA,SAAAV,4BAAAP,CAAA,EAAAkB,CAAA,QAAAlB,CAAA,2BAAAA,CAAA,SAAAuB,iBAAA,CAAAvB,CAAA,EAAAkB,CAAA,OAAAhB,CAAA,MAAAsB,QAAA,CAAAJ,IAAA,CAAApB,CAAA,EAAAyB,KAAA,6BAAAvB,CAAA,IAAAF,CAAA,CAAA0B,WAAA,KAAAxB,CAAA,GAAAF,CAAA,CAAA0B,WAAA,CAAAC,IAAA,aAAAzB,CAAA,cAAAA,CAAA,GAAAG,KAAA,CAAAuB,IAAA,CAAA5B,CAAA,oBAAAE,CAAA,+CAAA2B,IAAA,CAAA3B,CAAA,IAAAqB,iBAAA,CAAAvB,CAAA,EAAAkB,CAAA;AAAA,SAAAK,kBAAAvB,CAAA,EAAAkB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAlB,CAAA,CAAAQ,MAAA,MAAAU,CAAA,GAAAlB,CAAA,CAAAQ,MAAA,YAAAP,CAAA,MAAAW,CAAA,GAAAP,KAAA,CAAAa,CAAA,GAAAjB,CAAA,GAAAiB,CAAA,EAAAjB,CAAA,IAAAW,CAAA,CAAAX,CAAA,IAAAD,CAAA,CAAAC,CAAA,UAAAW,CAAA;AAtB1C,SAASkB,QAAQ,QAAQ,WAAW;AAEpC,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,GAAG;AAC5D,SACEC,aAAa,EAEbC,IAAI,QACC,qBAAqB;AAC5B,SACEC,4BAA4B,EAC5BC,yBAAyB,QACpB,eAAe;AAEtB,OAAO,IAAMC,6BAA6B,GAAG,CAC3CH,IAAI,CAACI,MAAM,EACXJ,IAAI,CAACK,MAAM,EACXL,IAAI,CAACM,IAAI,CACV;;AAED;AACA;AACA;AACA,OAAO,SAAU1C,yBAAyBA,CAAC2C,KAAiC;EAAA,IAAAC,YAAA,EAAAC,KAAA,EAAAC,QAAA,EAAAC,GAAA,EAAAC,SAAA,EAAAC,SAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,kBAAA,EAAAC,uBAAA,EAAAC,oBAAA,EAAAC,gBAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,eAAA,EAAAC,2BAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAC,kBAAA,EAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,mBAAA,CAAAC,IAAA,WAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAA5C,IAAA;MAAA;QAClEqB,YAAY,GAAsBD,KAAK,CAAvCC,YAAY,EAAEC,KAAK,GAAeF,KAAK,CAAzBE,KAAK,EAAEC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ;QAC/BC,GAAG,GAAgBJ,KAAK,CAAxBI,GAAG,EAAEC,SAAS,GAAKL,KAAK,CAAnBK,SAAS,EAEpB;QACA;QAEaC,SAAS,GAClBH,QAAQ,CADVuB,OAAO,CAAIpB,SAAS;QAERC,aAAa,GAAKD,SAAS,CAAjCqB,IAAI;QACJnB,QAAQ,GAAKP,YAAY,CAAzBO,QAAQ;QAEhBJ,GAAG,GAAGA,GAAG,IAAId,mBAAmB,CAAC;UAAEgB,SAAS,EAATA,SAAS;UAAEJ,KAAK,EAALA,KAAK;UAAEM,QAAQ,EAARA;QAAS,CAAC,CAAC;QAE1DC,kBAAkB,GAAGlB,mBAAmB,CAAC;UAAEa,GAAG,EAAHA,GAAG;UAAEF,KAAK,EAALA;QAAM,CAAC,CAAC;QAAA,IAEzDO,kBAAkB;UAAAe,QAAA,CAAA5C,IAAA;UAAA;QAAA;QAAA,OAAA4C,QAAA,CAAAI,MAAA,WAAS,EAAE;MAAA;QAE5BlB,uBAAuB,GAAGf,yBAAyB,CAAC;UACxDS,GAAG,EAAHA,GAAG;UACHH,YAAY,EAAZA,YAAY;UACZC,KAAK,EAALA;QACF,CAAC,CAAC,EAEF;QACA;QACMS,oBAAoB,GAAGtB,QAAQ,CACnCkB,aAAa,EACbX,6BACF,CAAC;QAEKgB,gBAAgB,GAAGD,oBAAoB,GAAAkB,kBAAA,CACrCnB,uBAAuB,IAC3B,CAAC,CAACR,KAAK,EAAEE,GAAG,CAAC,CAAC;QAAAS,SAAA,GAAAvD,0BAAA,CAEYsD,gBAAgB;QAAAY,QAAA,CAAAC,IAAA;QAAAZ,SAAA,CAAA3C,CAAA;MAAA;QAAA,KAAA4C,KAAA,GAAAD,SAAA,CAAA1C,CAAA,IAAAC,IAAA;UAAAoD,QAAA,CAAA5C,IAAA;UAAA;QAAA;QAAnCmC,eAAe,GAAAD,KAAA,CAAAzC,KAAA;QAAAmD,QAAA,CAAA5C,IAAA;QACxB,OAAM;UAAEkD,QAAQ,EAAEf,eAAe;UAAEgB,IAAI,EAAEvC,aAAa,CAACwC;QAAQ,CAAC;MAAA;QAE1DhB,2BAA2B,GAAGtB,4BAA4B,CAAC;UAC/DW,SAAS,EAATA,SAAS;UACTU,eAAe,EAAfA,eAAe;UACfZ,QAAQ,EAARA,QAAQ;UACRK,QAAQ,EAARA;QACF,CAAC,CAAC;QAAAS,UAAA,GAAA3D,0BAAA,CAE+B0D,2BAA2B;QAAAQ,QAAA,CAAAC,IAAA;QAAAR,UAAA,CAAA/C,CAAA;MAAA;QAAA,KAAAgD,MAAA,GAAAD,UAAA,CAAA9C,CAAA,IAAAC,IAAA;UAAAoD,QAAA,CAAA5C,IAAA;UAAA;QAAA;QAAjDuC,kBAAkB,GAAAD,MAAA,CAAA7C,KAAA;QAAAmD,QAAA,CAAA5C,IAAA;QAC3B,OAAM;UAAEkD,QAAQ,EAAEX,kBAAkB;UAAEY,IAAI,EAAEvC,aAAa,CAACyC;QAAW,CAAC;MAAA;QAAAT,QAAA,CAAA5C,IAAA;QAAA;MAAA;QAAA4C,QAAA,CAAA5C,IAAA;QAAA;MAAA;QAAA4C,QAAA,CAAAC,IAAA;QAAAL,EAAA,GAAAI,QAAA;QAAAP,UAAA,CAAAzD,CAAA,CAAA4D,EAAA;MAAA;QAAAI,QAAA,CAAAC,IAAA;QAAAR,UAAA,CAAA3C,CAAA;QAAA,OAAAkD,QAAA,CAAAU,MAAA;MAAA;QAGxE;QACA;QACA;QACA7B,SAAS,GAAG,IAAI;MAAA;QAAAmB,QAAA,CAAA5C,IAAA;QAAA;MAAA;QAAA4C,QAAA,CAAA5C,IAAA;QAAA;MAAA;QAAA4C,QAAA,CAAAC,IAAA;QAAAJ,GAAA,GAAAG,QAAA;QAAAX,SAAA,CAAArD,CAAA,CAAA6D,GAAA;MAAA;QAAAG,QAAA,CAAAC,IAAA;QAAAZ,SAAA,CAAAvC,CAAA;QAAA,OAAAkD,QAAA,CAAAU,MAAA;MAAA;MAAA;QAAA,OAAAV,QAAA,CAAAW,IAAA;IAAA;EAAA,GAAAC,OAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"generateRepeatingSchedule.js","names":["_fp","require","_","_scheduling","_generators","complyingServiceIntervalUnits","exports","Unit","Second","Minute","Hour","generateRepeatingSchedule","props","serviceHours","start","strategy","end","isInitial","options","frequency","unit","frequencyUnit","timezone","generateScheduleEnd","isStartAndEndValid","hasValidStartAndEnd","serviceIntervalSequence","serviceIntervalsGenerator","complyToServiceHours","includes","serviceIntervals","serviceInterval","interval","type","IntervalTypes","Service","occurrenceIntervalsSequence","occurrenceIntervalsGenerator","occurrenceInterval","Occurrence"],"sources":["../../../src/scheduling/helpers/generateRepeatingSchedule.ts"],"sourcesContent":["import { includes } from 'lodash/fp'\r\n\r\nimport { generateScheduleEnd, hasValidStartAndEnd } from '.'\r\nimport {\r\n IntervalTypes,\r\n ScheduleIntervalsGenerator,\r\n Unit,\r\n} from '../scheduling.types'\r\nimport {\r\n occurrenceIntervalsGenerator,\r\n serviceIntervalsGenerator,\r\n} from '../generators'\r\n\r\nexport const complyingServiceIntervalUnits = [\r\n Unit.Second,\r\n Unit.Minute,\r\n Unit.Hour,\r\n]\r\n\r\n/**\r\n * Generates repeating schedule service and occurrence intervals\r\n */\r\nexport function* generateRepeatingSchedule(props: ScheduleIntervalsGenerator) {\r\n const { serviceHours, start, strategy } = props\r\n let { end, isInitial } = props\r\n\r\n // NOTE support never ending repeating schedule where no end date defined by\r\n // setting a custom end date using the frequency unit and value\r\n const {\r\n options: { frequency },\r\n } = strategy\r\n const { unit: frequencyUnit } = frequency\r\n const { timezone } = serviceHours\r\n\r\n end = end || generateScheduleEnd({ frequency, start, timezone })\r\n\r\n const isStartAndEndValid = hasValidStartAndEnd({ end, start })\r\n\r\n if (!isStartAndEndValid) return []\r\n\r\n const serviceIntervalSequence = serviceIntervalsGenerator({\r\n end,\r\n serviceHours,\r\n start,\r\n })\r\n\r\n // NOTE: when repeating and is complying to service hours we iterate through\r\n // all service intervals otherwise service interval is from the start and end\r\n const complyToServiceHours = includes(\r\n frequencyUnit,\r\n complyingServiceIntervalUnits\r\n )\r\n\r\n const serviceIntervals = complyToServiceHours\r\n ? [...serviceIntervalSequence]\r\n : [[start, end]]\r\n\r\n for (const serviceInterval of serviceIntervals) {\r\n yield { interval: serviceInterval, type: IntervalTypes.Service }\r\n\r\n const occurrenceIntervalsSequence = occurrenceIntervalsGenerator({\r\n isInitial,\r\n serviceInterval,\r\n strategy,\r\n timezone,\r\n })\r\n\r\n for (const occurrenceInterval of occurrenceIntervalsSequence) {\r\n yield { interval: occurrenceInterval, type: IntervalTypes.Occurrence }\r\n }\r\n\r\n // NOTE: we must reset isInitial to true following the first service\r\n // interval otherwise the occurrence will not start exactly on the next\r\n // service interval start time\r\n isInitial = true\r\n }\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAKO,MAAMI,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,CAC3CE,gBAAI,CAACC,MAAM,EACXD,gBAAI,CAACE,MAAM,EACXF,gBAAI,CAACG,IAAI,CACV;;AAED;AACA;AACA;AACO,UAAUC,yBAAyBA,CAACC,KAAiC,EAAE;EAC5E,MAAM;IAAEC,YAAY;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC/C,IAAI;IAAEI,GAAG;IAAEC;EAAU,CAAC,GAAGL,KAAK;;EAE9B;EACA;EACA,MAAM;IACJM,OAAO,EAAE;MAAEC;IAAU;EACvB,CAAC,GAAGJ,QAAQ;EACZ,MAAM;IAAEK,IAAI,EAAEC;EAAc,CAAC,GAAGF,SAAS;EACzC,MAAM;IAAEG;EAAS,CAAC,GAAGT,YAAY;EAEjCG,GAAG,GAAGA,GAAG,IAAI,IAAAO,qBAAmB,EAAC;IAAEJ,SAAS;IAAEL,KAAK;IAAEQ;EAAS,CAAC,CAAC;EAEhE,MAAME,kBAAkB,GAAG,IAAAC,qBAAmB,EAAC;IAAET,GAAG;IAAEF;EAAM,CAAC,CAAC;EAE9D,IAAI,CAACU,kBAAkB,EAAE,OAAO,EAAE;EAElC,MAAME,uBAAuB,GAAG,IAAAC,qCAAyB,EAAC;IACxDX,GAAG;IACHH,YAAY;IACZC;EACF,CAAC,CAAC;;EAEF;EACA;EACA,MAAMc,oBAAoB,GAAG,IAAAC,YAAQ,EACnCR,aAAa,EACbhB,6BACF,CAAC;EAED,MAAMyB,gBAAgB,GAAGF,oBAAoB,GACzC,CAAC,GAAGF,uBAAuB,CAAC,GAC5B,CAAC,CAACZ,KAAK,EAAEE,GAAG,CAAC,CAAC;EAElB,KAAK,MAAMe,eAAe,IAAID,gBAAgB,EAAE;IAC9C,MAAM;MAAEE,QAAQ,EAAED,eAAe;MAAEE,IAAI,EAAEC,yBAAa,CAACC;IAAQ,CAAC;IAEhE,MAAMC,2BAA2B,GAAG,IAAAC,wCAA4B,EAAC;MAC/DpB,SAAS;MACTc,eAAe;MACfhB,QAAQ;MACRO;IACF,CAAC,CAAC;IAEF,KAAK,MAAMgB,kBAAkB,IAAIF,2BAA2B,EAAE;MAC5D,MAAM;QAAEJ,QAAQ,EAAEM,kBAAkB;QAAEL,IAAI,EAAEC,yBAAa,CAACK;MAAW,CAAC;IACxE;;IAEA;IACA;IACA;IACAtB,SAAS,GAAG,IAAI;EAClB;AACF","ignoreList":[]}
@@ -1,22 +1,32 @@
1
- import { includes } from 'lodash/fp';
2
- import moment from 'moment-timezone';
3
- import { Unit } from '../scheduling.types';
4
- /**
5
- * Generates a schedule end datetime based on the start and frequency
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.generateScheduleEnd = generateScheduleEnd;
8
+ var _fp = require("lodash/fp");
9
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
10
+ var _scheduling = require("../scheduling.types");
11
+ /**
12
+ * Generates a schedule end datetime based on the start and frequency
6
13
  */
7
- export function generateScheduleEnd(_ref) {
8
- var frequency = _ref.frequency,
9
- start = _ref.start,
10
- timezone = _ref.timezone;
11
- var frequencyUnit = frequency.unit,
12
- frequencyValue = frequency.value;
13
- var isFrequencyLessThanWeek = includes(frequencyUnit, [Unit.Millisecond, Unit.Second, Unit.Minute, Unit.Hour, Unit.Day]);
14
- var mStart = moment.tz(start, timezone);
14
+ function generateScheduleEnd({
15
+ frequency,
16
+ start,
17
+ timezone
18
+ }) {
19
+ const {
20
+ unit: frequencyUnit,
21
+ value: frequencyValue
22
+ } = frequency;
23
+ const isFrequencyLessThanWeek = (0, _fp.includes)(frequencyUnit, [_scheduling.Unit.Millisecond, _scheduling.Unit.Second, _scheduling.Unit.Minute, _scheduling.Unit.Hour, _scheduling.Unit.Day]);
24
+ const mStart = _momentTimezone.default.tz(start, timezone);
15
25
 
16
26
  // NOTE: if frequency unit less than a week we must set end to jump a week
17
27
  // plus the interval length of the schedule frequency
18
28
  // so that we can ensure that we are within a service interval
19
- var end = isFrequencyLessThanWeek ? mStart.add(2, Unit.Week).valueOf() : mStart.add(frequencyValue * 2, frequencyUnit).valueOf();
29
+ const end = isFrequencyLessThanWeek ? mStart.add(2, _scheduling.Unit.Week).valueOf() : mStart.add(frequencyValue * 2, frequencyUnit).valueOf();
20
30
  return end;
21
31
  }
22
32
  //# sourceMappingURL=generateScheduleEnd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateScheduleEnd.js","names":["includes","moment","Unit","generateScheduleEnd","_ref","frequency","start","timezone","frequencyUnit","unit","frequencyValue","value","isFrequencyLessThanWeek","Millisecond","Second","Minute","Hour","Day","mStart","tz","end","add","Week","valueOf"],"sources":["../../../src/scheduling/helpers/generateScheduleEnd.ts"],"sourcesContent":["import { includes } from 'lodash/fp'\nimport moment from 'moment-timezone'\n\nimport { Period, Unit } from '../scheduling.types'\n\ninterface GenerateScheduleEnd {\n readonly frequency: Period\n readonly start: number\n readonly timezone: string\n}\n\n/**\n * Generates a schedule end datetime based on the start and frequency\n */\nexport function generateScheduleEnd({\n frequency,\n start,\n timezone,\n}: GenerateScheduleEnd): number {\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n const isFrequencyLessThanWeek = includes(frequencyUnit, [\n Unit.Millisecond,\n Unit.Second,\n Unit.Minute,\n Unit.Hour,\n Unit.Day,\n ])\n\n const mStart = moment.tz(start, timezone)\n\n // NOTE: if frequency unit less than a week we must set end to jump a week\n // plus the interval length of the schedule frequency\n // so that we can ensure that we are within a service interval\n const end = isFrequencyLessThanWeek\n ? mStart.add(2, Unit.Week).valueOf()\n : mStart.add(frequencyValue * 2, frequencyUnit).valueOf()\n\n return end\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,WAAW;AACpC,OAAOC,MAAM,MAAM,iBAAiB;AAEpC,SAAiBC,IAAI,QAAQ,qBAAqB;AAQlD;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAAC,IAAA,EAIH;EAAA,IAH9BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAER,IAAcC,aAAa,GAA4BH,SAAS,CAAxDI,IAAI;IAAwBC,cAAc,GAAKL,SAAS,CAAnCM,KAAK;EAElC,IAAMC,uBAAuB,GAAGZ,QAAQ,CAACQ,aAAa,EAAE,CACtDN,IAAI,CAACW,WAAW,EAChBX,IAAI,CAACY,MAAM,EACXZ,IAAI,CAACa,MAAM,EACXb,IAAI,CAACc,IAAI,EACTd,IAAI,CAACe,GAAG,CACT,CAAC;EAEF,IAAMC,MAAM,GAAGjB,MAAM,CAACkB,EAAE,CAACb,KAAK,EAAEC,QAAQ,CAAC;;EAEzC;EACA;EACA;EACA,IAAMa,GAAG,GAAGR,uBAAuB,GAC/BM,MAAM,CAACG,GAAG,CAAC,CAAC,EAAEnB,IAAI,CAACoB,IAAI,CAAC,CAACC,OAAO,CAAC,CAAC,GAClCL,MAAM,CAACG,GAAG,CAACX,cAAc,GAAG,CAAC,EAAEF,aAAa,CAAC,CAACe,OAAO,CAAC,CAAC;EAE3D,OAAOH,GAAG;AACZ","ignoreList":[]}
1
+ {"version":3,"file":"generateScheduleEnd.js","names":["_fp","require","_momentTimezone","_interopRequireDefault","_scheduling","generateScheduleEnd","frequency","start","timezone","unit","frequencyUnit","value","frequencyValue","isFrequencyLessThanWeek","includes","Unit","Millisecond","Second","Minute","Hour","Day","mStart","moment","tz","end","add","Week","valueOf"],"sources":["../../../src/scheduling/helpers/generateScheduleEnd.ts"],"sourcesContent":["import { includes } from 'lodash/fp'\r\nimport moment from 'moment-timezone'\r\n\r\nimport { Period, Unit } from '../scheduling.types'\r\n\r\ninterface GenerateScheduleEnd {\r\n readonly frequency: Period\r\n readonly start: number\r\n readonly timezone: string\r\n}\r\n\r\n/**\r\n * Generates a schedule end datetime based on the start and frequency\r\n */\r\nexport function generateScheduleEnd({\r\n frequency,\r\n start,\r\n timezone,\r\n}: GenerateScheduleEnd): number {\r\n const { unit: frequencyUnit, value: frequencyValue } = frequency\r\n\r\n const isFrequencyLessThanWeek = includes(frequencyUnit, [\r\n Unit.Millisecond,\r\n Unit.Second,\r\n Unit.Minute,\r\n Unit.Hour,\r\n Unit.Day,\r\n ])\r\n\r\n const mStart = moment.tz(start, timezone)\r\n\r\n // NOTE: if frequency unit less than a week we must set end to jump a week\r\n // plus the interval length of the schedule frequency\r\n // so that we can ensure that we are within a service interval\r\n const end = isFrequencyLessThanWeek\r\n ? mStart.add(2, Unit.Week).valueOf()\r\n : mStart.add(frequencyValue * 2, frequencyUnit).valueOf()\r\n\r\n return end\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAQA;AACA;AACA;AACO,SAASI,mBAAmBA,CAAC;EAClCC,SAAS;EACTC,KAAK;EACLC;AACmB,CAAC,EAAU;EAC9B,MAAM;IAAEC,IAAI,EAAEC,aAAa;IAAEC,KAAK,EAAEC;EAAe,CAAC,GAAGN,SAAS;EAEhE,MAAMO,uBAAuB,GAAG,IAAAC,YAAQ,EAACJ,aAAa,EAAE,CACtDK,gBAAI,CAACC,WAAW,EAChBD,gBAAI,CAACE,MAAM,EACXF,gBAAI,CAACG,MAAM,EACXH,gBAAI,CAACI,IAAI,EACTJ,gBAAI,CAACK,GAAG,CACT,CAAC;EAEF,MAAMC,MAAM,GAAGC,uBAAM,CAACC,EAAE,CAAChB,KAAK,EAAEC,QAAQ,CAAC;;EAEzC;EACA;EACA;EACA,MAAMgB,GAAG,GAAGX,uBAAuB,GAC/BQ,MAAM,CAACI,GAAG,CAAC,CAAC,EAAEV,gBAAI,CAACW,IAAI,CAAC,CAACC,OAAO,CAAC,CAAC,GAClCN,MAAM,CAACI,GAAG,CAACb,cAAc,GAAG,CAAC,EAAEF,aAAa,CAAC,CAACiB,OAAO,CAAC,CAAC;EAE3D,OAAOH,GAAG;AACZ","ignoreList":[]}
@@ -1,17 +1,25 @@
1
- import moment from 'moment-timezone';
2
- /**
3
- * Checks if start and end are valid datetimes
4
- *
5
- * hasValidStartAndEnd({ end: 1566970473988, start: 1566970464839 })
6
- * returns true
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.hasValidStartAndEnd = hasValidStartAndEnd;
8
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
9
+ /**
10
+ * Checks if start and end are valid datetimes
11
+ *
12
+ * hasValidStartAndEnd({ end: 1566970473988, start: 1566970464839 })
13
+ * returns true
7
14
  */
8
- export function hasValidStartAndEnd(_ref) {
9
- var start = _ref.start,
10
- end = _ref.end;
15
+ function hasValidStartAndEnd({
16
+ start,
17
+ end
18
+ }) {
11
19
  if (!start || !end) return false;
12
20
  if (end <= start) return false;
13
- var hasValidEnd = moment.utc(end).isValid();
14
- var hasValidStart = moment.utc(start).isValid();
21
+ const hasValidEnd = _momentTimezone.default.utc(end).isValid();
22
+ const hasValidStart = _momentTimezone.default.utc(start).isValid();
15
23
  if (!hasValidEnd || !hasValidStart) return false;
16
24
  return true;
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hasValidStartAndEnd.js","names":["moment","hasValidStartAndEnd","_ref","start","end","hasValidEnd","utc","isValid","hasValidStart"],"sources":["../../../src/scheduling/helpers/hasValidStartAndEnd.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\ninterface HasValidStartAndEnd {\n readonly end: number\n readonly start: number\n}\n\n/**\n * Checks if start and end are valid datetimes\n *\n * hasValidStartAndEnd({ end: 1566970473988, start: 1566970464839 })\n * returns true\n */\nexport function hasValidStartAndEnd({\n start,\n end,\n}: HasValidStartAndEnd): Boolean {\n if (!start || !end) return false\n if (end <= start) return false\n\n const hasValidEnd: boolean = moment.utc(end).isValid()\n const hasValidStart: boolean = moment.utc(start).isValid()\n\n if (!hasValidEnd || !hasValidStart) return false\n\n return true\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAOpC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAAC,IAAA,EAGF;EAAA,IAF/BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;EAEH,IAAI,CAACD,KAAK,IAAI,CAACC,GAAG,EAAE,OAAO,KAAK;EAChC,IAAIA,GAAG,IAAID,KAAK,EAAE,OAAO,KAAK;EAE9B,IAAME,WAAoB,GAAGL,MAAM,CAACM,GAAG,CAACF,GAAG,CAAC,CAACG,OAAO,CAAC,CAAC;EACtD,IAAMC,aAAsB,GAAGR,MAAM,CAACM,GAAG,CAACH,KAAK,CAAC,CAACI,OAAO,CAAC,CAAC;EAE1D,IAAI,CAACF,WAAW,IAAI,CAACG,aAAa,EAAE,OAAO,KAAK;EAEhD,OAAO,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"file":"hasValidStartAndEnd.js","names":["_momentTimezone","_interopRequireDefault","require","hasValidStartAndEnd","start","end","hasValidEnd","moment","utc","isValid","hasValidStart"],"sources":["../../../src/scheduling/helpers/hasValidStartAndEnd.ts"],"sourcesContent":["import moment from 'moment-timezone'\r\n\r\ninterface HasValidStartAndEnd {\r\n readonly end: number\r\n readonly start: number\r\n}\r\n\r\n/**\r\n * Checks if start and end are valid datetimes\r\n *\r\n * hasValidStartAndEnd({ end: 1566970473988, start: 1566970464839 })\r\n * returns true\r\n */\r\nexport function hasValidStartAndEnd({\r\n start,\r\n end,\r\n}: HasValidStartAndEnd): Boolean {\r\n if (!start || !end) return false\r\n if (end <= start) return false\r\n\r\n const hasValidEnd: boolean = moment.utc(end).isValid()\r\n const hasValidStart: boolean = moment.utc(start).isValid()\r\n\r\n if (!hasValidEnd || !hasValidStart) return false\r\n\r\n return true\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAC;EAClCC,KAAK;EACLC;AACmB,CAAC,EAAW;EAC/B,IAAI,CAACD,KAAK,IAAI,CAACC,GAAG,EAAE,OAAO,KAAK;EAChC,IAAIA,GAAG,IAAID,KAAK,EAAE,OAAO,KAAK;EAE9B,MAAME,WAAoB,GAAGC,uBAAM,CAACC,GAAG,CAACH,GAAG,CAAC,CAACI,OAAO,CAAC,CAAC;EACtD,MAAMC,aAAsB,GAAGH,uBAAM,CAACC,GAAG,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAC,CAAC;EAE1D,IAAI,CAACH,WAAW,IAAI,CAACI,aAAa,EAAE,OAAO,KAAK;EAEhD,OAAO,IAAI;AACb","ignoreList":[]}
@@ -1,15 +1,160 @@
1
- export * from './convertToTimezone';
2
- export * from './generateNonRepeatingSchedule';
3
- export * from './generateRepeatingSchedule';
4
- export * from './generateScheduleEnd';
5
- export * from './hasValidStartAndEnd';
6
- export * from './intervalCovers';
7
- export * from './intervalIntersectsEnd';
8
- export * from './intervalIntersectsStart';
9
- export * from './intervalOnlyIntersectsEnd';
10
- export * from './intervalOnlyIntersectsStart';
11
- export * from './intervalOutside';
12
- export * from './intervalWithin';
13
- export * from './mergeIntervals';
14
- export * from './splitIntervals';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _convertToTimezone = require("./convertToTimezone");
7
+ Object.keys(_convertToTimezone).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _convertToTimezone[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _convertToTimezone[key];
14
+ }
15
+ });
16
+ });
17
+ var _generateNonRepeatingSchedule = require("./generateNonRepeatingSchedule");
18
+ Object.keys(_generateNonRepeatingSchedule).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _generateNonRepeatingSchedule[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _generateNonRepeatingSchedule[key];
25
+ }
26
+ });
27
+ });
28
+ var _generateRepeatingSchedule = require("./generateRepeatingSchedule");
29
+ Object.keys(_generateRepeatingSchedule).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _generateRepeatingSchedule[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _generateRepeatingSchedule[key];
36
+ }
37
+ });
38
+ });
39
+ var _generateScheduleEnd = require("./generateScheduleEnd");
40
+ Object.keys(_generateScheduleEnd).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _generateScheduleEnd[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _generateScheduleEnd[key];
47
+ }
48
+ });
49
+ });
50
+ var _hasValidStartAndEnd = require("./hasValidStartAndEnd");
51
+ Object.keys(_hasValidStartAndEnd).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _hasValidStartAndEnd[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _hasValidStartAndEnd[key];
58
+ }
59
+ });
60
+ });
61
+ var _intervalCovers = require("./intervalCovers");
62
+ Object.keys(_intervalCovers).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _intervalCovers[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _intervalCovers[key];
69
+ }
70
+ });
71
+ });
72
+ var _intervalIntersectsEnd = require("./intervalIntersectsEnd");
73
+ Object.keys(_intervalIntersectsEnd).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _intervalIntersectsEnd[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _intervalIntersectsEnd[key];
80
+ }
81
+ });
82
+ });
83
+ var _intervalIntersectsStart = require("./intervalIntersectsStart");
84
+ Object.keys(_intervalIntersectsStart).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _intervalIntersectsStart[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _intervalIntersectsStart[key];
91
+ }
92
+ });
93
+ });
94
+ var _intervalOnlyIntersectsEnd = require("./intervalOnlyIntersectsEnd");
95
+ Object.keys(_intervalOnlyIntersectsEnd).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _intervalOnlyIntersectsEnd[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _intervalOnlyIntersectsEnd[key];
102
+ }
103
+ });
104
+ });
105
+ var _intervalOnlyIntersectsStart = require("./intervalOnlyIntersectsStart");
106
+ Object.keys(_intervalOnlyIntersectsStart).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _intervalOnlyIntersectsStart[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _intervalOnlyIntersectsStart[key];
113
+ }
114
+ });
115
+ });
116
+ var _intervalOutside = require("./intervalOutside");
117
+ Object.keys(_intervalOutside).forEach(function (key) {
118
+ if (key === "default" || key === "__esModule") return;
119
+ if (key in exports && exports[key] === _intervalOutside[key]) return;
120
+ Object.defineProperty(exports, key, {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _intervalOutside[key];
124
+ }
125
+ });
126
+ });
127
+ var _intervalWithin = require("./intervalWithin");
128
+ Object.keys(_intervalWithin).forEach(function (key) {
129
+ if (key === "default" || key === "__esModule") return;
130
+ if (key in exports && exports[key] === _intervalWithin[key]) return;
131
+ Object.defineProperty(exports, key, {
132
+ enumerable: true,
133
+ get: function () {
134
+ return _intervalWithin[key];
135
+ }
136
+ });
137
+ });
138
+ var _mergeIntervals = require("./mergeIntervals");
139
+ Object.keys(_mergeIntervals).forEach(function (key) {
140
+ if (key === "default" || key === "__esModule") return;
141
+ if (key in exports && exports[key] === _mergeIntervals[key]) return;
142
+ Object.defineProperty(exports, key, {
143
+ enumerable: true,
144
+ get: function () {
145
+ return _mergeIntervals[key];
146
+ }
147
+ });
148
+ });
149
+ var _splitIntervals = require("./splitIntervals");
150
+ Object.keys(_splitIntervals).forEach(function (key) {
151
+ if (key === "default" || key === "__esModule") return;
152
+ if (key in exports && exports[key] === _splitIntervals[key]) return;
153
+ Object.defineProperty(exports, key, {
154
+ enumerable: true,
155
+ get: function () {
156
+ return _splitIntervals[key];
157
+ }
158
+ });
159
+ });
15
160
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/scheduling/helpers/index.ts"],"sourcesContent":["export * from './convertToTimezone'\nexport * from './generateNonRepeatingSchedule'\nexport * from './generateRepeatingSchedule'\nexport * from './generateScheduleEnd'\nexport * from './hasValidStartAndEnd'\nexport * from './intervalCovers'\nexport * from './intervalIntersectsEnd'\nexport * from './intervalIntersectsStart'\nexport * from './intervalOnlyIntersectsEnd'\nexport * from './intervalOnlyIntersectsStart'\nexport * from './intervalOutside'\nexport * from './intervalWithin'\nexport * from './mergeIntervals'\nexport * from './splitIntervals'\n"],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,gCAAgC;AAC9C,cAAc,6BAA6B;AAC3C,cAAc,uBAAuB;AACrC,cAAc,uBAAuB;AACrC,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,+BAA+B;AAC7C,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_convertToTimezone","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_generateNonRepeatingSchedule","_generateRepeatingSchedule","_generateScheduleEnd","_hasValidStartAndEnd","_intervalCovers","_intervalIntersectsEnd","_intervalIntersectsStart","_intervalOnlyIntersectsEnd","_intervalOnlyIntersectsStart","_intervalOutside","_intervalWithin","_mergeIntervals","_splitIntervals"],"sources":["../../../src/scheduling/helpers/index.ts"],"sourcesContent":["export * from './convertToTimezone'\r\nexport * from './generateNonRepeatingSchedule'\r\nexport * from './generateRepeatingSchedule'\r\nexport * from './generateScheduleEnd'\r\nexport * from './hasValidStartAndEnd'\r\nexport * from './intervalCovers'\r\nexport * from './intervalIntersectsEnd'\r\nexport * from './intervalIntersectsStart'\r\nexport * from './intervalOnlyIntersectsEnd'\r\nexport * from './intervalOnlyIntersectsStart'\r\nexport * from './intervalOutside'\r\nexport * from './intervalWithin'\r\nexport * from './mergeIntervals'\r\nexport * from './splitIntervals'\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,17 @@
1
- /**
2
- * Checks if interval covers another
3
- * Accepts two intervals and checks whether the first covers the second
4
- *
5
- * intervalCovers([0,20], [5,15])
6
- * returns true
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.intervalCovers = intervalCovers;
7
+ /**
8
+ * Checks if interval covers another
9
+ * Accepts two intervals and checks whether the first covers the second
10
+ *
11
+ * intervalCovers([0,20], [5,15])
12
+ * returns true
7
13
  */
8
- export function intervalCovers(firstInterval, secondInterval) {
14
+ function intervalCovers(firstInterval, secondInterval) {
9
15
  return firstInterval[0] <= secondInterval[0] && firstInterval[1] >= secondInterval[1];
10
16
  }
11
17
  //# sourceMappingURL=intervalCovers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intervalCovers.js","names":["intervalCovers","firstInterval","secondInterval"],"sources":["../../../src/scheduling/helpers/intervalCovers.ts"],"sourcesContent":["import { Interval } from '../scheduling.types'\n\n/**\n * Checks if interval covers another\n * Accepts two intervals and checks whether the first covers the second\n *\n * intervalCovers([0,20], [5,15])\n * returns true\n */\nexport function intervalCovers(\n firstInterval: Interval,\n secondInterval: Interval\n): Boolean {\n return (\n firstInterval[0] <= secondInterval[0] && firstInterval[1] >= secondInterval[1]\n )\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAC5BC,aAAuB,EACvBC,cAAwB,EACf;EACT,OACED,aAAa,CAAC,CAAC,CAAC,IAAIC,cAAc,CAAC,CAAC,CAAC,IAAID,aAAa,CAAC,CAAC,CAAC,IAAIC,cAAc,CAAC,CAAC,CAAC;AAElF","ignoreList":[]}
1
+ {"version":3,"file":"intervalCovers.js","names":["intervalCovers","firstInterval","secondInterval"],"sources":["../../../src/scheduling/helpers/intervalCovers.ts"],"sourcesContent":["import { Interval } from '../scheduling.types'\r\n\r\n/**\r\n * Checks if interval covers another\r\n * Accepts two intervals and checks whether the first covers the second\r\n *\r\n * intervalCovers([0,20], [5,15])\r\n * returns true\r\n */\r\nexport function intervalCovers(\r\n firstInterval: Interval,\r\n secondInterval: Interval\r\n): Boolean {\r\n return (\r\n firstInterval[0] <= secondInterval[0] && firstInterval[1] >= secondInterval[1]\r\n )\r\n}\r\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,cAAcA,CAC5BC,aAAuB,EACvBC,cAAwB,EACf;EACT,OACED,aAAa,CAAC,CAAC,CAAC,IAAIC,cAAc,CAAC,CAAC,CAAC,IAAID,aAAa,CAAC,CAAC,CAAC,IAAIC,cAAc,CAAC,CAAC,CAAC;AAElF","ignoreList":[]}