kute.js/src/interpolation/arrays.js
thednp 2a5bac2bb3 Changes V2.2.0:
* major JSDoc write up
* removed ESLint `no-bitwise` exception, it only applies to specific functions and not the entire code
* the `SVGCubicMorph` component will remove un-necessary `Z` path commands when is the case for better out of the box animation
* fixed a minor disambiguation with `filterEffects` and `drop-shadow` property and its `dropshadow` interpolation function
* TypeScript strong: all files are modules, easy to implement in any third party app
* updated `CubicBezier` and SVGPathCommander
* code cleanup
2021-12-08 23:43:31 +02:00

17 lines
441 B
JavaScript

/**
* Array Interpolation Function.
*
* @param {number[]} a start array
* @param {number[]} b end array
* @param {number} v progress
* @returns {number[]} the resulting array
*/
export default function arrays(a, b, v) {
const result = []; const { length } = b;
for (let i = 0; i < length; i += 1) {
// eslint-disable-next-line no-bitwise
result[i] = ((a[i] + (b[i] - a[i]) * v) * 1000 >> 0) / 1000;
}
return result;
}