@lighthouse/common 6.5.0 → 6.6.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/dist/constants.js +7 -13
  2. package/dist/errors/DomainError.js +2 -4
  3. package/dist/errors/ValidationError.js +0 -8
  4. package/dist/errors/index.js +1 -5
  5. package/dist/helpers/build-fetch-url/index.js +0 -5
  6. package/dist/helpers/fetch-image/index.js +16 -32
  7. package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +7 -40
  8. package/dist/helpers/fetch-image-for-web/index.js +0 -9
  9. package/dist/helpers/fetch-lighthouse-logo/index.js +2 -13
  10. package/dist/helpers/floatify/index.js +0 -1
  11. package/dist/helpers/get-assignees-full-names/index.js +0 -4
  12. package/dist/helpers/get-audit-entry-details/index.js +0 -3
  13. package/dist/helpers/get-audit-items-data/index.js +2 -6
  14. package/dist/helpers/get-geometry-geocoded-string/index.js +0 -3
  15. package/dist/helpers/get-issue-details/index.js +0 -7
  16. package/dist/helpers/get-job-details/index.js +0 -7
  17. package/dist/helpers/get-location-reference/index.js +18 -21
  18. package/dist/helpers/get-pretty-duration/index.js +0 -5
  19. package/dist/helpers/get-reference-details/index.js +0 -4
  20. package/dist/helpers/get-status-details/index.js +2 -9
  21. package/dist/helpers/get-task-entry-details/index.js +0 -3
  22. package/dist/helpers/get-timezone-abbr/index.js +0 -4
  23. package/dist/helpers/get-timezone-datetime/index.js +0 -5
  24. package/dist/helpers/get-user-full-name/index.js +0 -1
  25. package/dist/helpers/get-value-as-percentage/index.js +0 -1
  26. package/dist/helpers/image-validators/index.js +8 -9
  27. package/dist/helpers/index.js +16 -33
  28. package/dist/images/index.js +5 -9
  29. package/dist/index.js +4 -20
  30. package/dist/pdf/activity-report/index.js +41 -62
  31. package/dist/pdf/audit/index.js +0 -14
  32. package/dist/pdf/helpers/build-audit-content/index.js +4 -15
  33. package/dist/pdf/helpers/build-audit-follow-ups/index.js +4 -14
  34. package/dist/pdf/helpers/build-location-scans-content/index.js +4 -17
  35. package/dist/pdf/helpers/build-template-content/index.js +5 -14
  36. package/dist/pdf/helpers/default-footer/index.js +2 -3
  37. package/dist/pdf/helpers/default-header/index.js +0 -2
  38. package/dist/pdf/helpers/default-styles/index.js +2 -3
  39. package/dist/pdf/helpers/fields/index.js +21 -51
  40. package/dist/pdf/helpers/format-location-address/index.js +0 -3
  41. package/dist/pdf/helpers/generate-definition/index.js +0 -12
  42. package/dist/pdf/helpers/horizontal-line/index.js +0 -1
  43. package/dist/pdf/helpers/html-transformer/index.js +11 -23
  44. package/dist/pdf/helpers/index.js +40 -55
  45. package/dist/pdf/helpers/parse-value/index.js +2 -6
  46. package/dist/pdf/helpers/table/index.js +13 -31
  47. package/dist/pdf/helpers/text/index.js +0 -1
  48. package/dist/pdf/icons/index.js +3 -5
  49. package/dist/pdf/index.js +4 -10
  50. package/dist/pdf/issue/index.js +17 -16
  51. package/dist/pdf/job/index.js +1 -13
  52. package/dist/pdf/shift-report/emptyFixtures.js +4 -6
  53. package/dist/pdf/shift-report/index.js +2 -25
  54. package/dist/pdf/task/index.js +0 -13
  55. package/dist/scheduling/generators/index.js +0 -6
  56. package/dist/scheduling/generators/occurrenceIntervalsGenerator.js +1 -6
  57. package/dist/scheduling/generators/scheduleIntervalsGenerator.js +0 -5
  58. package/dist/scheduling/generators/serviceIntervalsGenerator.js +13 -27
  59. package/dist/scheduling/helpers/convertToTimezone.js +1 -6
  60. package/dist/scheduling/helpers/generateNonRepeatingSchedule.js +3 -9
  61. package/dist/scheduling/helpers/generateRepeatingSchedule.js +11 -18
  62. package/dist/scheduling/helpers/generateScheduleEnd.js +2 -8
  63. package/dist/scheduling/helpers/hasValidStartAndEnd.js +0 -6
  64. package/dist/scheduling/helpers/index.js +0 -28
  65. package/dist/scheduling/helpers/intervalCovers.js +0 -1
  66. package/dist/scheduling/helpers/intervalIntersectsEnd.js +0 -1
  67. package/dist/scheduling/helpers/intervalIntersectsStart.js +0 -1
  68. package/dist/scheduling/helpers/intervalOnlyIntersectsEnd.js +1 -3
  69. package/dist/scheduling/helpers/intervalOnlyIntersectsStart.js +0 -3
  70. package/dist/scheduling/helpers/intervalOutside.js +0 -1
  71. package/dist/scheduling/helpers/intervalWithin.js +0 -1
  72. package/dist/scheduling/helpers/mergeIntervals.js +0 -4
  73. package/dist/scheduling/helpers/splitIntervals.js +0 -3
  74. package/dist/scheduling/index.js +0 -6
  75. package/dist/scheduling/scheduling.types.js +10 -18
  76. package/dist/scheduling/strategies/getNext.js +2 -13
  77. package/dist/scheduling/strategies/getNextExactDateOfMonth.js +0 -12
  78. package/dist/scheduling/strategies/getNextLastDayOfMonth.js +0 -10
  79. package/dist/scheduling/strategies/getNextLastWeekdayOfMonth.js +0 -11
  80. package/dist/scheduling/strategies/getNextNoRepeat.js +0 -7
  81. package/dist/scheduling/strategies/getNextWeekday.js +0 -10
  82. package/dist/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +0 -12
  83. package/dist/scheduling/strategies/index.js +0 -14
  84. package/dist/schema/index.js +0 -2
  85. package/dist/schema/schema.js +2 -7
  86. package/dist/service-hours/__helpers__/calculate-hours.js +4 -13
  87. package/dist/service-hours/__helpers__/isOpen.js +0 -9
  88. package/dist/service-hours/index.js +0 -4
  89. package/dist/service-hours/schema.js +20 -43
  90. package/lib/constants.js.map +1 -1
  91. package/lib/errors/DomainError.js +11 -47
  92. package/lib/errors/DomainError.js.map +1 -1
  93. package/lib/errors/ValidationError.js +15 -52
  94. package/lib/errors/ValidationError.js.map +1 -1
  95. package/lib/errors/index.js.map +1 -1
  96. package/lib/helpers/build-fetch-url/index.js +14 -20
  97. package/lib/helpers/build-fetch-url/index.js.map +1 -1
  98. package/lib/helpers/fetch-image/index.js +20 -27
  99. package/lib/helpers/fetch-image/index.js.map +1 -1
  100. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +187 -239
  101. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
  102. package/lib/helpers/fetch-image-for-web/index.js +50 -66
  103. package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
  104. package/lib/helpers/fetch-lighthouse-logo/index.js +47 -59
  105. package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
  106. package/lib/helpers/floatify/index.js.map +1 -1
  107. package/lib/helpers/get-assignees-full-names/index.js +0 -1
  108. package/lib/helpers/get-assignees-full-names/index.js.map +1 -1
  109. package/lib/helpers/get-audit-entry-details/index.js +8 -8
  110. package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
  111. package/lib/helpers/get-audit-items-data/index.js +16 -19
  112. package/lib/helpers/get-audit-items-data/index.js.map +1 -1
  113. package/lib/helpers/get-geometry-geocoded-string/index.js.map +1 -1
  114. package/lib/helpers/get-issue-details/index.js +11 -11
  115. package/lib/helpers/get-issue-details/index.js.map +1 -1
  116. package/lib/helpers/get-job-details/index.js +12 -12
  117. package/lib/helpers/get-job-details/index.js.map +1 -1
  118. package/lib/helpers/get-location-reference/index.js +32 -36
  119. package/lib/helpers/get-location-reference/index.js.map +1 -1
  120. package/lib/helpers/get-pretty-duration/index.js +0 -4
  121. package/lib/helpers/get-pretty-duration/index.js.map +1 -1
  122. package/lib/helpers/get-reference-details/index.js +1 -3
  123. package/lib/helpers/get-reference-details/index.js.map +1 -1
  124. package/lib/helpers/get-status-details/index.js +0 -4
  125. package/lib/helpers/get-status-details/index.js.map +1 -1
  126. package/lib/helpers/get-task-entry-details/index.js +5 -5
  127. package/lib/helpers/get-task-entry-details/index.js.map +1 -1
  128. package/lib/helpers/get-timezone-abbr/index.js.map +1 -1
  129. package/lib/helpers/get-timezone-datetime/index.js +6 -6
  130. package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
  131. package/lib/helpers/get-user-full-name/index.js.map +1 -1
  132. package/lib/helpers/get-value-as-percentage/index.js.map +1 -1
  133. package/lib/helpers/image-validators/index.js +8 -7
  134. package/lib/helpers/image-validators/index.js.map +1 -1
  135. package/lib/helpers/index.js.map +1 -1
  136. package/lib/images/index.js.map +1 -1
  137. package/lib/index.js.map +1 -1
  138. package/lib/pdf/activity-report/index.js +360 -416
  139. package/lib/pdf/activity-report/index.js.map +1 -1
  140. package/lib/pdf/audit/index.js +25 -36
  141. package/lib/pdf/audit/index.js.map +1 -1
  142. package/lib/pdf/fonts/index.js.map +1 -1
  143. package/lib/pdf/helpers/build-audit-content/index.js +3 -5
  144. package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
  145. package/lib/pdf/helpers/build-audit-follow-ups/index.js +5 -12
  146. package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
  147. package/lib/pdf/helpers/build-location-scans-content/index.js +4 -9
  148. package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
  149. package/lib/pdf/helpers/build-template-content/index.js +7 -9
  150. package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
  151. package/lib/pdf/helpers/default-footer/index.js +9 -8
  152. package/lib/pdf/helpers/default-footer/index.js.map +1 -1
  153. package/lib/pdf/helpers/default-header/index.js +5 -5
  154. package/lib/pdf/helpers/default-header/index.js.map +1 -1
  155. package/lib/pdf/helpers/default-styles/index.js.map +1 -1
  156. package/lib/pdf/helpers/fields/index.js +48 -81
  157. package/lib/pdf/helpers/fields/index.js.map +1 -1
  158. package/lib/pdf/helpers/format-location-address/index.js.map +1 -1
  159. package/lib/pdf/helpers/generate-definition/index.js +22 -29
  160. package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
  161. package/lib/pdf/helpers/horizontal-line/index.js +1 -1
  162. package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
  163. package/lib/pdf/helpers/html-transformer/index.js +19 -30
  164. package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
  165. package/lib/pdf/helpers/index.js.map +1 -1
  166. package/lib/pdf/helpers/parse-value/index.js +2 -4
  167. package/lib/pdf/helpers/parse-value/index.js.map +1 -1
  168. package/lib/pdf/helpers/table/index.js +78 -84
  169. package/lib/pdf/helpers/table/index.js.map +1 -1
  170. package/lib/pdf/helpers/text/index.js +2 -5
  171. package/lib/pdf/helpers/text/index.js.map +1 -1
  172. package/lib/pdf/icons/index.js.map +1 -1
  173. package/lib/pdf/index.js.map +1 -1
  174. package/lib/pdf/issue/index.js +36 -30
  175. package/lib/pdf/issue/index.js.map +1 -1
  176. package/lib/pdf/job/index.js +12 -19
  177. package/lib/pdf/job/index.js.map +1 -1
  178. package/lib/pdf/shift-report/emptyFixtures.js.map +1 -1
  179. package/lib/pdf/shift-report/index.js +308 -374
  180. package/lib/pdf/shift-report/index.js.map +1 -1
  181. package/lib/pdf/task/index.js +11 -19
  182. package/lib/pdf/task/index.js.map +1 -1
  183. package/lib/scheduling/generators/index.js.map +1 -1
  184. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +27 -38
  185. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
  186. package/lib/scheduling/generators/scheduleIntervalsGenerator.js +19 -30
  187. package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
  188. package/lib/scheduling/generators/serviceIntervalsGenerator.js +139 -181
  189. package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
  190. package/lib/scheduling/helpers/convertToTimezone.js +1 -1
  191. package/lib/scheduling/helpers/convertToTimezone.js.map +1 -1
  192. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +84 -124
  193. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
  194. package/lib/scheduling/helpers/generateRepeatingSchedule.js +107 -175
  195. package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
  196. package/lib/scheduling/helpers/generateScheduleEnd.js +6 -6
  197. package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
  198. package/lib/scheduling/helpers/hasValidStartAndEnd.js +1 -2
  199. package/lib/scheduling/helpers/hasValidStartAndEnd.js.map +1 -1
  200. package/lib/scheduling/helpers/index.js.map +1 -1
  201. package/lib/scheduling/helpers/intervalCovers.js.map +1 -1
  202. package/lib/scheduling/helpers/intervalIntersectsEnd.js.map +1 -1
  203. package/lib/scheduling/helpers/intervalIntersectsStart.js.map +1 -1
  204. package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js +1 -0
  205. package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js.map +1 -1
  206. package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js +1 -1
  207. package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js.map +1 -1
  208. package/lib/scheduling/helpers/intervalOutside.js.map +1 -1
  209. package/lib/scheduling/helpers/intervalWithin.js.map +1 -1
  210. package/lib/scheduling/helpers/mergeIntervals.js +0 -3
  211. package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
  212. package/lib/scheduling/helpers/splitIntervals.js +1 -1
  213. package/lib/scheduling/helpers/splitIntervals.js.map +1 -1
  214. package/lib/scheduling/index.js.map +1 -1
  215. package/lib/scheduling/scheduling.types.js +9 -14
  216. package/lib/scheduling/scheduling.types.js.map +1 -1
  217. package/lib/scheduling/strategies/getNext.js +22 -30
  218. package/lib/scheduling/strategies/getNext.js.map +1 -1
  219. package/lib/scheduling/strategies/getNextExactDateOfMonth.js +22 -31
  220. package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
  221. package/lib/scheduling/strategies/getNextLastDayOfMonth.js +21 -28
  222. package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
  223. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +21 -28
  224. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
  225. package/lib/scheduling/strategies/getNextNoRepeat.js +15 -23
  226. package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
  227. package/lib/scheduling/strategies/getNextWeekday.js +43 -78
  228. package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
  229. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +21 -28
  230. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
  231. package/lib/scheduling/strategies/index.js.map +1 -1
  232. package/lib/schema/index.js.map +1 -1
  233. package/lib/schema/schema.js +22 -30
  234. package/lib/schema/schema.js.map +1 -1
  235. package/lib/service-hours/__helpers__/calculate-hours.js +4 -13
  236. package/lib/service-hours/__helpers__/calculate-hours.js.map +1 -1
  237. package/lib/service-hours/__helpers__/isOpen.js +3 -7
  238. package/lib/service-hours/__helpers__/isOpen.js.map +1 -1
  239. package/lib/service-hours/index.js.map +1 -1
  240. package/lib/service-hours/schema.js +21 -36
  241. package/lib/service-hours/schema.js.map +1 -1
  242. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scheduling/strategies/getNextLastDayOfMonth.ts"],"names":["getNextLastDayOfMonth","moment","Unit","end","isInitial","options","start","timezone","duration","frequency","durationUnit","unit","durationValue","value","frequencyUnit","frequencyValue","dateCursor","tz","startOf","Month","valueOf","add","nextOccurrenceEnd","endOf","Day","nextOccurrenceStart","subtract","nextOccurrence","nextDateCursor"],"mappings":";;oDAOiBA,qB;;AAPjB,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,SAA4BC,IAA5B,QAAwC,qBAAxC;AAEA;;;;AAGA,OAAO,SAAUF,qBAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AACLG,UAAAA,GADK,QACLA,GADK,EAELC,SAFK,QAELA,SAFK,EAGLC,OAHK,QAGLA,OAHK,EAILC,KAJK,QAILA,KAJK,EAKLC,QALK,QAKLA,QALK;AAOGC,UAAAA,QAPH,GAO2BH,OAP3B,CAOGG,QAPH,EAOaC,SAPb,GAO2BJ,OAP3B,CAOaI,SAPb;AAQSC,UAAAA,YART,GAQgDF,QARhD,CAQGG,IARH,EAQ8BC,aAR9B,GAQgDJ,QARhD,CAQuBK,KARvB;AASSC,UAAAA,aATT,GASkDL,SATlD,CASGE,IATH,EAS+BI,cAT/B,GASkDN,SATlD,CASwBI,KATxB;AAWDG,UAAAA,UAXC,GAWoBZ,SAAS,GAC9BH,MAAM,CACHgB,EADH,CACMX,KADN,EACaC,QADb,EAEGW,OAFH,CAEWhB,IAAI,CAACiB,KAFhB,EAGGC,OAHH,EAD8B,GAK9BnB,MAAM,CACHgB,EADH,CACMX,KADN,EACaC,QADb,EAEGc,GAFH,CAEON,cAFP,EAEuBD,aAFvB,EAGGI,OAHH,CAGWhB,IAAI,CAACiB,KAHhB,EAIGC,OAJH,EAhBC;;AAAA;AAAA,gBAsBEJ,UAAU,GAAGb,GAtBf;AAAA;AAAA;AAAA;;AAuBGmB,UAAAA,iBAvBH,GAuB+BrB,MAAM,CACrCgB,EAD+B,CAC5BD,UAD4B,EAChBT,QADgB,EAE/BgB,KAF+B,CAEzBrB,IAAI,CAACiB,KAFoB,EAG/BE,GAH+B,CAG3B,CAH2B,EAGxBnB,IAAI,CAACsB,GAHmB,EAI/BN,OAJ+B,CAIvBhB,IAAI,CAACsB,GAJkB,EAK/BJ,OAL+B,EAvB/B;AA8BGK,UAAAA,mBA9BH,GA8BiCxB,MAAM,CACvCgB,EADiC,CAC9BK,iBAD8B,EACXf,QADW,EAEjCmB,QAFiC,CAExBd,aAFwB,EAETF,YAFS,EAGjCU,OAHiC,EA9BjC;;AAAA,gBAmCCE,iBAAiB,IAAIG,mBAArB,IAA4CH,iBAAiB,GAAGnB,GAnCjE;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,gBAuCCsB,mBAAmB,IAAInB,KAvCxB;AAAA;AAAA;AAAA;;AAwCKqB,UAAAA,cAxCL,GAwCgC,CAC/BF,mBAD+B,EAE/BH,iBAAiB,GAAG,CAFW,CAxChC;AAAA;AA6CD,iBAAMK,cAAN;;AA7CC;AAgDGC,UAAAA,cAhDH,GAgD4B3B,MAAM,CAClCgB,EAD4B,CACzBD,UADyB,EACbT,QADa,EAE5Bc,GAF4B,CAExB,CAFwB,EAErBnB,IAAI,CAACiB,KAFgB,EAG5BC,OAH4B,EAhD5B;AAqDHJ,UAAAA,UAAU,GAAGY,cAAb;AArDG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for last day of month strategy\n */\nexport function* getNextLastDayOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const nextOccurrenceEnd: number = moment\n .tz(dateCursor, timezone)\n .endOf(Unit.Month)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Month)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"file":"getNextLastDayOfMonth.js"}
