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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/helpers/build-fetch-url/index.js +2 -2
  2. package/dist/helpers/fetch-image/index.js +1 -1
  3. package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +9 -9
  4. package/dist/helpers/fetch-image-for-web/index.js +3 -14
  5. package/dist/helpers/get-audit-entry-details/index.js +2 -0
  6. package/dist/helpers/get-issue-details/index.js +2 -0
  7. package/dist/helpers/get-task-entry-details/index.js +3 -1
  8. package/dist/pdf/helpers/fields/index.js +2 -2
  9. package/dist/scheduling/scheduling.types.js +9 -9
  10. package/dist/service-hours/schema.js +12 -12
  11. package/lib/errors/DomainError.js +7 -8
  12. package/lib/errors/DomainError.js.map +1 -1
  13. package/lib/errors/ValidationError.js +11 -9
  14. package/lib/errors/ValidationError.js.map +1 -1
  15. package/lib/helpers/build-fetch-url/index.js +2 -2
  16. package/lib/helpers/build-fetch-url/index.js.map +1 -1
  17. package/lib/helpers/fetch-image/index.js +1 -1
  18. package/lib/helpers/fetch-image/index.js.map +1 -1
  19. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +174 -180
  20. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
  21. package/lib/helpers/fetch-image-for-web/index.js +60 -74
  22. package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
  23. package/lib/helpers/fetch-lighthouse-logo/index.js +41 -43
  24. package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
  25. package/lib/helpers/get-audit-entry-details/index.js +2 -0
  26. package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
  27. package/lib/helpers/get-audit-items-data/index.js +8 -8
  28. package/lib/helpers/get-audit-items-data/index.js.map +1 -1
  29. package/lib/helpers/get-issue-details/index.js +2 -0
  30. package/lib/helpers/get-issue-details/index.js.map +1 -1
  31. package/lib/helpers/get-job-details/index.js.map +1 -1
  32. package/lib/helpers/get-location-reference/index.js +6 -4
  33. package/lib/helpers/get-location-reference/index.js.map +1 -1
  34. package/lib/helpers/get-reference-details/index.js.map +1 -1
  35. package/lib/helpers/get-task-entry-details/index.js +3 -1
  36. package/lib/helpers/get-task-entry-details/index.js.map +1 -1
  37. package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
  38. package/lib/pdf/activity-report/index.js +299 -311
  39. package/lib/pdf/activity-report/index.js.map +1 -1
  40. package/lib/pdf/audit/index.js.map +1 -1
  41. package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
  42. package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
  43. package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
  44. package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
  45. package/lib/pdf/helpers/fields/index.js +14 -14
  46. package/lib/pdf/helpers/fields/index.js.map +1 -1
  47. package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
  48. package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
  49. package/lib/pdf/helpers/html-transformer/index.js +1 -2
  50. package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
  51. package/lib/pdf/helpers/table/index.js +63 -65
  52. package/lib/pdf/helpers/table/index.js.map +1 -1
  53. package/lib/pdf/issue/index.js.map +1 -1
  54. package/lib/pdf/job/index.js.map +1 -1
  55. package/lib/pdf/shift-report/index.js +275 -291
  56. package/lib/pdf/shift-report/index.js.map +1 -1
  57. package/lib/pdf/task/index.js.map +1 -1
  58. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +27 -30
  59. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
  60. package/lib/scheduling/generators/scheduleIntervalsGenerator.js +19 -21
  61. package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
  62. package/lib/scheduling/generators/serviceIntervalsGenerator.js +134 -136
  63. package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
  64. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +81 -83
  65. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
  66. package/lib/scheduling/helpers/generateRepeatingSchedule.js +104 -106
  67. package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
  68. package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
  69. package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
  70. package/lib/scheduling/scheduling.types.js +9 -9
  71. package/lib/scheduling/scheduling.types.js.map +1 -1
  72. package/lib/scheduling/strategies/getNext.js +21 -17
  73. package/lib/scheduling/strategies/getNext.js.map +1 -1
  74. package/lib/scheduling/strategies/getNextExactDateOfMonth.js +21 -18
  75. package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
  76. package/lib/scheduling/strategies/getNextLastDayOfMonth.js +20 -17
  77. package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
  78. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +20 -17
  79. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
  80. package/lib/scheduling/strategies/getNextNoRepeat.js +15 -14
  81. package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
  82. package/lib/scheduling/strategies/getNextWeekday.js +36 -33
  83. package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
  84. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +20 -17
  85. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
  86. package/lib/schema/schema.js +21 -23
  87. package/lib/schema/schema.js.map +1 -1
  88. package/lib/service-hours/schema.js +15 -13
  89. package/lib/service-hours/schema.js.map +1 -1
  90. package/package.json +2 -2
  91. package/yarn-error.log +0 -13549
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Promise","each","filter","find","groupBy","isEmpty","map","size","sortBy","sum","toString","trim","moment","duration","getLocationReference","getTimezoneAbbr","getTimezoneDatetime","launchIcon","generateDefinition","horizontalLine","summaryFieldsTable","summaryStatTable","summaryWrapperTable","table","text","threeColumnTable","zebraFillColor","LIGHTHOUSE_BASE_URL","buildShiftPdf","_x","_x2","_buildShiftPdf","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","pdfOptions","data","timestamp","timezone","title","content","wrap","_callee$","_context","prev","next","generateContent","sent","abrupt","_objectSpread","fileTitle","type","stop","_x3","_generateContent","_callee2","activitySection","summarySection","titleTable","_callee2$","_context2","buildActivitySection","buildSummarySection","buildTitleTable","_x4","_buildActivitySection","_callee3","timeline","activitySummary","_callee3$","_context3","buildTimelineTable","buildActivitySummarySection","shift","user","breaks","end","start","headerTitle","style","username","concat","firstName","lastName","headerSubTitle","mTimezoneStart","time","tz","mTimezoneEnd","rangeStart","format","rangeEnd","shiftDuration","getFineDuration","breakDuration","getBreakDuration","header","headerRange","body","layout","audits","events","issues","tasks","eventsByType","enterEventsCount","enter","issuesCount","tasksCount","auditsCount","scansText","issuesText","tasksText","auditsText","scansCountText","issuesCountText","tasksCountText","auditsCountText","scanTable","issueTable","taskTables","auditTable","wrapperTable","_x5","_buildActivitySummarySection","_callee4","settings","enterEvents","auditRows","issueRows","scanRows","taskRows","rows","sortedRows","hLine","activityTable","activitySummarySection","_callee4$","_context4","event","getFormRowData","getScanRowData","_toConsumableArray","buildActivityTable","_x6","_buildActivityTable","_callee6","_ref","timezoneAbbr","activityTableHeader","activityTableRows","activityTableBody","_callee6$","_context6","bold","alignment","_ref6","_callee5","link","location","icon","summaryFields","timezoneHour","iconCell","hasSummaryFields","fieldsTable","activityTableRow","_callee5$","_context5","showTzAbbr","fit","image","fields","push","colSpan","dontBreakRows","headerRow","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","widths","_x8","fillColor","collection","_ref2","locations","zones","document","_id","createdAt","_document$entry","entry","_document$title","entity","_ref3","_document$zone","zone","zoneDoc","doc","zoneName","name","_x7","_buildTimelineTable","_callee8","shiftRows","timelineHeaderRow","timelineTable","timelineSection","_callee8$","_context8","getShiftRowData","_ref7","_callee7","_callee7$","_context7","_x9","_ref4","startValues","getShiftValues","startShift","endValues","endShift","shiftData","startBreak","endBreak","value","_ref5","locationName","durationValue","measurement","durationByMeasurement","days","get","hours","minutes","fineDuration","diff"],"sources":["../../../src/pdf/shift-report/index.js"],"sourcesContent":["import Promise from 'bluebird'\nimport {\n each,\n filter,\n find,\n groupBy,\n isEmpty,\n map,\n size,\n sortBy,\n sum,\n toString,\n trim,\n} from 'lodash'\nimport moment, { duration } from 'moment-timezone'\n\nimport {\n getLocationReference,\n getTimezoneAbbr,\n getTimezoneDatetime,\n} from '../../helpers'\nimport { launchIcon } from '../../images'\nimport {\n generateDefinition,\n horizontalLine,\n summaryFieldsTable,\n summaryStatTable,\n summaryWrapperTable,\n table,\n text,\n threeColumnTable,\n zebraFillColor,\n} from '../helpers'\n\nconst LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io'\n\n/**\n * buildActivityPdf\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {array} data.audits - audit documents\n * @param {array} data.events - event documents\n * @param {array} data.locations - location documents\n * @param {array} data.issues - issue documents\n * @param {array} data.audits - audit documents\n * @param {object} data.shift - shift document\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {array} data.tasks - task documents\n * @param {string} data.timestamp - timestamp string\n * @param {string} data.timezone - timezone string\n * @param {array} data.zones - zone documents\n * @param {array} data.user - user document\n * @returns {Promise} returns pdfmake definition object\n */\n\nexport async function buildShiftPdf(pdfOptions, data) {\n const { timestamp, timezone } = data\n\n const title = 'Daily Shift Report'\n const content = await generateContent(data)\n\n return generateDefinition({\n content,\n fileTitle: title,\n timestamp,\n timezone,\n type: 'Shift Report',\n ...pdfOptions,\n })\n}\n\nasync function generateContent(data) {\n const activitySection = await buildActivitySection(data)\n const summarySection = buildSummarySection(data)\n const titleTable = buildTitleTable(data)\n\n return [titleTable, summarySection, activitySection]\n}\n\nasync function buildActivitySection(data) {\n const timeline = await buildTimelineTable(data)\n const activitySummary = await buildActivitySummarySection(data)\n\n return [timeline, activitySummary]\n}\n\nfunction buildTitleTable(data) {\n const { shift, timezone, user } = data\n const { breaks, duration, end, start } = shift\n\n const headerTitle = text('Daily Shift Report', { style: 'title' })\n const username = `${user.firstName} ${user.lastName}` || 'Unknown User'\n\n const headerSubTitle = text(`${username}`, {\n style: 'subTitle',\n })\n\n const mTimezoneStart = moment(start.time).tz(timezone)\n const mTimezoneEnd = moment(end.time).tz(timezone)\n\n const rangeStart = moment(mTimezoneStart).format('MMM DD h:mma')\n const rangeEnd = moment(mTimezoneEnd).format('MMM DD h:mma')\n\n const shiftDuration = getFineDuration(duration)\n const breakDuration = getBreakDuration(breaks)\n\n const header = !breakDuration\n ? `${rangeStart} - ${rangeEnd} | Duration: ${shiftDuration}`\n : `${rangeStart} - ${rangeEnd} | Duration: ${shiftDuration}, Break: ${breakDuration}`\n const headerRange = text(header, {\n style: 'subTitle2',\n })\n\n return table({\n body: [[headerTitle], [headerSubTitle], [headerRange]],\n layout: 'noBorders',\n style: 'titleTable',\n })\n}\n\nfunction buildSummarySection(data) {\n const { audits, events, issues, tasks } = data\n\n const eventsByType = groupBy(events, 'type')\n\n const enterEventsCount = size(eventsByType.enter)\n const issuesCount = size(issues)\n const tasksCount = size(tasks)\n const auditsCount = size(audits)\n\n const scansText = text('SCANS', { style: 'summaryText' })\n const issuesText = text('ISSUES', { style: 'summaryText' })\n const tasksText = text('TASKS', { style: 'summaryText' })\n const auditsText = text('AUDITS', { style: 'summaryText' })\n\n const scansCountText = text(toString(enterEventsCount), {\n style: 'summaryCount',\n })\n const issuesCountText = text(toString(issuesCount), { style: 'summaryCount' })\n const tasksCountText = text(toString(tasksCount), { style: 'summaryCount' })\n const auditsCountText = text(toString(auditsCount), { style: 'summaryCount' })\n\n const scanTable = summaryStatTable({ body: [[scansText], [scansCountText]] })\n const issueTable = summaryStatTable({\n body: [[issuesText], [issuesCountText]],\n })\n const taskTables = summaryStatTable({ body: [[tasksText], [tasksCountText]] })\n const auditTable = summaryStatTable({\n body: [[auditsText], [auditsCountText]],\n })\n\n const wrapperTable = summaryWrapperTable({\n body: [[scanTable, issueTable, taskTables, auditTable]],\n })\n\n return wrapperTable\n}\n\nasync function buildActivitySummarySection(data) {\n const { audits, events, issues, settings, tasks, timezone } = data\n\n const enterEvents = filter(events, event => event.type === 'enter')\n\n const auditRows = map(audits, getFormRowData('audits', data))\n const issueRows = map(issues, getFormRowData('issues', data))\n const scanRows = map(enterEvents, getScanRowData(data))\n const taskRows = map(tasks, getFormRowData('tasks', data))\n\n const rows = [...auditRows, ...issueRows, ...scanRows, ...taskRows]\n const sortedRows = sortBy(rows, ['timestamp'], ['asc'])\n const title = text('Activity Summary', { style: 'summarySectionHeader' })\n\n const header = table({\n body: [[title]],\n layout: 'noBorders',\n style: 'summaryHeaderTable',\n })\n\n const hLine = horizontalLine()\n const activityTable = await buildActivityTable({\n rows: sortedRows,\n settings,\n timezone,\n })\n const activitySummarySection = [header, hLine, activityTable]\n\n return activitySummarySection\n}\n\nasync function buildActivityTable({ rows, settings, timezone }) {\n const timezoneAbbr = getTimezoneAbbr(timezone)\n\n const activityTableHeader = [\n text('Activity', { bold: true }),\n { text: '' },\n text('Location', { bold: true }),\n text(`Timestamp (${timezoneAbbr})`, { alignment: 'right', bold: true }),\n ]\n\n const activityTableRows = await Promise.map(rows, async function(data) {\n const { link, location, icon, summaryFields, timestamp, title } = data\n\n const timezoneHour = getTimezoneDatetime({\n format: 'ddd DD h:mm a',\n showTzAbbr: false,\n timestamp,\n timezone,\n })\n\n const iconCell = icon\n ? { alignment: 'center', fit: [8, 8], image: icon, link }\n : { text: '' }\n\n const rows = [\n [\n text(title, { link }),\n iconCell,\n text(location, { link }),\n text(timezoneHour, { alignment: 'right', link }),\n ],\n ]\n\n const hasSummaryFields = !isEmpty(summaryFields)\n\n if (hasSummaryFields) {\n const fieldsTable = await summaryFieldsTable({\n fields: summaryFields,\n settings,\n timezone,\n })\n rows.push([fieldsTable])\n }\n\n const activityTableRow = [\n table({\n body: [...rows],\n colSpan: 5,\n dontBreakRows: true,\n headerRow: 0,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 0,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineWidth: () => 0,\n },\n widths: [120, 25, 200, 110, '*'],\n }),\n ]\n\n return activityTableRow\n })\n\n const activityTableBody = isEmpty(activityTableRows)\n ? [[text('No other activity', { colSpan: 4 })]]\n : activityTableRows\n\n const activityTable = table({\n body: [activityTableHeader, ...activityTableBody],\n dontBreakRows: true,\n layout: {\n hLineWidth: () => 0,\n fillColor: zebraFillColor,\n paddingLeft: () => 5,\n paddingRight: () => 5,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineWidth: () => 0,\n },\n widths: [110, 15, 230, 80, '*'],\n })\n\n return activityTable\n}\n\nfunction getFormRowData(collection, { locations, zones }) {\n return document => {\n const { _id, createdAt, entry = {}, title = 'Unknown' } = document\n\n const location = getLocationReference({\n entity: document,\n locations,\n zones,\n })\n\n const link = `${LIGHTHOUSE_BASE_URL}/reports/${collection}/${_id}`\n const timestamp = createdAt\n\n const summaryFields = entry.summaryFields || []\n\n return {\n icon: launchIcon,\n location,\n link,\n summaryFields,\n timestamp,\n title,\n }\n }\n}\n\nfunction getScanRowData({ zones }) {\n return document => {\n const { timestamp, zone = '' } = document\n\n const zoneDoc =\n zone && find(zones, doc => doc._id.toString() === zone.toString())\n\n const zoneName = zoneDoc && zoneDoc.name\n const location = zoneName || 'Unknown Location'\n\n const title = 'Location Scan'\n\n return {\n location,\n timestamp,\n title,\n }\n }\n}\n\nasync function buildTimelineTable(data) {\n const { timezone } = data\n const timezoneAbbr = getTimezoneAbbr(timezone)\n\n const shiftRows = getShiftRowData(data)\n\n const sortedRows = sortBy(shiftRows, ['timestamp'], ['asc'])\n const timeline = await Promise.map(sortedRows, async function(data) {\n const { location, timestamp, title } = data\n\n const timezoneHour = getTimezoneDatetime({\n format: 'ddd DD h:mm a',\n showTzAbbr: false,\n timestamp,\n timezone,\n })\n\n const rows = [\n text(title),\n text(location),\n text(timezoneHour, { alignment: 'right' }),\n ]\n\n return rows\n })\n\n const timelineHeaderRow = [\n text('Activity', { bold: true }),\n text('Location', { bold: true }),\n text(`Timestamp (${timezoneAbbr})`, { alignment: 'right', bold: true }),\n ]\n\n const timelineTable = threeColumnTable({\n body: [timelineHeaderRow, ...timeline],\n })\n\n const title = text('Timeline', { style: 'timelineTitle' })\n\n const header = table({\n body: [[title]],\n layout: 'noBorders',\n style: 'summaryHeaderTable',\n })\n\n const hLine = horizontalLine()\n\n const timelineSection = [header, hLine, timelineTable]\n\n return timelineSection\n}\n\nfunction getShiftRowData({ locations, shift, zones }) {\n const { breaks, end, start } = shift\n\n const startValues = getShiftValues(start, { locations, shift, zones })\n const startShift = { title: 'Shift Started', ...startValues }\n const endValues = getShiftValues(end, { locations, shift, zones })\n const endShift = { title: 'Shift Ended', ...endValues }\n\n const shiftData = [startShift, endShift]\n\n each(breaks, function(data) {\n const { end, start } = data\n const startValues = getShiftValues(start, { locations, shift, zones })\n const startBreak = { title: 'Break Started', ...startValues }\n const endValues = getShiftValues(end, { locations, shift, zones })\n const endBreak = { title: 'Break Ended', ...endValues }\n\n shiftData.push(startBreak)\n shiftData.push(endBreak)\n })\n\n return shiftData\n}\n\nfunction getShiftValues(value, { locations, shift, zones }) {\n const locationName = getLocationReference({\n entity: value,\n locations,\n zones,\n })\n\n const location =\n locationName === 'Unknown Location'\n ? getLocationReference({\n entity: shift,\n locations,\n zones,\n })\n : locationName\n\n return {\n timestamp: value.time,\n location,\n }\n}\n\nexport function getFineDuration(durationValue) {\n const measurement = 'milliseconds'\n const durationByMeasurement = duration(durationValue, measurement)\n const days = durationByMeasurement.get('days')\n const hours = durationByMeasurement.get('hours')\n const minutes = durationByMeasurement.get('minutes')\n let fineDuration = ''\n fineDuration += days !== 0 ? days + 'd ' : ''\n fineDuration += hours !== 0 ? hours + 'h ' : ''\n fineDuration += minutes !== 0 ? minutes + 'm' : ''\n\n return trim(fineDuration)\n}\n\nfunction getBreakDuration(breaks) {\n const duration = sum(\n map(breaks, function(data) {\n const { end, start } = data\n const endBreak = moment(end.time)\n const startBreak = moment(start.time)\n const breakDuration = endBreak.diff(startBreak)\n\n return breakDuration\n })\n )\n\n const breakDuration = getFineDuration(duration)\n\n return breakDuration\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Promise","each","filter","find","groupBy","isEmpty","map","size","sortBy","sum","toString","trim","moment","duration","getLocationReference","getTimezoneAbbr","getTimezoneDatetime","launchIcon","generateDefinition","horizontalLine","summaryFieldsTable","summaryStatTable","summaryWrapperTable","table","text","threeColumnTable","zebraFillColor","LIGHTHOUSE_BASE_URL","buildShiftPdf","_x","_x2","_buildShiftPdf","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","pdfOptions","data","timestamp","timezone","title","content","wrap","_context","prev","next","generateContent","sent","abrupt","_objectSpread","fileTitle","type","stop","_x3","_generateContent","_callee2","activitySection","summarySection","titleTable","_context2","buildActivitySection","buildSummarySection","buildTitleTable","_x4","_buildActivitySection","_callee3","timeline","activitySummary","_context3","buildTimelineTable","buildActivitySummarySection","shift","user","breaks","end","start","headerTitle","style","username","concat","firstName","lastName","headerSubTitle","mTimezoneStart","time","tz","mTimezoneEnd","rangeStart","format","rangeEnd","shiftDuration","getFineDuration","breakDuration","getBreakDuration","header","headerRange","body","layout","audits","events","issues","tasks","eventsByType","enterEventsCount","enter","issuesCount","tasksCount","auditsCount","scansText","issuesText","tasksText","auditsText","scansCountText","issuesCountText","tasksCountText","auditsCountText","scanTable","issueTable","taskTables","auditTable","wrapperTable","_x5","_buildActivitySummarySection","_callee4","settings","enterEvents","auditRows","issueRows","scanRows","taskRows","rows","sortedRows","hLine","activityTable","activitySummarySection","_context4","event","getFormRowData","getScanRowData","_toConsumableArray","buildActivityTable","_x6","_buildActivityTable","_callee6","_ref","timezoneAbbr","activityTableHeader","activityTableRows","activityTableBody","_context6","bold","alignment","_ref6","_callee5","link","location","icon","summaryFields","timezoneHour","iconCell","hasSummaryFields","fieldsTable","activityTableRow","_context5","showTzAbbr","fit","image","fields","push","colSpan","dontBreakRows","headerRow","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","widths","_x8","fillColor","collection","_ref2","locations","zones","document","_id","createdAt","_document$entry","entry","_document$title","entity","_ref3","_document$zone","zone","zoneDoc","doc","zoneName","name","_x7","_buildTimelineTable","_callee8","shiftRows","timelineHeaderRow","timelineTable","timelineSection","_context8","getShiftRowData","_ref7","_callee7","_context7","_x9","_ref4","startValues","getShiftValues","startShift","endValues","endShift","shiftData","startBreak","endBreak","value","_ref5","locationName","durationValue","measurement","durationByMeasurement","days","get","hours","minutes","fineDuration","diff"],"sources":["../../../src/pdf/shift-report/index.js"],"sourcesContent":["import Promise from 'bluebird'\nimport {\n each,\n filter,\n find,\n groupBy,\n isEmpty,\n map,\n size,\n sortBy,\n sum,\n toString,\n trim,\n} from 'lodash'\nimport moment, { duration } from 'moment-timezone'\n\nimport {\n getLocationReference,\n getTimezoneAbbr,\n getTimezoneDatetime,\n} from '../../helpers'\nimport { launchIcon } from '../../images'\nimport {\n generateDefinition,\n horizontalLine,\n summaryFieldsTable,\n summaryStatTable,\n summaryWrapperTable,\n table,\n text,\n threeColumnTable,\n zebraFillColor,\n} from '../helpers'\n\nconst LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io'\n\n/**\n * buildActivityPdf\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {array} data.audits - audit documents\n * @param {array} data.events - event documents\n * @param {array} data.locations - location documents\n * @param {array} data.issues - issue documents\n * @param {array} data.audits - audit documents\n * @param {object} data.shift - shift document\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {array} data.tasks - task documents\n * @param {string} data.timestamp - timestamp string\n * @param {string} data.timezone - timezone string\n * @param {array} data.zones - zone documents\n * @param {array} data.user - user document\n * @returns {Promise} returns pdfmake definition object\n */\n\nexport async function buildShiftPdf(pdfOptions, data) {\n const { timestamp, timezone } = data\n\n const title = 'Daily Shift Report'\n const content = await generateContent(data)\n\n return generateDefinition({\n content,\n fileTitle: title,\n timestamp,\n timezone,\n type: 'Shift Report',\n ...pdfOptions,\n })\n}\n\nasync function generateContent(data) {\n const activitySection = await buildActivitySection(data)\n const summarySection = buildSummarySection(data)\n const titleTable = buildTitleTable(data)\n\n return [titleTable, summarySection, activitySection]\n}\n\nasync function buildActivitySection(data) {\n const timeline = await buildTimelineTable(data)\n const activitySummary = await buildActivitySummarySection(data)\n\n return [timeline, activitySummary]\n}\n\nfunction buildTitleTable(data) {\n const { shift, timezone, user } = data\n const { breaks, duration, end, start } = shift\n\n const headerTitle = text('Daily Shift Report', { style: 'title' })\n const username = `${user.firstName} ${user.lastName}` || 'Unknown User'\n\n const headerSubTitle = text(`${username}`, {\n style: 'subTitle',\n })\n\n const mTimezoneStart = moment(start.time).tz(timezone)\n const mTimezoneEnd = moment(end.time).tz(timezone)\n\n const rangeStart = moment(mTimezoneStart).format('MMM DD h:mma')\n const rangeEnd = moment(mTimezoneEnd).format('MMM DD h:mma')\n\n const shiftDuration = getFineDuration(duration)\n const breakDuration = getBreakDuration(breaks)\n\n const header = !breakDuration\n ? `${rangeStart} - ${rangeEnd} | Duration: ${shiftDuration}`\n : `${rangeStart} - ${rangeEnd} | Duration: ${shiftDuration}, Break: ${breakDuration}`\n const headerRange = text(header, {\n style: 'subTitle2',\n })\n\n return table({\n body: [[headerTitle], [headerSubTitle], [headerRange]],\n layout: 'noBorders',\n style: 'titleTable',\n })\n}\n\nfunction buildSummarySection(data) {\n const { audits, events, issues, tasks } = data\n\n const eventsByType = groupBy(events, 'type')\n\n const enterEventsCount = size(eventsByType.enter)\n const issuesCount = size(issues)\n const tasksCount = size(tasks)\n const auditsCount = size(audits)\n\n const scansText = text('SCANS', { style: 'summaryText' })\n const issuesText = text('ISSUES', { style: 'summaryText' })\n const tasksText = text('TASKS', { style: 'summaryText' })\n const auditsText = text('AUDITS', { style: 'summaryText' })\n\n const scansCountText = text(toString(enterEventsCount), {\n style: 'summaryCount',\n })\n const issuesCountText = text(toString(issuesCount), { style: 'summaryCount' })\n const tasksCountText = text(toString(tasksCount), { style: 'summaryCount' })\n const auditsCountText = text(toString(auditsCount), { style: 'summaryCount' })\n\n const scanTable = summaryStatTable({ body: [[scansText], [scansCountText]] })\n const issueTable = summaryStatTable({\n body: [[issuesText], [issuesCountText]],\n })\n const taskTables = summaryStatTable({ body: [[tasksText], [tasksCountText]] })\n const auditTable = summaryStatTable({\n body: [[auditsText], [auditsCountText]],\n })\n\n const wrapperTable = summaryWrapperTable({\n body: [[scanTable, issueTable, taskTables, auditTable]],\n })\n\n return wrapperTable\n}\n\nasync function buildActivitySummarySection(data) {\n const { audits, events, issues, settings, tasks, timezone } = data\n\n const enterEvents = filter(events, event => event.type === 'enter')\n\n const auditRows = map(audits, getFormRowData('audits', data))\n const issueRows = map(issues, getFormRowData('issues', data))\n const scanRows = map(enterEvents, getScanRowData(data))\n const taskRows = map(tasks, getFormRowData('tasks', data))\n\n const rows = [...auditRows, ...issueRows, ...scanRows, ...taskRows]\n const sortedRows = sortBy(rows, ['timestamp'], ['asc'])\n const title = text('Activity Summary', { style: 'summarySectionHeader' })\n\n const header = table({\n body: [[title]],\n layout: 'noBorders',\n style: 'summaryHeaderTable',\n })\n\n const hLine = horizontalLine()\n const activityTable = await buildActivityTable({\n rows: sortedRows,\n settings,\n timezone,\n })\n const activitySummarySection = [header, hLine, activityTable]\n\n return activitySummarySection\n}\n\nasync function buildActivityTable({ rows, settings, timezone }) {\n const timezoneAbbr = getTimezoneAbbr(timezone)\n\n const activityTableHeader = [\n text('Activity', { bold: true }),\n { text: '' },\n text('Location', { bold: true }),\n text(`Timestamp (${timezoneAbbr})`, { alignment: 'right', bold: true }),\n ]\n\n const activityTableRows = await Promise.map(rows, async function(data) {\n const { link, location, icon, summaryFields, timestamp, title } = data\n\n const timezoneHour = getTimezoneDatetime({\n format: 'ddd DD h:mm a',\n showTzAbbr: false,\n timestamp,\n timezone,\n })\n\n const iconCell = icon\n ? { alignment: 'center', fit: [8, 8], image: icon, link }\n : { text: '' }\n\n const rows = [\n [\n text(title, { link }),\n iconCell,\n text(location, { link }),\n text(timezoneHour, { alignment: 'right', link }),\n ],\n ]\n\n const hasSummaryFields = !isEmpty(summaryFields)\n\n if (hasSummaryFields) {\n const fieldsTable = await summaryFieldsTable({\n fields: summaryFields,\n settings,\n timezone,\n })\n rows.push([fieldsTable])\n }\n\n const activityTableRow = [\n table({\n body: [...rows],\n colSpan: 5,\n dontBreakRows: true,\n headerRow: 0,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 0,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineWidth: () => 0,\n },\n widths: [120, 25, 200, 110, '*'],\n }),\n ]\n\n return activityTableRow\n })\n\n const activityTableBody = isEmpty(activityTableRows)\n ? [[text('No other activity', { colSpan: 4 })]]\n : activityTableRows\n\n const activityTable = table({\n body: [activityTableHeader, ...activityTableBody],\n dontBreakRows: true,\n layout: {\n hLineWidth: () => 0,\n fillColor: zebraFillColor,\n paddingLeft: () => 5,\n paddingRight: () => 5,\n paddingTop: () => 5,\n paddingBottom: () => 5,\n vLineWidth: () => 0,\n },\n widths: [110, 15, 230, 80, '*'],\n })\n\n return activityTable\n}\n\nfunction getFormRowData(collection, { locations, zones }) {\n return document => {\n const { _id, createdAt, entry = {}, title = 'Unknown' } = document\n\n const location = getLocationReference({\n entity: document,\n locations,\n zones,\n })\n\n const link = `${LIGHTHOUSE_BASE_URL}/reports/${collection}/${_id}`\n const timestamp = createdAt\n\n const summaryFields = entry.summaryFields || []\n\n return {\n icon: launchIcon,\n location,\n link,\n summaryFields,\n timestamp,\n title,\n }\n }\n}\n\nfunction getScanRowData({ zones }) {\n return document => {\n const { timestamp, zone = '' } = document\n\n const zoneDoc =\n zone && find(zones, doc => doc._id.toString() === zone.toString())\n\n const zoneName = zoneDoc && zoneDoc.name\n const location = zoneName || 'Unknown Location'\n\n const title = 'Location Scan'\n\n return {\n location,\n timestamp,\n title,\n }\n }\n}\n\nasync function buildTimelineTable(data) {\n const { timezone } = data\n const timezoneAbbr = getTimezoneAbbr(timezone)\n\n const shiftRows = getShiftRowData(data)\n\n const sortedRows = sortBy(shiftRows, ['timestamp'], ['asc'])\n const timeline = await Promise.map(sortedRows, async function(data) {\n const { location, timestamp, title } = data\n\n const timezoneHour = getTimezoneDatetime({\n format: 'ddd DD h:mm a',\n showTzAbbr: false,\n timestamp,\n timezone,\n })\n\n const rows = [\n text(title),\n text(location),\n text(timezoneHour, { alignment: 'right' }),\n ]\n\n return rows\n })\n\n const timelineHeaderRow = [\n text('Activity', { bold: true }),\n text('Location', { bold: true }),\n text(`Timestamp (${timezoneAbbr})`, { alignment: 'right', bold: true }),\n ]\n\n const timelineTable = threeColumnTable({\n body: [timelineHeaderRow, ...timeline],\n })\n\n const title = text('Timeline', { style: 'timelineTitle' })\n\n const header = table({\n body: [[title]],\n layout: 'noBorders',\n style: 'summaryHeaderTable',\n })\n\n const hLine = horizontalLine()\n\n const timelineSection = [header, hLine, timelineTable]\n\n return timelineSection\n}\n\nfunction getShiftRowData({ locations, shift, zones }) {\n const { breaks, end, start } = shift\n\n const startValues = getShiftValues(start, { locations, shift, zones })\n const startShift = { title: 'Shift Started', ...startValues }\n const endValues = getShiftValues(end, { locations, shift, zones })\n const endShift = { title: 'Shift Ended', ...endValues }\n\n const shiftData = [startShift, endShift]\n\n each(breaks, function(data) {\n const { end, start } = data\n const startValues = getShiftValues(start, { locations, shift, zones })\n const startBreak = { title: 'Break Started', ...startValues }\n const endValues = getShiftValues(end, { locations, shift, zones })\n const endBreak = { title: 'Break Ended', ...endValues }\n\n shiftData.push(startBreak)\n shiftData.push(endBreak)\n })\n\n return shiftData\n}\n\nfunction getShiftValues(value, { locations, shift, zones }) {\n const locationName = getLocationReference({\n entity: value,\n locations,\n zones,\n })\n\n const location =\n locationName === 'Unknown Location'\n ? getLocationReference({\n entity: shift,\n locations,\n zones,\n })\n : locationName\n\n return {\n timestamp: value.time,\n location,\n }\n}\n\nexport function getFineDuration(durationValue) {\n const measurement = 'milliseconds'\n const durationByMeasurement = duration(durationValue, measurement)\n const days = durationByMeasurement.get('days')\n const hours = durationByMeasurement.get('hours')\n const minutes = durationByMeasurement.get('minutes')\n let fineDuration = ''\n fineDuration += days !== 0 ? days + 'd ' : ''\n fineDuration += hours !== 0 ? hours + 'h ' : ''\n fineDuration += minutes !== 0 ? minutes + 'm' : ''\n\n return trim(fineDuration)\n}\n\nfunction getBreakDuration(breaks) {\n const duration = sum(\n map(breaks, function(data) {\n const { end, start } = data\n const endBreak = moment(end.time)\n const startBreak = moment(start.time)\n const breakDuration = endBreak.diff(startBreak)\n\n return breakDuration\n })\n )\n\n const breakDuration = getFineDuration(duration)\n\n return breakDuration\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isEmpty","moment","buildTemplateContent","generateDefinition","getFormattedAddress","text","table","getTaskEntryDetails","buildTaskPdf","pdfOptions","data","entity","timezone","sequenceId","timestamp","createdAt","title","fileTitle","concat","generateContent","then","content","_objectSpread","type","entry","_entity$gps","gps","entityDetails","gpsText","locationText","referenceValue","timezoneHourTime","reverseGeocoded","subTitle","headerSubTitle","style","headerTitle","address","headerAddress","body","push","startedAtInTimezone","startedAt","tz","format","submittedAtInTimezone","submittedAt","momentDuration","duration","Math","abs","formDuration","days","floor","asDays","toString","padStart","hours","minutes","seconds","formattedFormDuration","titleTable","layout","formGroups","_toConsumableArray"],"sources":["../../../src/pdf/task/index.js"],"sourcesContent":["import { isEmpty } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n text,\n table,\n} from '../helpers'\nimport { getTaskEntryDetails } from '../../helpers'\n\n/**\n * buildTaskPdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {object} data.entity - task document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @param {object} data.zones - zone documents\n * @returns {Promise} returns pdfmake definition object\n */\nexport function buildTaskPdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Task Report - ${title}`\n\n return generateContent(data).then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Task',\n ...pdfOptions,\n })\n )\n}\n\nfunction generateContent(data) {\n const { entity, timezone } = data\n\n const { entry, gps = {}, title } = entity\n\n const entityDetails = getTaskEntryDetails(data)\n\n const {\n gpsText,\n locationText,\n referenceValue,\n timezoneHourTime,\n } = entityDetails\n\n const reverseGeocoded = gps.reverseGeocoded\n\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n const headerSubTitle = text(subTitle, { style: 'subTitle' })\n const headerTitle = text(title, { style: 'title' })\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const headerAddress = text(address, { style: 'small' })\n\n const body = [[headerTitle], [headerSubTitle]]\n\n if (!isEmpty(reverseGeocoded)) {\n body.push([headerAddress])\n }\n\n const startedAtInTimezone = entity.startedAt\n ? moment(entity.startedAt)\n .tz(timezone)\n .format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const startedAt = text(`Started: ${startedAtInTimezone}`, {\n style: 'small',\n })\n\n const submittedAtInTimezone = entity.submittedAt\n ? moment(entity.submittedAt)\n .tz(timezone)\n .format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const submittedAt = text(`Submitted: ${submittedAtInTimezone}`, {\n style: 'small',\n })\n\n const momentDuration = moment.duration(Math.abs(entity.formDuration))\n const days = Math.floor(momentDuration.asDays())\n .toString()\n .padStart(2, '0')\n const hours = Math.floor(momentDuration.hours())\n .toString()\n .padStart(2, '0')\n const minutes = momentDuration\n .minutes()\n .toString()\n .padStart(2, '0')\n const seconds = momentDuration\n .seconds()\n .toString()\n .padStart(2, '0')\n const formattedFormDuration = entity.formDuration\n ? `${\n entity.formDuration < 0 ? '-' : ''\n }${days}:${hours}:${minutes}:${seconds}`\n : 'Not recorded'\n const formDuration = text(\n `Form Duration (DD:HH:MM:SS): ${formattedFormDuration}`,\n {\n style: 'small',\n }\n )\n\n body.push([startedAt])\n body.push([submittedAt])\n body.push([formDuration])\n\n const titleTable = table({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n })\n\n return buildTemplateContent(entry.formGroups, data).then(entry => [\n titleTable,\n ...entry,\n ])\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isEmpty","moment","buildTemplateContent","generateDefinition","getFormattedAddress","text","table","getTaskEntryDetails","buildTaskPdf","pdfOptions","data","entity","timezone","sequenceId","timestamp","createdAt","title","fileTitle","concat","generateContent","then","content","_objectSpread","type","entry","_entity$gps","gps","entityDetails","gpsText","locationText","referenceValue","timezoneHourTime","reverseGeocoded","subTitle","headerSubTitle","style","headerTitle","address","headerAddress","body","push","startedAtInTimezone","startedAt","tz","format","submittedAtInTimezone","submittedAt","momentDuration","duration","Math","abs","formDuration","days","floor","asDays","toString","padStart","hours","minutes","seconds","formattedFormDuration","titleTable","layout","formGroups","_toConsumableArray"],"sources":["../../../src/pdf/task/index.js"],"sourcesContent":["import { isEmpty } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n text,\n table,\n} from '../helpers'\nimport { getTaskEntryDetails } from '../../helpers'\n\n/**\n * buildTaskPdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {object} data.entity - task document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @param {object} data.zones - zone documents\n * @returns {Promise} returns pdfmake definition object\n */\nexport function buildTaskPdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Task Report - ${title}`\n\n return generateContent(data).then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Task',\n ...pdfOptions,\n })\n )\n}\n\nfunction generateContent(data) {\n const { entity, timezone } = data\n\n const { entry, gps = {}, title } = entity\n\n const entityDetails = getTaskEntryDetails(data)\n\n const {\n gpsText,\n locationText,\n referenceValue,\n timezoneHourTime,\n } = entityDetails\n\n const reverseGeocoded = gps.reverseGeocoded\n\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n const headerSubTitle = text(subTitle, { style: 'subTitle' })\n const headerTitle = text(title, { style: 'title' })\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const headerAddress = text(address, { style: 'small' })\n\n const body = [[headerTitle], [headerSubTitle]]\n\n if (!isEmpty(reverseGeocoded)) {\n body.push([headerAddress])\n }\n\n const startedAtInTimezone = entity.startedAt\n ? moment(entity.startedAt)\n .tz(timezone)\n .format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const startedAt = text(`Started: ${startedAtInTimezone}`, {\n style: 'small',\n })\n\n const submittedAtInTimezone = entity.submittedAt\n ? moment(entity.submittedAt)\n .tz(timezone)\n .format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const submittedAt = text(`Submitted: ${submittedAtInTimezone}`, {\n style: 'small',\n })\n\n const momentDuration = moment.duration(Math.abs(entity.formDuration))\n const days = Math.floor(momentDuration.asDays())\n .toString()\n .padStart(2, '0')\n const hours = Math.floor(momentDuration.hours())\n .toString()\n .padStart(2, '0')\n const minutes = momentDuration\n .minutes()\n .toString()\n .padStart(2, '0')\n const seconds = momentDuration\n .seconds()\n .toString()\n .padStart(2, '0')\n const formattedFormDuration = entity.formDuration\n ? `${\n entity.formDuration < 0 ? '-' : ''\n }${days}:${hours}:${minutes}:${seconds}`\n : 'Not recorded'\n const formDuration = text(\n `Form Duration (DD:HH:MM:SS): ${formattedFormDuration}`,\n {\n style: 'small',\n }\n )\n\n body.push([startedAt])\n body.push([submittedAt])\n body.push([formDuration])\n\n const titleTable = table({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n })\n\n return buildTemplateContent(entry.formGroups, data).then(entry => [\n titleTable,\n ...entry,\n ])\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,42 +1,39 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- var _strategyTypeMap;
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
3
  var _marked = /*#__PURE__*/_regeneratorRuntime.mark(occurrenceIntervalsGenerator);
