@gouvfr-anct/timetable-to-osm-opening-hours
Version:
📚 Bibliothèque pour la transformation d'une série de plages horaires représentant un format emploi du temps vers le standard OSM pour les horaires d'ouverture.
11 lines (10 loc) • 748 B
JavaScript
import { fromTimetableOsmOpeningHours } from './from-timetable-osm-opening-hours';
const isOpenOn = (daySchedule) => daySchedule.am.isOpen || daySchedule.pm.isOpen;
const toOsmHours = (daySchedule) => [
...(daySchedule.am.isOpen ? [[daySchedule.am.startTime, daySchedule.am.endTime].join('-')] : []),
...(daySchedule.pm.isOpen ? [[daySchedule.pm.startTime, daySchedule.pm.endTime].join('-')] : [])
].join(',');
const toOsmOpeningHours = (osmOpeningHours, [day, daySchedule]) => isOpenOn(daySchedule)
? [...osmOpeningHours, { day: day, osmHours: toOsmHours(daySchedule) }]
: osmOpeningHours;
export const fromTimetableOpeningHours = (schedule) => fromTimetableOsmOpeningHours(Object.entries(schedule).reduce(toOsmOpeningHours, []));