1
+ {"version":3,"file":"getNextLastDayOfMonth.js","names":["moment","Unit","getNextLastDayOfMonth","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","duration","frequency","durationUnit","durationValue","frequencyUnit","frequencyValue","dateCursor","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","wrap","_context","prev","next","unit","value","tz","startOf","Month","valueOf","add","endOf","Day","subtract","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextLastDayOfMonth.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for last day of month strategy\n */\nexport function* getNextLastDayOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const nextOccurrenceEnd: number = moment\n .tz(dateCursor, timezone)\n .endOf(Unit.Month)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Month)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,31 +1,30 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/regenerator";
2
-
3
- var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextLastWeekdayOfMonth);
4
-
5
2
  import moment from 'moment-timezone';
6
3
  import { Unit } from '../scheduling.types';
4
+
7
5
  /**
8
6
  * Generates next occurrence interval for last weekday of month strategy
9
7
  */
10
-
11
8
  export function getNextLastWeekdayOfMonth(_ref) {
12
- var end, isInitial, options, start, timezone, duration, frequency, weekday, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, mStartOfMonth, year, month, startDay, date, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
13
- return _regeneratorRuntime.wrap(function getNextLastWeekdayOfMonth$(_context) {
14
- while (1) {
15
- switch (_context.prev = _context.next) {
9
+ var end = _ref.end,
10
+ isInitial = _ref.isInitial,
11
+ options = _ref.options,
12
+ start = _ref.start,
13
+ timezone = _ref.timezone;
14
+ return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
15
+ var duration, frequency, weekday, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, mStartOfMonth, year, month, startDay, date, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
16
+ return _regeneratorRuntime.wrap(function (_context) {
17
+ while (1) switch (_context.prev = _context.next) {
16
18
  case 0:
17
- end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
18
19
  duration = options.duration, frequency = options.frequency, weekday = options.weekday;
19
20
  durationUnit = duration.unit, durationValue = duration.value;
20
21
  frequencyUnit = frequency.unit, frequencyValue = frequency.value;
21
22
  dateCursor = isInitial ? moment.tz(start, timezone).startOf(Unit.Month).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Month).valueOf();
22
-
23
- case 5:
23
+ case 1:
24
24
  if (!(dateCursor < end)) {
25
- _context.next = 23;
25
+ _context.next = 4;
26
26
  break;
27
27
  }
28
-
29
28
  mStartOfMonth = moment.tz(dateCursor, timezone).add(1, Unit.Month);
30
29
  year = mStartOfMonth.year();
31
30
  month = mStartOfMonth.month();
@@ -33,35 +32,29 @@ export function getNextLastWeekdayOfMonth(_ref) {
33
32
  date = startDay > weekday ? weekday - startDay + 8 : weekday - startDay + 1;
34
33
  nextOccurrenceEnd = moment.tz(timezone).year(year).month(month).date(date).add(1, Unit.Day).startOf(Unit.Day).subtract(1, Unit.Week).valueOf();
35
34
  nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
36
-
37
35
  if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
38
- _context.next = 15;
36
+ _context.next = 2;
39
37
  break;
40
38
  }
41
-
42
39
  return _context.abrupt("return");
43
-
44
- case 15:
40
+ case 2:
45
41
  if (!(nextOccurrenceStart >= start)) {
46
- _context.next = 19;
42
+ _context.next = 3;
47
43
  break;
48
44
  }
49
-
50
45
  nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
51
- _context.next = 19;
46
+ _context.next = 3;
52
47
  return nextOccurrence;
53
-
54
- case 19:
48
+ case 3:
55
49
  nextDateCursor = mStartOfMonth.valueOf();
56
50
  dateCursor = nextDateCursor;
57
- _context.next = 5;
51
+ _context.next = 1;
58
52
  break;
59
-
60
- case 23:
53
+ case 4:
61
54
  case "end":
62
55
  return _context.stop();
63
56
  }
64
- }
65
- }, _marked);
57
+ }, _callee);
58
+ })();
66
59
  }
