UNPKG

animate-value

Version:
93 lines (64 loc) 2.13 kB
'use strict'; exports.__esModule = true; var _calcStartEnd = require('./calc/calcStartEnd'); var _calcStartEnd2 = _interopRequireDefault(_calcStartEnd); var _calcProgress = require('./calc/calcProgress'); var _calcProgress2 = _interopRequireDefault(_calcProgress); var _now = require('./time/now'); var _now2 = _interopRequireDefault(_now); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var tick = function tick(data, label, resolve) { var _data = data, start = _data.start, end = _data.end, easing = _data.easing, to = _data.to, from = _data.from, duration = _data.duration, change = _data.change, done = _data.done, loop = _data.loop, rewind = _data.rewind, loopDelay = _data.loopDelay; if (start && end) { var prog = (0, _calcProgress2.default)(start, duration, easing); data.value = from + (to - from) * prog; if ((0, _now2.default)() <= end) { if (change && (0, _now2.default)() >= start) change(data.value); label = requestAnimationFrame(function () { return tick(data, label, resolve); }); } else { if (change) change(data.to); if (loop) { if (rewind) { var _data2 = data, _from = _data2.from, _to = _data2.to; data.from = _to; data.to = _from; } var _delay = loopDelay; data = Object.assign({}, data, (0, _calcStartEnd2.default)(_delay, duration)); if (data.iteration) { data.iteration += 1; var _data3 = data, _iteration = _data3.iteration; if (rewind) _iteration = _iteration / 2; if (loop === true || _iteration <= loop) { label = requestAnimationFrame(function () { return tick(data, label, resolve); }); } else { if (done) done(); resolve(); } } } else { if (done) done(); } } } }; exports.default = tick; module.exports = exports['default'];