tweenkle
Version:
Lightweight tweening library for all your tweening and animation needs.
40 lines (30 loc) • 1.05 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = exports.InOut = exports.Out = exports.In = void 0;
var In = function In(time, beginningValue, changeValue, duration) {
return time === 0 ? beginningValue : changeValue * Math.pow(2, 10 * (time / duration - 1)) + beginningValue;
};
exports.In = In;
var Out = function Out(time, beginningValue, changeValue, duration) {
return time === duration ? beginningValue + changeValue : changeValue * (-Math.pow(2, -10 * time / duration) + 1) + beginningValue;
};
exports.Out = Out;
var InOut = function InOut(time, beginningValue, changeValue, duration) {
if (time === 0) {
return beginningValue;
}
if (time === duration) {
return beginningValue + changeValue;
}
if ((time /= duration / 2) < 1) {
return changeValue / 2 * Math.pow(2, 10 * (time - 1)) + beginningValue;
}
return changeValue / 2 * (-Math.pow(2, -10 * --time) + 2) + beginningValue;
};
exports.InOut = InOut;
var _default = {
In: In,
Out: Out,
InOut: InOut
};
exports["default"] = _default;