67
60
  //# sourceMappingURL=getNextLastWeekdayOfMonth.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scheduling/strategies/getNextLastWeekdayOfMonth.ts"],"names":["getNextLastWeekdayOfMonth","moment","Unit","end","isInitial","options","start","timezone","duration","frequency","weekday","durationUnit","unit","durationValue","value","frequencyUnit","frequencyValue","dateCursor","tz","startOf","Month","valueOf","add","mStartOfMonth","year","month","startDay","isoWeekday","date","nextOccurrenceEnd","Day","subtract","Week","nextOccurrenceStart","nextOccurrence","nextDateCursor"],"mappings":";;oDAOiBA,yB;;AAPjB,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,SAA4BC,IAA5B,QAAwC,qBAAxC;AAEA;;;;AAGA,OAAO,SAAUF,yBAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AACLG,UAAAA,GADK,QACLA,GADK,EAELC,SAFK,QAELA,SAFK,EAGLC,OAHK,QAGLA,OAHK,EAILC,KAJK,QAILA,KAJK,EAKLC,QALK,QAKLA,QALK;AAOGC,UAAAA,QAPH,GAOoCH,OAPpC,CAOGG,QAPH,EAOaC,SAPb,GAOoCJ,OAPpC,CAOaI,SAPb,EAOwBC,OAPxB,GAOoCL,OAPpC,CAOwBK,OAPxB;AAQSC,UAAAA,YART,GAQgDH,QARhD,CAQGI,IARH,EAQ8BC,aAR9B,GAQgDL,QARhD,CAQuBM,KARvB;AASSC,UAAAA,aATT,GASkDN,SATlD,CASGG,IATH,EAS+BI,cAT/B,GASkDP,SATlD,CASwBK,KATxB;AAWDG,UAAAA,UAXC,GAWoBb,SAAS,GAC9BH,MAAM,CACHiB,EADH,CACMZ,KADN,EACaC,QADb,EAEGY,OAFH,CAEWjB,IAAI,CAACkB,KAFhB,EAGGC,OAHH,EAD8B,GAK9BpB,MAAM,CACHiB,EADH,CACMZ,KADN,EACaC,QADb,EAEGe,GAFH,CAEON,cAFP,EAEuBD,aAFvB,EAGGI,OAHH,CAGWjB,IAAI,CAACkB,KAHhB,EAIGC,OAJH,EAhBC;;AAAA;AAAA,gBAsBEJ,UAAU,GAAGd,GAtBf;AAAA;AAAA;AAAA;;AAuBGoB,UAAAA,aAvBH,GAuBmBtB,MAAM,CAACiB,EAAP,CAAUD,UAAV,EAAsBV,QAAtB,EAAgCe,GAAhC,CAAoC,CAApC,EAAuCpB,IAAI,CAACkB,KAA5C,CAvBnB;AAyBGI,UAAAA,IAzBH,GAyBkBD,aAAa,CAACC,IAAd,EAzBlB;AA0BGC,UAAAA,KA1BH,GA0BmBF,aAAa,CAACE,KAAd,EA1BnB;AA2BGC,UAAAA,QA3BH,GA2BsBH,aAAa,CAACI,UAAd,EA3BtB;AA4BGC,UAAAA,IA5BH,GA6BDF,QAAQ,GAAGhB,OAAX,GAAqBA,OAAO,GAAGgB,QAAV,GAAqB,CAA1C,GAA8ChB,OAAO,GAAGgB,QAAV,GAAqB,CA7BlE;AA+BGG,UAAAA,iBA/BH,GA+B+B5B,MAAM,CACrCiB,EAD+B,CAC5BX,QAD4B,EAE/BiB,IAF+B,CAE1BA,IAF0B,EAG/BC,KAH+B,CAGzBA,KAHyB,EAI/BG,IAJ+B,CAI1BA,IAJ0B,EAK/BN,GAL+B,CAK3B,CAL2B,EAKxBpB,IAAI,CAAC4B,GALmB,EAM/BX,OAN+B,CAMvBjB,IAAI,CAAC4B,GANkB,EAO/BC,QAP+B,CAOtB,CAPsB,EAOnB7B,IAAI,CAAC8B,IAPc,EAQ/BX,OAR+B,EA/B/B;AAyCGY,UAAAA,mBAzCH,GAyCiChC,MAAM,CACvCiB,EADiC,CAC9BW,iBAD8B,EACXtB,QADW,EAEjCwB,QAFiC,CAExBlB,aAFwB,EAETF,YAFS,EAGjCU,OAHiC,EAzCjC;;AAAA,gBA8CCQ,iBAAiB,IAAII,mBAArB,IAA4CJ,iBAAiB,GAAG1B,GA9CjE;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,gBAkDC8B,mBAAmB,IAAI3B,KAlDxB;AAAA;AAAA;AAAA;;AAmDK4B,UAAAA,cAnDL,GAmDgC,CAC/BD,mBAD+B,EAE/BJ,iBAAiB,GAAG,CAFW,CAnDhC;AAAA;AAwDD,iBAAMK,cAAN;;AAxDC;AA2DGC,UAAAA,cA3DH,GA2DoBZ,aAAa,CAACF,OAAd,EA3DpB;AA6DHJ,UAAAA,UAAU,GAAGkB,cAAb;AA7DG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for last weekday of month strategy\n */\nexport function* getNextLastWeekdayOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency, weekday } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const mStartOfMonth = moment.tz(dateCursor, timezone).add(1, Unit.Month)\n\n const year: number = mStartOfMonth.year()\n const month: number = mStartOfMonth.month()\n const startDay: number = mStartOfMonth.isoWeekday()\n const date: number =\n startDay > weekday ? weekday - startDay + 8 : weekday - startDay + 1\n\n const nextOccurrenceEnd: number = moment\n .tz(timezone)\n .year(year)\n .month(month)\n .date(date)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .subtract(1, Unit.Week)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor = mStartOfMonth.valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"file":"getNextLastWeekdayOfMonth.js"}
