Files
youtube-music/plugins/sponsorblock/segments.js
2023-08-29 17:22:38 +09:00

31 lines
696 B
JavaScript

// Segments are an array [ [start, end], … ]
module.exports.sortSegments = (segments) => {
segments.sort((segment1, segment2) =>
segment1[0] === segment2[0]
? segment1[1] - segment2[1]
: segment1[0] - segment2[0],
);
const compiledSegments = [];
let currentSegment;
for (const segment of segments) {
if (!currentSegment) {
currentSegment = segment;
continue;
}
if (currentSegment[1] < segment[0]) {
compiledSegments.push(currentSegment);
currentSegment = segment;
continue;
}
currentSegment[1] = Math.max(currentSegment[1], segment[1]);
}
compiledSegments.push(currentSegment);
return compiledSegments;
};