UNPKG

tweenkle

Version:

Lightweight tweening library for all your tweening and animation needs.

101 lines (78 loc) 2.14 kB
"use strict"; 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;