1
+ {"version":3,"file":"getNextLastWeekdayOfMonth.js","names":["moment","Unit","getNextLastWeekdayOfMonth","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","duration","frequency","weekday","durationUnit","durationValue","frequencyUnit","frequencyValue","dateCursor","mStartOfMonth","year","month","startDay","date","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","wrap","_context","prev","next","unit","value","tz","startOf","Month","valueOf","add","isoWeekday","Day","subtract","Week","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextLastWeekdayOfMonth.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for last weekday of month strategy\n */\nexport function* getNextLastWeekdayOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency, weekday } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const mStartOfMonth = moment.tz(dateCursor, timezone).add(1, Unit.Month)\n\n const year: number = mStartOfMonth.year()\n const month: number = mStartOfMonth.month()\n const startDay: number = mStartOfMonth.isoWeekday()\n const date: number =\n startDay > weekday ? weekday - startDay + 8 : weekday - startDay + 1\n\n const nextOccurrenceEnd: number = moment\n .tz(timezone)\n .year(year)\n .month(month)\n .date(date)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .subtract(1, Unit.Week)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor = mStartOfMonth.valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,47 +1,39 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/regenerator";
2
-
3
- var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextNoRepeat);
4
-
5
2
  import moment from 'moment-timezone';
6
-
7
3
  /**
8
4
  * Generates next occurrence interval for non repeat strategy
9
5
  */
10
6
  export function getNextNoRepeat(_ref) {
11
- var start, end, timezone, nextOccurrenceStart, nextOccurrenceEnd, nextOccurrence;
12
- return _regeneratorRuntime.wrap(function getNextNoRepeat$(_context) {
13
- while (1) {
14
- switch (_context.prev = _context.next) {
7
+ var start = _ref.start,
8
+ end = _ref.end,
9
+ timezone = _ref.timezone;
10
+ return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
11
+ var nextOccurrenceStart, nextOccurrenceEnd, nextOccurrence;
12
+ return _regeneratorRuntime.wrap(function (_context) {
13
+ while (1) switch (_context.prev = _context.next) {
15
14
  case 0:
16
- start = _ref.start, end = _ref.end, timezone = _ref.timezone;
17
15
  nextOccurrenceStart = moment.tz(start, timezone).valueOf();
18
16
  nextOccurrenceEnd = moment.tz(end, timezone).valueOf() - 1;
19
-
20
17
  if (!(nextOccurrenceStart < start)) {
21
- _context.next = 5;
18
+ _context.next = 1;
22
19
  break;
23
20
  }
24
-
25
21
  return _context.abrupt("return");
26
-
27
- case 5:
22
+ case 1:
28
23
  if (!(nextOccurrenceEnd <= nextOccurrenceStart)) {
29
- _context.next = 7;
24
+ _context.next = 2;
30
25
  break;
31
26
  }
32
-
33
27
  return _context.abrupt("return");
34
-
35
- case 7:
28
+ case 2:
36
29
  nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd];
37
- _context.next = 10;
30
+ _context.next = 3;
38
31
  return nextOccurrence;
39
-
40
- case 10:
32
+ case 3:
41
33
  case "end":
42
34
  return _context.stop();
43
35
  }
44
- }
45
- }, _marked);
36
+ }, _callee);
37
+ })();
46
38
  }
