const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') dayjs.extend(utc) module.exports = { site: 'astro.com.my', url: function ({ channel }) { return `https://contenthub-api.eco.astro.com.my/channel/${channel.site_id}.json` }, parser: function ({ content }) { const programs = [] const data = JSON.parse(content) const schedules = data.response.schedule for(let items of Object.values(schedules)){ items.forEach(item => { const start = dayjs.utc(item.datetimeInUtc) const duration = parseDuration(item.duration) const stop = start.add(duration, 's') programs.push({ title: item.title, start: start, stop: stop }) }) } return programs } } function parseDuration(duration) { const match = duration.match(/(\d{2}):(\d{2}):(\d{2})/) const hours = parseInt(match[1]) const minutes = parseInt(match[2]) const seconds = parseInt(match[3]) return hours * 3600 + minutes * 60 + seconds }