Files
ETB/ETB-FrontEnd/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

12 lines
511 B
JavaScript

const isNotNull = (value) => value !== null;
function getFinalKeyframe(keyframes, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
const resolvedKeyframes = keyframes.filter(isNotNull);
const useFirstKeyframe = speed < 0 || (repeat && repeatType !== "loop" && repeat % 2 === 1);
const index = useFirstKeyframe ? 0 : resolvedKeyframes.length - 1;
return !index || finalKeyframe === undefined
? resolvedKeyframes[index]
: finalKeyframe;
}
export { getFinalKeyframe };