tweenkle
Version:
Lightweight tweening library for all your tweening and animation needs.
101 lines (78 loc) • 2.14 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = exports.InOut = exports.Out = exports.In = void 0;
var In = function In(time, beginningValue, changeValue, duration) {
var s = 1.70158;
var p = 0;
var a = changeValue;
if (time === 0) {
return beginningValue;
}
if ((time /= duration) === 1) {
return beginningValue + changeValue;
}
if (!p) {
p = duration * .3;
}
if (a < Math.abs(changeValue)) {
a = changeValue;
s = p / 4;
} else {
s = p / (2 * Math.PI) * Math.asin(changeValue / a);
}
return -(a * Math.pow(2, 10 * (time -= 1)) * Math.sin((time * duration - s) * (2 * Math.PI) / p)) + beginningValue;
};
exports.In = In;
var Out = function Out(time, beginningValue, changeValue, duration) {
var s = 1.70158;
var p = 0;
var a = changeValue;
if (time === 0) {
return beginningValue;
}
if ((time /= duration) === 1) {
return beginningValue + changeValue;
}
if (!p) {
p = duration * .3;
}
if (a < Math.abs(changeValue)) {
a = changeValue;
s = p / 4;
} else {
s = p / (2 * Math.PI) * Math.asin(changeValue / a);
}
return a * Math.pow(2, -10 * time) * Math.sin((time * duration - s) * (2 * Math.PI) / p) + changeValue + beginningValue;
};
exports.Out = Out;
var InOut = function InOut(time, beginningValue, changeValue, duration) {
var s = 1.70158;
var p = 0;
var a = changeValue;
if (time === 0) {
return beginningValue;
}
if ((time /= duration / 2) === 2) {
return beginningValue + changeValue;
}
if (!p) {
p = duration * (.3 * 1.5);
}
if (a < Math.abs(changeValue)) {
a = changeValue;
s = p / 4;
} else {
s = p / (2 * Math.PI) * Math.asin(changeValue / a);
}
if (time < 1) {
return -.5 * (a * Math.pow(2, 10 * (time -= 1)) * Math.sin((time * duration - s) * (2 * Math.PI) / p)) + beginningValue;
}
return a * Math.pow(2, -10 * (time -= 1)) * Math.sin((time * duration - s) * (2 * Math.PI) / p) * .5 + changeValue + beginningValue;
};
exports.InOut = InOut;
var _default = {
In: In,
Out: Out,
InOut: InOut
};
exports["default"] = _default;