decord/source/3377_areIntervalsOverlapping.js

51 lines
1.4 KiB
JavaScript
Raw Normal View History

2026-07-20 16:05:17 +00:00
// Module ID: 3377
// Function ID: 26507
// Name: areIntervalsOverlapping
2026-07-21 06:55:02 +00:00
// Dependencies: [3366, 3370]
2026-07-20 16:05:17 +00:00
// Exports: default
// Module 3377 (areIntervalsOverlapping)
2026-07-21 06:55:02 +00:00
import startOfWeek from "startOfWeek";
import getTimezoneOffsetInMilliseconds from "getTimezoneOffsetInMilliseconds";
2026-07-20 16:05:17 +00:00
export default function areIntervalsOverlapping(start, start2, inclusive) {
2026-07-21 06:55:02 +00:00
getTimezoneOffsetInMilliseconds.default(2, arguments);
2026-07-20 16:05:17 +00:00
start = undefined;
if (null != start) {
start = start.start;
}
2026-07-21 06:55:02 +00:00
const time = startOfWeek.default(start).getTime();
2026-07-20 16:05:17 +00:00
let end;
if (null != start) {
end = start.end;
}
2026-07-21 06:55:02 +00:00
const defaultResult1 = startOfWeek.default(start);
const time1 = startOfWeek.default(end).getTime();
2026-07-20 16:05:17 +00:00
let start1;
if (null != start2) {
start1 = start2.start;
}
2026-07-21 06:55:02 +00:00
const defaultResult2 = startOfWeek.default(end);
const time2 = startOfWeek.default(start1).getTime();
2026-07-20 16:05:17 +00:00
let end1;
if (null != start2) {
end1 = start2.end;
}
2026-07-21 06:55:02 +00:00
const defaultResult3 = startOfWeek.default(start1);
const time3 = startOfWeek.default(end1).getTime();
2026-07-20 16:05:17 +00:00
if (time <= time1) {
if (time2 <= time3) {
if (null != inclusive) {
if (inclusive.inclusive) {
return time <= time3 && time2 <= time1;
}
}
return time < time3 && time2 < time1;
}
}
const rangeError = new RangeError("Invalid interval");
throw rangeError;
};
export default exports.default;