popmotion
Version:
The animator's toolbox
12 lines (9 loc) • 393 B
JavaScript
import { clamp } from '../utils/clamp.mjs';
const steps = (steps, direction = 'end') => (progress) => {
progress =
direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001);
const expanded = progress * steps;
const rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded);
return clamp(0, 1, rounded / steps);
};
export { steps };