remotion
Version:
Make videos programmatically
59 lines (58 loc) • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEffectiveVisualModeValue = exports.resolveDragOverrideValue = exports.getFrameInKeyframedStatusClock = void 0;
const interpolate_keyframed_status_1 = require("./interpolate-keyframed-status");
const getFrameInKeyframedStatusClock = ({ frame, status, }) => {
var _a;
return frame - ((_a = status.keyframeDisplayOffsetAdjustment) !== null && _a !== void 0 ? _a : 0);
};
exports.getFrameInKeyframedStatusClock = getFrameInKeyframedStatusClock;
const resolveDragOverrideValue = ({ dragOverrideValue, frame, }) => {
if (dragOverrideValue === undefined) {
return { type: 'none' };
}
if (dragOverrideValue.type === 'static') {
return { type: 'resolved', value: dragOverrideValue.value };
}
if (frame === null) {
return { type: 'none' };
}
const interpolated = (0, interpolate_keyframed_status_1.interpolateKeyframedStatus)({
forceSpringAllowTail: null,
frame: (0, exports.getFrameInKeyframedStatusClock)({
frame,
status: dragOverrideValue.status,
}),
status: dragOverrideValue.status,
});
if (interpolated === null) {
return { type: 'none' };
}
return { type: 'resolved', value: interpolated };
};
exports.resolveDragOverrideValue = resolveDragOverrideValue;
const getEffectiveVisualModeValue = ({ propStatus, dragOverrideValue, defaultValue, frame = null, shouldResortToDefaultValueIfUndefined = false, }) => {
const dragOverride = (0, exports.resolveDragOverrideValue)({
dragOverrideValue,
frame,
});
if (dragOverride.type === 'resolved' && dragOverride.value !== undefined) {
return dragOverride.value;
}
if (propStatus.status === 'keyframed') {
if (frame !== null) {
return (0, interpolate_keyframed_status_1.interpolateKeyframedStatus)({
forceSpringAllowTail: null,
frame: (0, exports.getFrameInKeyframedStatusClock)({ frame, status: propStatus }),
status: propStatus,
});
}
return shouldResortToDefaultValueIfUndefined ? defaultValue : undefined;
}
if (propStatus.codeValue === undefined &&
shouldResortToDefaultValueIfUndefined) {
return defaultValue;
}
return propStatus.codeValue;
};
exports.getEffectiveVisualModeValue = getEffectiveVisualModeValue;