26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getRealFrameRange = void 0;
|
|
const getRealFrameRange = (durationInFrames, frameRange) => {
|
|
if (frameRange === null) {
|
|
return [0, durationInFrames - 1];
|
|
}
|
|
if (typeof frameRange === 'number') {
|
|
if (frameRange < 0 || frameRange >= durationInFrames) {
|
|
throw new Error(`Frame number is out of range, must be between 0 and ${durationInFrames - 1} but got ${frameRange}`);
|
|
}
|
|
return [frameRange, frameRange];
|
|
}
|
|
const resolved = [
|
|
frameRange[0],
|
|
frameRange[1] === null ? durationInFrames - 1 : frameRange[1],
|
|
];
|
|
if (resolved[0] < 0 ||
|
|
resolved[1] >= durationInFrames ||
|
|
resolved[0] > resolved[1]) {
|
|
throw new Error(`The "durationInFrames" of the <Composition /> was evaluated to be ${durationInFrames}, but frame range ${resolved.join('-')} is not inbetween 0-${durationInFrames - 1}`);
|
|
}
|
|
return resolved;
|
|
};
|
|
exports.getRealFrameRange = getRealFrameRange;
|