All files / utils smooth.ts

100% Statements 11/11
50% Branches 3/6
100% Functions 2/2
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20      2x 1x 1x   1x 2x   2x 2x     2x 2x 2x      
import { smoothFrame } from './smooth-frame';
import { getFrameData } from 'framesync';
 
export const smooth = (Estrength: number = 50) => {
  let previousValue = 0;
  let lastUpdated = 0;
 
  return (v: number) => {
    const currentFramestamp = getFrameData().timestamp;
    const timeDelta =
      currentFramestamp !== lastUpdated ? currentFramestamp - lastUpdated : 0;
    const newValue = timeDelta
      ? smoothFrame(previousValue, v, timeDelta, strength)
      : previousValue;
    lastUpdated = currentFramestamp;
    previousValue = newValue;
    return newValue;
  };
};