interpolatePaths = (path1, path2) => {
const patharray1 = flubber.splitPathString(path1);
const patharray2 = flubber.splitPathString(path2);
if (patharray1.length == 1 && patharray2.length == 1) {
return flubber.interpolate(path1, path2);
}
if (patharray1.length == patharray2.length) {
return flubber.interpolateAll(patharray1, patharray2);
}
if (patharray1.length == 1 && patharray2.length > 1) {
return flubber.separate(path1, patharray2, {
maxSegmentLength: 20,
single: true
});
}
if (patharray1.length > 1 && patharray2.length == 1) {
return flubber.combine(patharray1, path2, {
maxSegmentLength: 20,
single: true
});
}
if (patharray1.length > patharray2.length) {
const dif = patharray1.length - patharray2.length;
for (let i = 0; i < dif; i++) {
patharray2.push(patharray2[0]);
}
return flubber.interpolateAll(patharray1, patharray2, {
maxSegmentLength: 20,
single: true
});
}
if (patharray1.length < patharray2.length) {
const dif = patharray2.length - patharray1.length;
for (let i = 0; i < dif; i++) {
patharray1.push(patharray1[0]);
}
return flubber.interpolateAll(patharray1, patharray2, {
maxSegmentLength: 20,
single: true
});
}
}