47
39
  //# sourceMappingURL=getNextNoRepeat.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scheduling/strategies/getNextNoRepeat.ts"],"names":["getNextNoRepeat","moment","start","end","timezone","nextOccurrenceStart","tz","valueOf","nextOccurrenceEnd","nextOccurrence"],"mappings":";;oDAOiBA,e;;AAPjB,OAAOC,MAAP,MAAmB,iBAAnB;;AAIA;;;AAGA,OAAO,SAAUD,eAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AACLE,UAAAA,KADK,QACLA,KADK,EAELC,GAFK,QAELA,GAFK,EAGLC,QAHK,QAGLA,QAHK;AAKCC,UAAAA,mBALD,GAK+BJ,MAAM,CAACK,EAAP,CAAUJ,KAAV,EAAiBE,QAAjB,EAA2BG,OAA3B,EAL/B;AAMCC,UAAAA,iBAND,GAM6BP,MAAM,CAACK,EAAP,CAAUH,GAAV,EAAeC,QAAf,EAAyBG,OAAzB,KAAqC,CANlE;;AAAA,gBAQDF,mBAAmB,GAAGH,KARrB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,gBAYDM,iBAAiB,IAAIH,mBAZpB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAgBCI,UAAAA,cAhBD,GAgB4B,CAACJ,mBAAD,EAAsBG,iBAAtB,CAhB5B;AAAA;AAkBL,iBAAMC,cAAN;;AAlBK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for non repeat strategy\n */\nexport function* getNextNoRepeat({\n start,\n end,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const nextOccurrenceStart: number = moment.tz(start, timezone).valueOf()\n const nextOccurrenceEnd: number = moment.tz(end, timezone).valueOf() - 1\n\n if (nextOccurrenceStart < start) {\n return\n }\n\n if (nextOccurrenceEnd <= nextOccurrenceStart) {\n return\n }\n\n const nextOccurrence: Interval = [nextOccurrenceStart, nextOccurrenceEnd]\n\n yield nextOccurrence\n}\n"],"file":"getNextNoRepeat.js"}
1
+ {"version":3,"file":"getNextNoRepeat.js","names":["moment","getNextNoRepeat","_ref","start","end","timezone","_regeneratorRuntime","mark","_callee","nextOccurrenceStart","nextOccurrenceEnd","nextOccurrence","wrap","_context","prev","next","tz","valueOf","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextNoRepeat.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for non repeat strategy\n */\nexport function* getNextNoRepeat({\n start,\n end,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const nextOccurrenceStart: number = moment.tz(start, timezone).valueOf()\n const nextOccurrenceEnd: number = moment.tz(end, timezone).valueOf() - 1\n\n if (nextOccurrenceStart < start) {\n return\n }\n\n if (nextOccurrenceEnd <= nextOccurrenceStart) {\n return\n }\n\n const nextOccurrence: Interval = [nextOccurrenceStart, nextOccurrenceEnd]\n\n yield nextOccurrence\n}\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAIpC;AACA;AACA;AACA,OAAO,SAAUC,eAAeA,CAAAC,IAAA;EAAA,IAC9BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAAA,oBAAAC,mBAAA,CAAAC,IAAA,UAAAC,QAAA;IAAA,IAAAC,mBAAA,EAAAC,iBAAA,EAAAC,cAAA;IAAA,OAAAL,mBAAA,CAAAM,IAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEFN,mBAA2B,GAAGT,MAAM,CAACgB,EAAE,CAACb,KAAK,EAAEE,QAAQ,CAAC,CAACY,OAAO,CAAC,CAAC;UAClEP,iBAAyB,GAAGV,MAAM,CAACgB,EAAE,CAACZ,GAAG,EAAEC,QAAQ,CAAC,CAACY,OAAO,CAAC,CAAC,GAAG,CAAC;UAAA,MAEpER,mBAAmB,GAAGN,KAAK;YAAAU,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAK,MAAA;QAAA;UAAA,MAI3BR,iBAAiB,IAAID,mBAAmB;YAAAI,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAK,MAAA;QAAA;UAItCP,cAAwB,GAAG,CAACF,mBAAmB,EAAEC,iBAAiB,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAEzE,OAAMJ,cAAc;QAAA;QAAA;UAAA,OAAAE,QAAA,CAAAM,IAAA;MAAA;IAAA,GAAAX,OAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,119 +1,84 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/regenerator";
2
-
3
- var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextWeekday);
4
-
2
+ 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; } } }; }
3
+ 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; } }
4
+ 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; }
5
5
  import moment from 'moment-timezone';
6
6
  import { Unit } from '../scheduling.types';
7
+
7
8
  /**
8
9
  * Generates next occurrence interval for weekdays strategy
9
10
  */
