UNPKG

661 BPlain TextView Raw
1/**
2 * Sigma.js Easings
3 * =================
4 *
5 * Handy collection of easing functions.
6 */
7export const linear = (k: number): number => k;
8
9export const quadraticIn = (k: number): number => k * k;
10
11export const quadraticOut = (k: number): number => k * (2 - k);
12
13export const quadraticInOut = (k: number): number => {
14 if ((k *= 2) < 1) return 0.5 * k * k;
15 return -0.5 * (--k * (k - 2) - 1);
16};
17
18export const cubicIn = (k: number): number => k * k * k;
19
20export const cubicOut = (k: number): number => --k * k * k + 1;
21
22export const cubicInOut = (k: number): number => {
23 if ((k *= 2) < 1) return 0.5 * k * k * k;
24 return 0.5 * ((k -= 2) * k * k + 2);
25};