@drozdik.m/lerp
Version:
Collection of lerp functions.
287 lines (286 loc) • 8.6 kB
JavaScript
exports.__esModule = true;
var unit_test_1 = require("@drozdik.m/unit-test");
var Linear_1 = require("../Linear");
var EaseInCirc_1 = require("../EaseInCirc");
var EaseInCubic_1 = require("../EaseInCubic");
var EaseOutSine_1 = require("../EaseOutSine");
var EaseOutQuint_1 = require("../EaseOutQuint");
var EaseOutQuart_1 = require("../EaseOutQuart");
var EaseOutQuad_1 = require("../EaseOutQuad");
var EaseOutExpo_1 = require("../EaseOutExpo");
var EaseOutCubic_1 = require("../EaseOutCubic");
var EaseOutCirc_1 = require("../EaseOutCirc");
var EaseInSine_1 = require("../EaseInSine");
var EaseInQuint_1 = require("../EaseInQuint");
var EaseInQuart_1 = require("../EaseInQuart");
var EaseInQuad_1 = require("../EaseInQuad");
var EaseInOutSine_1 = require("../EaseInOutSine");
var EaseInOutQuint_1 = require("../EaseInOutQuint");
var EaseInOutQuart_1 = require("../EaseInOutQuart");
var EaseInOutQuad_1 = require("../EaseInOutQuad");
var EaseInOutExpo_1 = require("../EaseInOutExpo");
var EaseInOutCubic_1 = require("../EaseInOutCubic");
var EaseInOutCirc_1 = require("../EaseInOutCirc");
var EaseInExpo_1 = require("../EaseInExpo");
var unitTest = new unit_test_1.UnitTest("Lerp");
function Interpolate(from, to, lerp, callback) {
//let interpolationValue = 0.01;
var targetVal = to;
var currentFrame = 0;
var duration = 1000;
var timeBetweenFrames = 10;
var animationFrame = function () {
//console.log("Frame: " + currentFrame);
currentFrame += timeBetweenFrames;
var interpolationValue = lerp(from, targetVal, currentFrame, duration);
//console.log(" value: " + interpolationValue);
if (currentFrame < duration)
setTimeout(animationFrame, timeBetweenFrames);
else
callback(interpolationValue);
};
animationFrame();
}
unitTest.AddAsyncTestCase("Linear", function (Done, Fail) {
Interpolate(0, 500, Linear_1.Linear, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInCirc", function (Done, Fail) {
Interpolate(0, 500, EaseInCirc_1.EaseInCirc, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInCubic", function (Done, Fail) {
Interpolate(0, 500, EaseInCubic_1.EaseInCubic, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInExpo", function (Done, Fail) {
Interpolate(0, 500, EaseInExpo_1.EaseInExpo, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutCirc", function (Done, Fail) {
Interpolate(0, 500, EaseInOutCirc_1.EaseInOutCirc, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutCubic", function (Done, Fail) {
Interpolate(0, 500, EaseInOutCubic_1.EaseInOutCubic, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutExpo", function (Done, Fail) {
Interpolate(0, 500, EaseInOutExpo_1.EaseInOutExpo, function (val) {
try {
unit_test_1.Assert.AreEqual(500, Math.round(val));
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutQuad", function (Done, Fail) {
Interpolate(0, 500, EaseInOutQuad_1.EaseInOutQuad, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutQuart", function (Done, Fail) {
Interpolate(0, 500, EaseInOutQuart_1.EaseInOutQuart, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutQuint", function (Done, Fail) {
Interpolate(0, 500, EaseInOutQuint_1.EaseInOutQuint, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInOutSine", function (Done, Fail) {
Interpolate(0, 500, EaseInOutSine_1.EaseInOutSine, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInQuad", function (Done, Fail) {
Interpolate(0, 500, EaseInQuad_1.EaseInQuad, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInQuart", function (Done, Fail) {
Interpolate(0, 500, EaseInQuart_1.EaseInQuart, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInQuint", function (Done, Fail) {
Interpolate(0, 500, EaseInQuint_1.EaseInQuint, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseInSine", function (Done, Fail) {
Interpolate(0, 500, EaseInSine_1.EaseInSine, function (val) {
try {
unit_test_1.Assert.AreEqual(500, Math.round(val));
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutCirc", function (Done, Fail) {
Interpolate(0, 500, EaseOutCirc_1.EaseOutCirc, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutCubic", function (Done, Fail) {
Interpolate(0, 500, EaseOutCubic_1.EaseOutCubic, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutExpo", function (Done, Fail) {
Interpolate(0, 500, EaseOutExpo_1.EaseOutExpo, function (val) {
try {
unit_test_1.Assert.AreEqual(500, Math.round(val));
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutQuad", function (Done, Fail) {
Interpolate(0, 500, EaseOutQuad_1.EaseOutQuad, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutQuart", function (Done, Fail) {
Interpolate(0, 500, EaseOutQuart_1.EaseOutQuart, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutQuint", function (Done, Fail) {
Interpolate(0, 500, EaseOutQuint_1.EaseOutQuint, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.AddAsyncTestCase("EaseOutSine", function (Done, Fail) {
Interpolate(0, 500, EaseOutSine_1.EaseOutSine, function (val) {
try {
unit_test_1.Assert.AreEqual(500, val);
Done();
}
catch (_a) {
Fail();
}
});
});
unitTest.Run();