5
4
  import { StrategyTypes } from '../scheduling.types';
6
5
  import { getNext, getNextExactDateOfMonth, getNextLastDayOfMonth, getNextLastWeekdayOfMonth, getNextNoRepeat, getNextWeekday, getNextXDayOfXWeekOfMonth } from '../strategies';
7
- export var strategyTypeMap = (_strategyTypeMap = {}, _defineProperty(_strategyTypeMap, StrategyTypes.ExactDateOfMonth, getNextExactDateOfMonth), _defineProperty(_strategyTypeMap, StrategyTypes.LastDayOfMonth, getNextLastDayOfMonth), _defineProperty(_strategyTypeMap, StrategyTypes.LastWeekdayOfMonth, getNextLastWeekdayOfMonth), _defineProperty(_strategyTypeMap, StrategyTypes.NoRepeat, getNextNoRepeat), _defineProperty(_strategyTypeMap, StrategyTypes.Stopwatch, getNext), _defineProperty(_strategyTypeMap, StrategyTypes.Weekdays, getNextWeekday), _defineProperty(_strategyTypeMap, StrategyTypes.Window, getNext), _defineProperty(_strategyTypeMap, StrategyTypes.XDayOfXWeekOfMonth, getNextXDayOfXWeekOfMonth), _strategyTypeMap);
6
+ export var strategyTypeMap = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, StrategyTypes.ExactDateOfMonth, getNextExactDateOfMonth), StrategyTypes.LastDayOfMonth, getNextLastDayOfMonth), StrategyTypes.LastWeekdayOfMonth, getNextLastWeekdayOfMonth), StrategyTypes.NoRepeat, getNextNoRepeat), StrategyTypes.Stopwatch, getNext), StrategyTypes.Weekdays, getNextWeekday), StrategyTypes.Window, getNext), StrategyTypes.XDayOfXWeekOfMonth, getNextXDayOfXWeekOfMonth);
8
7
  /**
9
8
  * Generates occurrence intervals for service intervals using strategy
10
9
  */
