remotion
Version:
Make videos programmatically
51 lines (50 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEffectiveVisualModeValue = exports.resolveDragOverrideValue = void 0;
const interpolate_keyframed_status_1 = require("./interpolate-keyframed-status");
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,
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,
status: propStatus,
});
}
return shouldResortToDefaultValueIfUndefined ? defaultValue : undefined;
}
if (propStatus.codeValue === undefined &&
shouldResortToDefaultValueIfUndefined) {
return defaultValue;
}
return propStatus.codeValue;
};
exports.getEffectiveVisualModeValue = getEffectiveVisualModeValue;