diff --git a/src/logic.js b/src/logic.js index 625bb25..cc81383 100644 --- a/src/logic.js +++ b/src/logic.js @@ -141,7 +141,21 @@ const has_past_events = (body) => const merge_events = (a, b) => uniqBy(eqBy(prop('event_id')))(union(a, b)); +const event_date_to_date_obj = (event) => { + const start = pathOr(null, ['date', 'start'], event); + if (start !== null) { + try { + event.date.start = new Date(start); + } catch (e) { + console.error(e); + return event; + } + } + return event; +}; + module.exports = { + event_date_to_date_obj, get_body_inner_text, get_past_events_from_page, get_upcoming_events_from_page, diff --git a/src/scrape.js b/src/scrape.js index 53c837a..70c04d4 100644 --- a/src/scrape.js +++ b/src/scrape.js @@ -1,5 +1,5 @@ -const { pathOr } = require('ramda'); const { + event_date_to_date_obj, merge_events, parse_args, read_previous_events, @@ -38,18 +38,7 @@ const { let all_events = events .reduce(to_unique_events, previous_events) - .map((event) => { - const start = pathOr(null, ['date', 'start'], event); - if (start !== null) { - try { - event.date.start = new Date(start); - } catch (e) { - console.error(e); - return event; - } - } - return event; - }) + .map(event_date_to_date_obj) .sort((a, b) => { const b_date = b.date.start; const a_date = a.date.start;