11
10
  export function occurrenceIntervalsGenerator(props) {
12
11
  var isInitial, serviceInterval, strategy, timezone, options, type, start, end, getNextFn;
13
- return _regeneratorRuntime.wrap(function occurrenceIntervalsGenerator$(_context) {
14
- while (1) {
15
- switch (_context.prev = _context.next) {
16
- case 0:
17
- isInitial = props.isInitial, serviceInterval = props.serviceInterval, strategy = props.strategy, timezone = props.timezone;
18
- options = strategy.options, type = strategy.type;
19
- start = serviceInterval[0];
20
- end = serviceInterval[1];
21
- getNextFn = strategyTypeMap[type];
22
- if (getNextFn) {
23
- _context.next = 7;
24
- break;
25
- }
26
- return _context.abrupt("return");
27
- case 7:
28
- return _context.delegateYield(getNextFn({
29
- end: end,
30
- isInitial: isInitial,
31
- start: start,
32
- options: options,
33
- timezone: timezone,
34
- type: type
35
- }), "t0", 8);
36
- case 8:
37
- case "end":
38
- return _context.stop();
39
- }
12
+ return _regeneratorRuntime.wrap(function (_context) {
13
+ while (1) switch (_context.prev = _context.next) {
14
+ case 0:
15
+ isInitial = props.isInitial, serviceInterval = props.serviceInterval, strategy = props.strategy, timezone = props.timezone;
16
+ options = strategy.options, type = strategy.type;
17
+ start = serviceInterval[0];
18
+ end = serviceInterval[1];
19
+ getNextFn = strategyTypeMap[type];
20
+ if (getNextFn) {
21
+ _context.next = 1;
22
+ break;
23
+ }
24
+ return _context.abrupt("return");
25
+ case 1:
26
+ return _context.delegateYield(getNextFn({
27
+ end: end,
28
+ isInitial: isInitial,
29
+ start: start,
30
+ options: options,
31
+ timezone: timezone,
32
+ type: type
33
+ }), "t0", 2);
34
+ case 2:
35
+ case "end":
36
+ return _context.stop();
40
37
  }
41
38
  }, _marked);
42
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"occurrenceIntervalsGenerator.js","names":["occurrenceIntervalsGenerator","StrategyTypes","getNext","getNextExactDateOfMonth","getNextLastDayOfMonth","getNextLastWeekdayOfMonth","getNextNoRepeat","getNextWeekday","getNextXDayOfXWeekOfMonth","strategyTypeMap","_strategyTypeMap","_defineProperty","ExactDateOfMonth","LastDayOfMonth","LastWeekdayOfMonth","NoRepeat","Stopwatch","Weekdays","Window","XDayOfXWeekOfMonth","props","isInitial","serviceInterval","strategy","timezone","options","type","start","end","getNextFn","_regeneratorRuntime","wrap","occurrenceIntervalsGenerator$","_context","prev","next","abrupt","delegateYield","stop","_marked"],"sources":["../../../src/scheduling/generators/occurrenceIntervalsGenerator.ts"],"sourcesContent":["import { Interval, Strategy, StrategyTypes } from '../scheduling.types'\n\nimport {\n getNext,\n getNextExactDateOfMonth,\n getNextLastDayOfMonth,\n getNextLastWeekdayOfMonth,\n getNextNoRepeat,\n getNextWeekday,\n getNextXDayOfXWeekOfMonth,\n} from '../strategies'\n\nexport const strategyTypeMap = {\n [StrategyTypes.ExactDateOfMonth]: getNextExactDateOfMonth,\n [StrategyTypes.LastDayOfMonth]: getNextLastDayOfMonth,\n [StrategyTypes.LastWeekdayOfMonth]: getNextLastWeekdayOfMonth,\n [StrategyTypes.NoRepeat]: getNextNoRepeat,\n [StrategyTypes.Stopwatch]: getNext,\n [StrategyTypes.Weekdays]: getNextWeekday,\n [StrategyTypes.Window]: getNext,\n [StrategyTypes.XDayOfXWeekOfMonth]: getNextXDayOfXWeekOfMonth,\n}\n\ninterface OccurrenceIntervalsGenerator {\n readonly isInitial: boolean\n readonly serviceInterval: Interval\n readonly strategy: Strategy\n readonly timezone: string\n}\n\n/**\n * Generates occurrence intervals for service intervals using strategy\n */\nexport function* occurrenceIntervalsGenerator(\n props: OccurrenceIntervalsGenerator\n): IterableIterator<Interval> {\n const { isInitial, serviceInterval, strategy, timezone } = props\n const { options, type } = strategy\n\n const start: number = serviceInterval[0]\n const end: number = serviceInterval[1]\n\n const getNextFn = strategyTypeMap[type]\n\n if (!getNextFn) return\n\n yield* getNextFn({\n end,\n isInitial,\n start,\n options,\n timezone,\n type,\n })\n}\n"],"mappings":";;;oDAiCiBA,4BAA4B;AAjC7C,SAA6BC,aAAa,QAAQ,qBAAqB;AAEvE,SACEC,OAAO,EACPC,uBAAuB,EACvBC,qBAAqB,EACrBC,yBAAyB,EACzBC,eAAe,EACfC,cAAc,EACdC,yBAAyB,QACpB,eAAe;AAEtB,OAAO,IAAMC,eAAe,IAAAC,gBAAA,OAAAC,eAAA,CAAAD,gBAAA,EACzBT,aAAa,CAACW,gBAAgB,EAAGT,uBAAuB,GAAAQ,eAAA,CAAAD,gBAAA,EACxDT,aAAa,CAACY,cAAc,EAAGT,qBAAqB,GAAAO,eAAA,CAAAD,gBAAA,EACpDT,aAAa,CAACa,kBAAkB,EAAGT,yBAAyB,GAAAM,eAAA,CAAAD,gBAAA,EAC5DT,aAAa,CAACc,QAAQ,EAAGT,eAAe,GAAAK,eAAA,CAAAD,gBAAA,EACxCT,aAAa,CAACe,SAAS,EAAGd,OAAO,GAAAS,eAAA,CAAAD,gBAAA,EACjCT,aAAa,CAACgB,QAAQ,EAAGV,cAAc,GAAAI,eAAA,CAAAD,gBAAA,EACvCT,aAAa,CAACiB,MAAM,EAAGhB,OAAO,GAAAS,eAAA,CAAAD,gBAAA,EAC9BT,aAAa,CAACkB,kBAAkB,EAAGX,yBAAyB,GAAAE,gBAAA,CAC9D;AASD;AACA;AACA;AACA,OAAO,SAAUV,4BAA4BA,CAC3CoB,KAAmC;EAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,GAAA,EAAAC,SAAA;EAAA,OAAAC,mBAAA,CAAAC,IAAA,UAAAC,8BAAAC,QAAA;IAAA;MAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAE3Bd,SAAS,GAA0CD,KAAK,CAAxDC,SAAS,EAAEC,eAAe,GAAyBF,KAAK,CAA7CE,eAAe,EAAEC,QAAQ,GAAeH,KAAK,CAA5BG,QAAQ,EAAEC,QAAQ,GAAKJ,KAAK,CAAlBI,QAAQ;UAC9CC,OAAO,GAAWF,QAAQ,CAA1BE,OAAO,EAAEC,IAAI,GAAKH,QAAQ,CAAjBG,IAAI;UAEfC,KAAa,GAAGL,eAAe,CAAC,CAAC,CAAC;UAClCM,GAAW,GAAGN,eAAe,CAAC,CAAC,CAAC;UAEhCO,SAAS,GAAGpB,eAAe,CAACiB,IAAI,CAAC;UAAA,IAElCG,SAAS;YAAAI,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAG,MAAA;QAAA;UAEd,OAAAH,QAAA,CAAAI,aAAA,CAAOR,SAAS,CAAC;YACfD,GAAG,EAAHA,GAAG;YACHP,SAAS,EAATA,SAAS;YACTM,KAAK,EAALA,KAAK;YACLF,OAAO,EAAPA,OAAO;YACPD,QAAQ,EAARA,QAAQ;YACRE,IAAI,EAAJA;UACF,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAO,QAAA,CAAAK,IAAA;MAAA;IAAA;EAAA,GAAAC,OAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"occurrenceIntervalsGenerator.js","names":["occurrenceIntervalsGenerator","StrategyTypes","getNext","getNextExactDateOfMonth","getNextLastDayOfMonth","getNextLastWeekdayOfMonth","getNextNoRepeat","getNextWeekday","getNextXDayOfXWeekOfMonth","strategyTypeMap","_defineProperty","ExactDateOfMonth","LastDayOfMonth","LastWeekdayOfMonth","NoRepeat","Stopwatch","Weekdays","Window","XDayOfXWeekOfMonth","props","isInitial","serviceInterval","strategy","timezone","options","type","start","end","getNextFn","_regeneratorRuntime","wrap","_context","prev","next","abrupt","delegateYield","stop","_marked"],"sources":["../../../src/scheduling/generators/occurrenceIntervalsGenerator.ts"],"sourcesContent":["import { Interval, Strategy, StrategyTypes } from '../scheduling.types'\n\nimport {\n getNext,\n getNextExactDateOfMonth,\n getNextLastDayOfMonth,\n getNextLastWeekdayOfMonth,\n getNextNoRepeat,\n getNextWeekday,\n getNextXDayOfXWeekOfMonth,\n} from '../strategies'\n\nexport const strategyTypeMap = {\n [StrategyTypes.ExactDateOfMonth]: getNextExactDateOfMonth,\n [StrategyTypes.LastDayOfMonth]: getNextLastDayOfMonth,\n [StrategyTypes.LastWeekdayOfMonth]: getNextLastWeekdayOfMonth,\n [StrategyTypes.NoRepeat]: getNextNoRepeat,\n [StrategyTypes.Stopwatch]: getNext,\n [StrategyTypes.Weekdays]: getNextWeekday,\n [StrategyTypes.Window]: getNext,\n [StrategyTypes.XDayOfXWeekOfMonth]: getNextXDayOfXWeekOfMonth,\n}\n\ninterface OccurrenceIntervalsGenerator {\n readonly isInitial: boolean\n readonly serviceInterval: Interval\n readonly strategy: Strategy\n readonly timezone: string\n}\n\n/**\n * Generates occurrence intervals for service intervals using strategy\n */\nexport function* occurrenceIntervalsGenerator(\n props: OccurrenceIntervalsGenerator\n): IterableIterator<Interval> {\n const { isInitial, serviceInterval, strategy, timezone } = props\n const { options, type } = strategy\n\n const start: number = serviceInterval[0]\n const end: number = serviceInterval[1]\n\n const getNextFn = strategyTypeMap[type]\n\n if (!getNextFn) return\n\n yield* getNextFn({\n end,\n isInitial,\n start,\n options,\n timezone,\n type,\n })\n}\n"],"mappings":";;oDAiCiBA,4BAA4B;AAjC7C,SAA6BC,aAAa,QAAQ,qBAAqB;AAEvE,SACEC,OAAO,EACPC,uBAAuB,EACvBC,qBAAqB,EACrBC,yBAAyB,EACzBC,eAAe,EACfC,cAAc,EACdC,yBAAyB,QACpB,eAAe;AAEtB,OAAO,IAAMC,eAAe,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACzBT,aAAa,CAACU,gBAAgB,EAAGR,uBAAuB,GACxDF,aAAa,CAACW,cAAc,EAAGR,qBAAqB,GACpDH,aAAa,CAACY,kBAAkB,EAAGR,yBAAyB,GAC5DJ,aAAa,CAACa,QAAQ,EAAGR,eAAe,GACxCL,aAAa,CAACc,SAAS,EAAGb,OAAO,GACjCD,aAAa,CAACe,QAAQ,EAAGT,cAAc,GACvCN,aAAa,CAACgB,MAAM,EAAGf,OAAO,GAC9BD,aAAa,CAACiB,kBAAkB,EAAGV,yBAAyB,CAC9D;AASD;AACA;AACA;AACA,OAAO,SAAUR,4BAA4BA,CAC3CmB,KAAmC;EAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,GAAA,EAAAC,SAAA;EAAA,OAAAC,mBAAA,CAAAC,IAAA,WAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAE3Bb,SAAS,GAA0CD,KAAK,CAAxDC,SAAS,EAAEC,eAAe,GAAyBF,KAAK,CAA7CE,eAAe,EAAEC,QAAQ,GAAeH,KAAK,CAA5BG,QAAQ,EAAEC,QAAQ,GAAKJ,KAAK,CAAlBI,QAAQ;QAC9CC,OAAO,GAAWF,QAAQ,CAA1BE,OAAO,EAAEC,IAAI,GAAKH,QAAQ,CAAjBG,IAAI;QAEfC,KAAa,GAAGL,eAAe,CAAC,CAAC,CAAC;QAClCM,GAAW,GAAGN,eAAe,CAAC,CAAC,CAAC;QAEhCO,SAAS,GAAGnB,eAAe,CAACgB,IAAI,CAAC;QAAA,IAElCG,SAAS;UAAAG,QAAA,CAAAE,IAAA;UAAA;QAAA;QAAA,OAAAF,QAAA,CAAAG,MAAA;MAAA;QAEd,OAAAH,QAAA,CAAAI,aAAA,CAAOP,SAAS,CAAC;UACfD,GAAG,EAAHA,GAAG;UACHP,SAAS,EAATA,SAAS;UACTM,KAAK,EAALA,KAAK;UACLF,OAAO,EAAPA,OAAO;UACPD,QAAQ,EAARA,QAAQ;UACRE,IAAI,EAAJA;QACF,CAAC,CAAC;MAAA;MAAA;QAAA,OAAAM,QAAA,CAAAK,IAAA;IAAA;EAAA,GAAAC,OAAA;AAAA","ignoreList":[]}
@@ -7,27 +7,25 @@ import { StrategyTypes } from '../scheduling.types';
7
7
  */
8
8
  export function scheduleIntervalsGenerator(props) {
9
9
  var type, isRepeating;
10
- return _regeneratorRuntime.wrap(function scheduleIntervalsGenerator$(_context) {
11
- while (1) {
12
- switch (_context.prev = _context.next) {
13
- case 0:
14
- type = props.strategy.type;
15
- isRepeating = type !== StrategyTypes.NoRepeat;
16
- if (!isRepeating) {
17
- _context.next = 5;
18
- break;
19
- }
20
- return _context.delegateYield(generateRepeatingSchedule(props), "t0", 4);
21
- case 4:
22
- return _context.abrupt("return", _context.t0);
23
- case 5:
24
- return _context.delegateYield(generateNonRepeatingSchedule(props), "t1", 6);
25
- case 6:
26
- return _context.abrupt("return", _context.t1);
27
- case 7:
28
- case "end":
29
- return _context.stop();
30
- }
10
+ return _regeneratorRuntime.wrap(function (_context) {
11
+ while (1) switch (_context.prev = _context.next) {
12
+ case 0:
13
+ type = props.strategy.type;
14
+ isRepeating = type !== StrategyTypes.NoRepeat;
15
+ if (!isRepeating) {
16
+ _context.next = 2;
17
+ break;
18
+ }
19
+ return _context.delegateYield(generateRepeatingSchedule(props), "t0", 1);
20
+ case 1:
21
+ return _context.abrupt("return", _context.t0);
22
+ case 2:
23
+ return _context.delegateYield(generateNonRepeatingSchedule(props), "t1", 3);
24
+ case 3:
25
+ return _context.abrupt("return", _context.t1);
26
+ case 4:
27
+ case "end":
28
+ return _context.stop();
31
29
  }
32
30
  }, _marked);
33
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduleIntervalsGenerator.js","names":["scheduleIntervalsGenerator","generateNonRepeatingSchedule","generateRepeatingSchedule","StrategyTypes","props","type","isRepeating","_regeneratorRuntime","wrap","scheduleIntervalsGenerator$","_context","prev","next","strategy","NoRepeat","delegateYield","abrupt","t0","t1","stop","_marked"],"sources":["../../../src/scheduling/generators/scheduleIntervalsGenerator.ts"],"sourcesContent":["import { Schema as ServiceHoursSchema } from '../../service-hours'\nimport {\n generateNonRepeatingSchedule,\n generateRepeatingSchedule,\n} from '../helpers'\nimport { Strategy, StrategyTypes } from '../scheduling.types'\n\ninterface ScheduleIntervalsGenerator {\n readonly end: number\n readonly isInitial: boolean\n readonly strategy: Strategy\n readonly serviceHours: ServiceHoursSchema\n readonly start: number\n}\n\n/**\n * Generates schedule service and occurrence intervals\n */\nexport function* scheduleIntervalsGenerator(props: ScheduleIntervalsGenerator) {\n const {\n strategy: { type },\n } = props\n const isRepeating = type !== StrategyTypes.NoRepeat\n\n if (isRepeating) {\n return yield* generateRepeatingSchedule(props)\n }\n\n return yield* generateNonRepeatingSchedule(props)\n}\n"],"mappings":";oDAkBiBA,0BAA0B;AAjB3C,SACEC,4BAA4B,EAC5BC,yBAAyB,QACpB,YAAY;AACnB,SAAmBC,aAAa,QAAQ,qBAAqB;AAU7D;AACA;AACA;AACA,OAAO,SAAUH,0BAA0BA,CAACI,KAAiC;EAAA,IAAAC,IAAA,EAAAC,WAAA;EAAA,OAAAC,mBAAA,CAAAC,IAAA,UAAAC,4BAAAC,QAAA;IAAA;MAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAE7DP,IAAI,GACdD,KAAK,CADPS,QAAQ,CAAIR,IAAI;UAEZC,WAAW,GAAGD,IAAI,KAAKF,aAAa,CAACW,QAAQ;UAAA,KAE/CR,WAAW;YAAAI,QAAA,CAAAE,IAAA;YAAA;UAAA;UACN,OAAAF,QAAA,CAAAK,aAAA,CAAOb,yBAAyB,CAACE,KAAK,CAAC;QAAA;UAAA,OAAAM,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,EAAA;QAAA;UAGzC,OAAAP,QAAA,CAAAK,aAAA,CAAOd,4BAA4B,CAACG,KAAK,CAAC;QAAA;UAAA,OAAAM,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAQ,EAAA;QAAA;QAAA;UAAA,OAAAR,QAAA,CAAAS,IAAA;MAAA;IAAA;EAAA,GAAAC,OAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"scheduleIntervalsGenerator.js","names":["scheduleIntervalsGenerator","generateNonRepeatingSchedule","generateRepeatingSchedule","StrategyTypes","props","type","isRepeating","_regeneratorRuntime","wrap","_context","prev","next","strategy","NoRepeat","delegateYield","abrupt","t0","t1","stop","_marked"],"sources":["../../../src/scheduling/generators/scheduleIntervalsGenerator.ts"],"sourcesContent":["import { Schema as ServiceHoursSchema } from '../../service-hours'\nimport {\n generateNonRepeatingSchedule,\n generateRepeatingSchedule,\n} from '../helpers'\nimport { Strategy, StrategyTypes } from '../scheduling.types'\n\ninterface ScheduleIntervalsGenerator {\n readonly end: number\n readonly isInitial: boolean\n readonly strategy: Strategy\n readonly serviceHours: ServiceHoursSchema\n readonly start: number\n}\n\n/**\n * Generates schedule service and occurrence intervals\n */\nexport function* scheduleIntervalsGenerator(props: ScheduleIntervalsGenerator) {\n const {\n strategy: { type },\n } = props\n const isRepeating = type !== StrategyTypes.NoRepeat\n\n if (isRepeating) {\n return yield* generateRepeatingSchedule(props)\n }\n\n return yield* generateNonRepeatingSchedule(props)\n}\n"],"mappings":";oDAkBiBA,0BAA0B;AAjB3C,SACEC,4BAA4B,EAC5BC,yBAAyB,QACpB,YAAY;AACnB,SAAmBC,aAAa,QAAQ,qBAAqB;AAU7D;AACA;AACA;AACA,OAAO,SAAUH,0BAA0BA,CAACI,KAAiC;EAAA,IAAAC,IAAA,EAAAC,WAAA;EAAA,OAAAC,mBAAA,CAAAC,IAAA,WAAAC,QAAA;IAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;MAAA;QAE7DN,IAAI,GACdD,KAAK,CADPQ,QAAQ,CAAIP,IAAI;QAEZC,WAAW,GAAGD,IAAI,KAAKF,aAAa,CAACU,QAAQ;QAAA,KAE/CP,WAAW;UAAAG,QAAA,CAAAE,IAAA;UAAA;QAAA;QACN,OAAAF,QAAA,CAAAK,aAAA,CAAOZ,yBAAyB,CAACE,KAAK,CAAC;MAAA;QAAA,OAAAK,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,EAAA;MAAA;QAGzC,OAAAP,QAAA,CAAAK,aAAA,CAAOb,4BAA4B,CAACG,KAAK,CAAC;MAAA;QAAA,OAAAK,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAQ,EAAA;MAAA;MAAA;QAAA,OAAAR,QAAA,CAAAS,IAAA;IAAA;EAAA,GAAAC,OAAA;AAAA","ignoreList":[]}