interpolation-builder
Using interpolation-builder you can build interpolation functions for objects and arrays. By default lerp is used but you can drop in custom interpolation functions also.
Usage
Example
var builder = ; var lerper = ; var start = x: 0 sub: x: 0 ; var end = x: 100 sub: x: 100 ; console; // { x: 50, sub: { x: 'value is: 50' } }
Example with Objects using sub and map functions
var builder = ; var lerper = ; lerper // <- use default lerp for these properties // <- custom interpolation for one prop ; // <- custom for two props var start = x: 0 y: 0 z: 0 u: 0 v: 0 ;var end = x: 100 y: 150 z: 100 u: 100 v: 200 ; console; // { x: 50, y: 75, z: 'c1 50', u: 'c2 50', v: 'c2 100' } { return 'c1 ' + end - start * time + start ;} { return 'c2 ' + end - start * time + start ;}
Example with Arrays
var builder = ; var lerper = ; lerper; // <- use default lerp for these properties var start = 0 0 0 ;var end = 100 200 300 ; console; // [ 50, 100, 150 ]
Example with sub/child objects
var start = inner: x: 0 y: 0 ; var end = inner: x: 104 y: 100 ; var animator = ; animator ; ; // { inner: { x: 52, y: 50 } }
License
MIT, see LICENSE.md for details.