10
-
11
11
  export function getNextWeekday(_ref) {
12
- var end, isInitial, options, start, timezone, duration, frequency, weekdays, durationUnit, durationValue, frequencyUnit, frequencyValue, initial, dateCursor, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, weekday, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
13
-
14
- return _regeneratorRuntime.wrap(function getNextWeekday$(_context) {
15
- while (1) {
16
- switch (_context.prev = _context.next) {
12
+ var end = _ref.end,
13
+ isInitial = _ref.isInitial,
14
+ options = _ref.options,
15
+ start = _ref.start,
16
+ timezone = _ref.timezone;
17
+ return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
18
+ var duration, frequency, weekdays, durationUnit, durationValue, frequencyUnit, frequencyValue, initial, dateCursor, _iterator, _step, weekday, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor, _t;
19
+ return _regeneratorRuntime.wrap(function (_context) {
20
+ while (1) switch (_context.prev = _context.next) {
17
21
  case 0:
18
- end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
19
22
  duration = options.duration, frequency = options.frequency, weekdays = options.weekdays;
20
23
  durationUnit = duration.unit, durationValue = duration.value;
21
24
  frequencyUnit = frequency.unit, frequencyValue = frequency.value;
22
25
  initial = isInitial;
23
26
  dateCursor = initial ? moment.tz(start, timezone).startOf(Unit.Week).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Week).valueOf();
24
-
25
- case 6:
27
+ case 1:
26
28
  if (!(dateCursor < end)) {
27
- _context.next = 44;
29
+ _context.next = 11;
28
30
  break;
29
31
  }
30
-
31
- _iteratorNormalCompletion = true;
32
- _didIteratorError = false;
33
- _iteratorError = undefined;
34
- _context.prev = 10;
35
- _iterator = weekdays[Symbol.iterator]();
36
-
37
- case 12:
38
- if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
39
- _context.next = 26;
32
+ _iterator = _createForOfIteratorHelper(weekdays);
33
+ _context.prev = 2;
34
+ _iterator.s();
35
+ case 3:
36
+ if ((_step = _iterator.n()).done) {
37
+ _context.next = 7;
40
38
  break;
41
39
  }
42
-
43
40
  weekday = _step.value;
44
41
  nextOccurrenceEnd = moment.tz(dateCursor, timezone).isoWeekday(weekday).add(1, Unit.Day).startOf(Unit.Day).valueOf();
45
42
  nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
46
-
47
43
  if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
48
- _context.next = 18;
44
+ _context.next = 4;
49
45
  break;
50
46
  }
51
-
52
47
  return _context.abrupt("return");
53
-
54
- case 18:
48
+ case 4:
55
49
  if (!(nextOccurrenceStart >= start)) {
56
- _context.next = 23;
50
+ _context.next = 6;
57
51
  break;
58
52
  }
59
-
60
53
  nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
61
- _context.next = 22;
54
+ _context.next = 5;
62
55
  return nextOccurrence;
63
-
64
- case 22:
56
+ case 5:
65
57
  initial = false;
66
-
67
- case 23:
68
- _iteratorNormalCompletion = true;
69
- _context.next = 12;
58
+ case 6:
59
+ _context.next = 3;
70
60
  break;
71
-
72
- case 26:
73
- _context.next = 32;
61
+ case 7:
62
+ _context.next = 9;
74
63
  break;
75
-
76
- case 28:
77
- _context.prev = 28;
78
- _context.t0 = _context["catch"](10);
79
- _didIteratorError = true;
80
- _iteratorError = _context.t0;
81
-
82
- case 32:
83
- _context.prev = 32;
84
- _context.prev = 33;
85
-
86
- if (!_iteratorNormalCompletion && _iterator.return != null) {
87
- _iterator.return();
88
- }
89
-
90
- case 35:
91
- _context.prev = 35;
92
-
93
- if (!_didIteratorError) {
94
- _context.next = 38;
95
- break;
96
- }
97
-
98
- throw _iteratorError;
99
-
100
- case 38:
101
- return _context.finish(35);
102
-
103
- case 39:
104
- return _context.finish(32);
105
-
106
- case 40:
64
+ case 8:
65
+ _context.prev = 8;
66
+ _t = _context["catch"](2);
67
+ _iterator.e(_t);
68
+ case 9:
69
+ _context.prev = 9;
70
+ _iterator.f();
71
+ return _context.finish(9);
72
+ case 10:
107
73
  nextDateCursor = moment.tz(dateCursor, timezone).add(1, Unit.Week).valueOf();
108
74
  dateCursor = nextDateCursor;
109
- _context.next = 6;
75
+ _context.next = 1;
110
76
  break;
111
-
112
- case 44:
77
+ case 11:
113
78
  case "end":
114
79
  return _context.stop();
115
80
  }
116
- }
117
- }, _marked, null, [[10, 28, 32, 40], [33,, 35, 39]]);
81
+ }, _callee, null, [[2, 8, 9, 10]]);
82
+ })();
118
83
  }
119
84
  //# sourceMappingURL=getNextWeekday.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scheduling/strategies/getNextWeekday.ts"],"names":["getNextWeekday","moment","Unit","end","isInitial","options","start","timezone","duration","frequency","weekdays","durationUnit","unit","durationValue","value","frequencyUnit","frequencyValue","initial","dateCursor","tz","startOf","Week","valueOf","add","weekday","nextOccurrenceEnd","isoWeekday","Day","nextOccurrenceStart","subtract","nextOccurrence","nextDateCursor"],"mappings":";;oDAOiBA,c;;AAPjB,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,SAA4BC,IAA5B,QAAwC,qBAAxC;AAEA;;;;AAGA,OAAO,SAAUF,cAAV;AAAA;;AAAA;AAAA;AAAA;AAAA;AACLG,UAAAA,GADK,QACLA,GADK,EAELC,SAFK,QAELA,SAFK,EAGLC,OAHK,QAGLA,OAHK,EAILC,KAJK,QAILA,KAJK,EAKLC,QALK,QAKLA,QALK;AAOGC,UAAAA,QAPH,GAOqCH,OAPrC,CAOGG,QAPH,EAOaC,SAPb,GAOqCJ,OAPrC,CAOaI,SAPb,EAOwBC,QAPxB,GAOqCL,OAPrC,CAOwBK,QAPxB;AAQSC,UAAAA,YART,GAQgDH,QARhD,CAQGI,IARH,EAQ8BC,aAR9B,GAQgDL,QARhD,CAQuBM,KARvB;AASSC,UAAAA,aATT,GASkDN,SATlD,CASGG,IATH,EAS+BI,cAT/B,GASkDP,SATlD,CASwBK,KATxB;AAWDG,UAAAA,OAXC,GAWkBb,SAXlB;AAaDc,UAAAA,UAbC,GAaoBD,OAAO,GAC5BhB,MAAM,CACHkB,EADH,CACMb,KADN,EACaC,QADb,EAEGa,OAFH,CAEWlB,IAAI,CAACmB,IAFhB,EAGGC,OAHH,EAD4B,GAK5BrB,MAAM,CACHkB,EADH,CACMb,KADN,EACaC,QADb,EAEGgB,GAFH,CAEOP,cAFP,EAEuBD,aAFvB,EAGGK,OAHH,CAGWlB,IAAI,CAACmB,IAHhB,EAIGC,OAJH,EAlBC;;AAAA;AAAA,gBAwBEJ,UAAU,GAAGf,GAxBf;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBAyBmBO,QAzBnB;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAyBQc,UAAAA,OAzBR;AA0BKC,UAAAA,iBA1BL,GA0BiCxB,MAAM,CACrCkB,EAD+B,CAC5BD,UAD4B,EAChBX,QADgB,EAE/BmB,UAF+B,CAEpBF,OAFoB,EAG/BD,GAH+B,CAG3B,CAH2B,EAGxBrB,IAAI,CAACyB,GAHmB,EAI/BP,OAJ+B,CAIvBlB,IAAI,CAACyB,GAJkB,EAK/BL,OAL+B,EA1BjC;AAiCKM,UAAAA,mBAjCL,GAiCmC3B,MAAM,CACvCkB,EADiC,CAC9BM,iBAD8B,EACXlB,QADW,EAEjCsB,QAFiC,CAExBhB,aAFwB,EAETF,YAFS,EAGjCW,OAHiC,EAjCnC;;AAAA,gBAsCGG,iBAAiB,IAAIG,mBAArB,IAA4CH,iBAAiB,GAAGtB,GAtCnE;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,gBA0CGyB,mBAAmB,IAAItB,KA1C1B;AAAA;AAAA;AAAA;;AA2COwB,UAAAA,cA3CP,GA2CkC,CAC/BF,mBAD+B,EAE/BH,iBAAiB,GAAG,CAFW,CA3ClC;AAAA;AAgDC,iBAAMK,cAAN;;AAhDD;AAkDCb,UAAAA,OAAO,GAAG,KAAV;;AAlDD;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAsDGc,UAAAA,cAtDH,GAsD4B9B,MAAM,CAClCkB,EAD4B,CACzBD,UADyB,EACbX,QADa,EAE5BgB,GAF4B,CAExB,CAFwB,EAErBrB,IAAI,CAACmB,IAFgB,EAG5BC,OAH4B,EAtD5B;AA2DHJ,UAAAA,UAAU,GAAGa,cAAb;AA3DG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for weekdays strategy\n */\nexport function* getNextWeekday({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency, weekdays } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let initial: boolean = isInitial\n\n let dateCursor: number = initial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Week)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Week)\n .valueOf()\n\n while (dateCursor < end) {\n for (const weekday of weekdays) {\n const nextOccurrenceEnd: number = moment\n .tz(dateCursor, timezone)\n .isoWeekday(weekday)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n\n initial = false\n }\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Week)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"file":"getNextWeekday.js"}
