events generator
by Vladymyr Shevchuk
JavaScript
const dataItems = [
{ 'ON' : '9:00' },
{ 'OFF' : '10:00' },
{ 'ON' : '9:00' },
{ 'OFF' : '10:00' },
{ 'ON' : '9:00' },
{ 'OFF' : '10:00' },
{ 'ON' : '9:00' },
{ 'OFF' : '10:00' },
{ 'ON' : '9:00' },
{ 'OFF' : '10:00' },
{ 'ON' : '9:00' },
{ 'OFF' : '10:00' },
{ 'ON' : '5:59' }
];
const createEvents = startTS => data => {
let len = data.length;
const result = [];
let total = 0;
while(len--) {
const item = data[len];
const [mode] = Object.keys(item);
const [hours = 0, minutes = 0] = item[mode].split(':');
const duration = parseInt(hours, 10) * 3600000 + parseInt(minutes, 10) * 60000;
total += duration;
result.push({
ts: startTS - total,
event: mode
});
}
return result;
};
createEvents(Date.now())(dataItems)
.reverse()
.forEach(item => {
console.log(new Date(item.ts), item.event);
window.updateStatusTest(item)
});
window.onUpdateStatusFinished();