From f22841e1f47e9f4700caec8e3c186fc4d2486e4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Syn=C3=A1=C4=8Dek?= Date: Tue, 26 Nov 2019 22:38:47 +0100 Subject: [PATCH] improve parsing for start and end dates for DOMparser --- lib/services/dom-parser.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/services/dom-parser.js b/lib/services/dom-parser.js index ba3379b..0786333 100644 --- a/lib/services/dom-parser.js +++ b/lib/services/dom-parser.js @@ -14,10 +14,16 @@ const parseDate = (timeText) => { } } - const normalizedTimeString = `${datePart}${timePart || ''}` - const startTime = dayjs(normalizedTimeString) + const rangeTimeParts = timePart ? timePart.split('–') : [] + const startTimePart = `${datePart || ''}${rangeTimeParts[0] || ''}` + const endTimePart = `${datePart || ''}${rangeTimeParts[1] || ''}` - const { start, duration } = parseDates(startTime, null) + const startTime = dayjs(startTimePart) + const endTime = dayjs(endTimePart) + + const normalizedStartTime = startTime.isValid() ? startTime : dayjs(new Date()) + const normalizedEndTime = endTime.isValid() ? endTime : dayjs(new Date()) + const { start, duration } = parseDates(normalizedStartTime, normalizedEndTime) return { start,