1
+ {"version":3,"file":"getNextWeekday.js","names":["moment","Unit","getNextWeekday","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","duration","frequency","weekdays","durationUnit","durationValue","frequencyUnit","frequencyValue","initial","dateCursor","_iterator","_step","weekday","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","_t","wrap","_context","prev","next","unit","value","tz","startOf","Week","valueOf","add","_createForOfIteratorHelper","s","n","done","isoWeekday","Day","subtract","abrupt","e","f","finish","stop"],"sources":["../../../src/scheduling/strategies/getNextWeekday.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for weekdays strategy\n */\nexport function* getNextWeekday({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { duration, frequency, weekdays } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let initial: boolean = isInitial\n\n let dateCursor: number = initial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Week)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Week)\n .valueOf()\n\n while (dateCursor < end) {\n for (const weekday of weekdays) {\n const nextOccurrenceEnd: number = moment\n .tz(dateCursor, timezone)\n .isoWeekday(weekday)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n\n initial = false\n }\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Week)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,31 +1,30 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/regenerator";
2
-
3
- var _marked = /*#__PURE__*/_regeneratorRuntime.mark(getNextXDayOfXWeekOfMonth);
4
-
5
2
  import moment from 'moment-timezone';
6
3
  import { Unit } from '../scheduling.types';
4
+
7
5
  /**
8
6
  * Generates next occurrence interval for x day of x week of month strategy
9
7
  */
10
-
11
8
  export function getNextXDayOfXWeekOfMonth(_ref) {
12
- var end, isInitial, options, start, timezone, dayOfWeek, duration, frequency, weekOfMonth, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, mStartOfMonth, year, month, startDayOfMonth, weekOffset, day, date, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
13
- return _regeneratorRuntime.wrap(function getNextXDayOfXWeekOfMonth$(_context) {
14
- while (1) {
15
- switch (_context.prev = _context.next) {
9
+ var end = _ref.end,
10
+ isInitial = _ref.isInitial,
11
+ options = _ref.options,
12
+ start = _ref.start,
13
+ timezone = _ref.timezone;
14
+ return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
15
+ var dayOfWeek, duration, frequency, weekOfMonth, durationUnit, durationValue, frequencyUnit, frequencyValue, dateCursor, mStartOfMonth, year, month, startDayOfMonth, weekOffset, day, date, nextOccurrenceEnd, nextOccurrenceStart, nextOccurrence, nextDateCursor;
16
+ return _regeneratorRuntime.wrap(function (_context) {
17
+ while (1) switch (_context.prev = _context.next) {
16
18
  case 0:
17
- end = _ref.end, isInitial = _ref.isInitial, options = _ref.options, start = _ref.start, timezone = _ref.timezone;
18
19
  dayOfWeek = options.dayOfWeek, duration = options.duration, frequency = options.frequency, weekOfMonth = options.weekOfMonth;
19
20
  durationUnit = duration.unit, durationValue = duration.value;
20
21
  frequencyUnit = frequency.unit, frequencyValue = frequency.value;
21
22
  dateCursor = isInitial ? moment.tz(start, timezone).startOf(Unit.Month).valueOf() : moment.tz(start, timezone).add(frequencyValue, frequencyUnit).startOf(Unit.Month).valueOf();
22
-
23
- case 5:
23
+ case 1:
24
24
  if (!(dateCursor < end)) {
25
- _context.next = 25;
25
+ _context.next = 4;
26
26
  break;
27
27
  }
28
-
29
28
  mStartOfMonth = moment.tz(dateCursor, timezone);
30
29
  year = mStartOfMonth.year();
31
30
  month = mStartOfMonth.month();
@@ -35,35 +34,29 @@ export function getNextXDayOfXWeekOfMonth(_ref) {
35
34
  date = weekOffset + day;
36
35
  nextOccurrenceEnd = moment.tz(timezone).year(year).month(month).date(date).add(1, Unit.Day).startOf(Unit.Day).valueOf();
37
36
  nextOccurrenceStart = moment.tz(nextOccurrenceEnd, timezone).subtract(durationValue, durationUnit).valueOf();
38
-
39
37
  if (!(nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end)) {
40
- _context.next = 17;
38
+ _context.next = 2;
41
39
  break;
42
40
  }
43
-
44
41
  return _context.abrupt("return");
45
-
46
- case 17:
42
+ case 2:
47
43
  if (!(nextOccurrenceStart >= start)) {
48
- _context.next = 21;
44
+ _context.next = 3;
49
45
  break;
50
46
  }
51
-
52
47
  nextOccurrence = [nextOccurrenceStart, nextOccurrenceEnd - 1];
53
- _context.next = 21;
48
+ _context.next = 3;
54
49
  return nextOccurrence;
55
-
56
- case 21:
50
+ case 3:
57
51
  nextDateCursor = moment.tz(dateCursor, timezone).add(1, Unit.Month).valueOf();
58
52
  dateCursor = nextDateCursor;
59
- _context.next = 5;
53
+ _context.next = 1;
60
54
  break;
61
-
62
- case 25:
55
+ case 4:
63
56
  case "end":
64
57
  return _context.stop();
65
58
  }
66
- }
67
- }, _marked);
59
+ }, _callee);
60
+ })();
68
61
  }
69
62
  //# sourceMappingURL=getNextXDayOfXWeekOfMonth.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scheduling/strategies/getNextXDayOfXWeekOfMonth.ts"],"names":["getNextXDayOfXWeekOfMonth","moment","Unit","end","isInitial","options","start","timezone","dayOfWeek","duration","frequency","weekOfMonth","durationUnit","unit","durationValue","value","frequencyUnit","frequencyValue","dateCursor","tz","startOf","Month","valueOf","add","mStartOfMonth","year","month","startDayOfMonth","isoWeekday","weekOffset","day","date","nextOccurrenceEnd","Day","nextOccurrenceStart","subtract","nextOccurrence","nextDateCursor"],"mappings":"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","sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for x day of x week of month strategy\n */\nexport function* getNextXDayOfXWeekOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { dayOfWeek, duration, frequency, weekOfMonth } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const mStartOfMonth = moment.tz(dateCursor, timezone)\n const year: number = mStartOfMonth.year()\n const month: number = mStartOfMonth.month()\n const startDayOfMonth: number = mStartOfMonth.isoWeekday()\n\n const weekOffset: number = (weekOfMonth - 1) * 7\n const day: number =\n startDayOfMonth > dayOfWeek\n ? dayOfWeek - startDayOfMonth + 8\n : dayOfWeek - startDayOfMonth + 1\n const date: number = weekOffset + day\n\n const nextOccurrenceEnd: number = moment\n .tz(timezone)\n .year(year)\n .month(month)\n .date(date)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Month)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"file":"getNextXDayOfXWeekOfMonth.js"}
1
+ {"version":3,"file":"getNextXDayOfXWeekOfMonth.js","names":["moment","Unit","getNextXDayOfXWeekOfMonth","_ref","end","isInitial","options","start","timezone","_regeneratorRuntime","mark","_callee","dayOfWeek","duration","frequency","weekOfMonth","durationUnit","durationValue","frequencyUnit","frequencyValue","dateCursor","mStartOfMonth","year","month","startDayOfMonth","weekOffset","day","date","nextOccurrenceEnd","nextOccurrenceStart","nextOccurrence","nextDateCursor","wrap","_context","prev","next","unit","value","tz","startOf","Month","valueOf","add","isoWeekday","Day","subtract","abrupt","stop"],"sources":["../../../src/scheduling/strategies/getNextXDayOfXWeekOfMonth.ts"],"sourcesContent":["import moment from 'moment-timezone'\n\nimport { GetNext, Interval, Unit } from '../scheduling.types'\n\n/**\n * Generates next occurrence interval for x day of x week of month strategy\n */\nexport function* getNextXDayOfXWeekOfMonth({\n end,\n isInitial,\n options,\n start,\n timezone,\n}: GetNext): IterableIterator<Interval> {\n const { dayOfWeek, duration, frequency, weekOfMonth } = options\n const { unit: durationUnit, value: durationValue } = duration\n const { unit: frequencyUnit, value: frequencyValue } = frequency\n\n let dateCursor: number = isInitial\n ? moment\n .tz(start, timezone)\n .startOf(Unit.Month)\n .valueOf()\n : moment\n .tz(start, timezone)\n .add(frequencyValue, frequencyUnit)\n .startOf(Unit.Month)\n .valueOf()\n\n while (dateCursor < end) {\n const mStartOfMonth = moment.tz(dateCursor, timezone)\n const year: number = mStartOfMonth.year()\n const month: number = mStartOfMonth.month()\n const startDayOfMonth: number = mStartOfMonth.isoWeekday()\n\n const weekOffset: number = (weekOfMonth - 1) * 7\n const day: number =\n startDayOfMonth > dayOfWeek\n ? dayOfWeek - startDayOfMonth + 8\n : dayOfWeek - startDayOfMonth + 1\n const date: number = weekOffset + day\n\n const nextOccurrenceEnd: number = moment\n .tz(timezone)\n .year(year)\n .month(month)\n .date(date)\n .add(1, Unit.Day)\n .startOf(Unit.Day)\n .valueOf()\n\n const nextOccurrenceStart: number = moment\n .tz(nextOccurrenceEnd, timezone)\n .subtract(durationValue, durationUnit)\n .valueOf()\n\n if (nextOccurrenceEnd <= nextOccurrenceStart || nextOccurrenceEnd > end) {\n return\n }\n\n if (nextOccurrenceStart >= start) {\n const nextOccurrence: Interval = [\n nextOccurrenceStart,\n nextOccurrenceEnd - 1,\n ]\n\n yield nextOccurrence\n }\n\n const nextDateCursor: number = moment\n .tz(dateCursor, timezone)\n .add(1, Unit.Month)\n .valueOf()\n\n dateCursor = nextDateCursor\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scheduling/strategies/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAd;AACA,cAAc,2BAAd;AACA,cAAc,yBAAd;AACA,cAAc,6BAAd;AACA,cAAc,mBAAd;AACA,cAAc,kBAAd;AACA,cAAc,6BAAd","sourcesContent":["export * from './getNext'\nexport * from './getNextExactDateOfMonth'\nexport * from './getNextLastDayOfMonth'\nexport * from './getNextLastWeekdayOfMonth'\nexport * from './getNextNoRepeat'\nexport * from './getNextWeekday'\nexport * from './getNextXDayOfXWeekOfMonth'\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/scheduling/strategies/index.ts"],"sourcesContent":["export * from './getNext'\nexport * from './getNextExactDateOfMonth'\nexport * from './getNextLastDayOfMonth'\nexport * from './getNextLastWeekdayOfMonth'\nexport * from './getNextNoRepeat'\nexport * from './getNextWeekday'\nexport * from './getNextXDayOfXWeekOfMonth'\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,6BAA6B;AAC3C,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,6BAA6B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAd","sourcesContent":["export * from './schema'\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/schema/index.ts"],"sourcesContent":["export * from './schema'\n"],"mappings":"AAAA,cAAc,UAAU","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
3
  import { ValidationError } from '../errors';
4
4
  export { ValidationError };
5
5
  var defaultValidateOptions = {
@@ -9,39 +9,31 @@ var defaultValidateOptions = {
9
9
  export function validate(_x) {
10
10
  return _validate.apply(this, arguments);
11
11
  }
12
-
13
12
  function _validate() {
14
- _validate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
15
- var schema, data, _ref$options, options;
16
-
17
- return _regeneratorRuntime.wrap(function _callee$(_context) {
18
- while (1) {
19
- switch (_context.prev = _context.next) {
20
- case 0:
21
- schema = _ref.schema, data = _ref.data, _ref$options = _ref.options, options = _ref$options === void 0 ? defaultValidateOptions : _ref$options;
22
- _context.prev = 1;
23
- _context.next = 4;
24
- return schema.validate(data, options);
25
-
26
- case 4:
27
- return _context.abrupt("return", _context.sent);
28
-
29
- case 7:
30
- _context.prev = 7;
31
- _context.t0 = _context["catch"](1);
32
- throw new ValidationError({
33
- data: _context.t0
34
- });
35
-
36
- case 10:
37
- case "end":
38
- return _context.stop();
39
- }
13
+ _validate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
14
+ var schema, data, _ref$options, options, _t;
15
+ return _regeneratorRuntime.wrap(function (_context) {
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ schema = _ref.schema, data = _ref.data, _ref$options = _ref.options, options = _ref$options === void 0 ? defaultValidateOptions : _ref$options;
19
+ _context.prev = 1;
20
+ _context.next = 2;
21
+ return schema.validate(data, options);
22
+ case 2:
23
+ return _context.abrupt("return", _context.sent);
24
+ case 3:
25
+ _context.prev = 3;
26
+ _t = _context["catch"](1);
27
+ throw new ValidationError({
28
+ data: _t
29
+ });
30
+ case 4:
31
+ case "end":
32
+ return _context.stop();
40
33
  }
41
- }, _callee, null, [[1, 7]]);
34
+ }, _callee, null, [[1, 3]]);
42
35
  }));
43
36
  return _validate.apply(this, arguments);
44
37
  }
45
-
46
38
  export default validate;
47
39
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/schema.ts"],"names":["ValidationError","defaultValidateOptions","strict","stripUnknown","validate","schema","data","options"],"mappings":";;AACA,SAASA,eAAT,QAAgC,WAAhC;AAEA,SAASA,eAAT;AAQA,IAAMC,sBAAsB,GAAG;AAC7BC,EAAAA,MAAM,EAAE,IADqB;AAE7BC,EAAAA,YAAY,EAAE;AAFe,CAA/B;AAKA,gBAAsBC,QAAtB;AAAA;AAAA;;;uEAAO;AAAA;;AAAA;AAAA;AAAA;AAAA;AACLC,YAAAA,MADK,QACLA,MADK,EAELC,IAFK,QAELA,IAFK,sBAGLC,OAHK,EAGLA,OAHK,6BAGKN,sBAHL;AAAA;AAAA;AAAA,mBAMUI,MAAM,CAACD,QAAP,CAAgBE,IAAhB,EAAsBC,OAAtB,CANV;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,kBAQG,IAAIP,eAAJ,CAAoB;AACxBM,cAAAA,IAAI;AADoB,aAApB,CARH;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAcP,eAAeF,QAAf","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"],"file":"schema.js"}
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":[]}