JSFiddle - React, Tailwind, and code Playground
by Vladymyr Shevchuk
JavaScript
const intervals = [
{ D: 1 },
{ SB: 2 },
{ OFF: 3 },
{ D: 4 },
{ ON: 1 },
{ D: 2 }
]
generateFixtures(intervals);
function generateFixtures(intervals, options) {
const result = [];
intervals.forEach((interval, index) => {
const key = Object.keys(interval);
const value = interval[key];
const nextInterval = intervals[index + 1];
const nextMode = nextInterval ? Object.keys(nextInterval) : 'UNKNOWN';
const nextDuration = nextInterval ? nextInterval[Object.keys(nextInterval)] : Infinity;
const nextTimestamp = nextInterval ? Date.now() - interval[key] * 60 * 60 * 1000 : Date.now();
const obj = {
timestamp: nextTimestamp,
mode: key,
previousMode: nextMode,
previousDuration: nextDuration * 60 * 60 * 1000
};
result.push(obj);
});
console.log(result);
}