UNPKG

nhz.lib

Version:
42 lines (35 loc) 1.25 kB
/* browser.NextAnimationFrame(callbacks...) */ var NextAnimationFrame, slice = [].slice; module.exports = NextAnimationFrame = (function() { function NextAnimationFrame() { var callbacks; callbacks = 1 <= arguments.length ? slice.call(arguments, 0) : []; if (!(this instanceof NextAnimationFrame)) { return (new NextAnimationFrame(callbacks)).start(); } this.callbacks = (callbacks[0] instanceof Array ? callbacks[0] : callbacks); } NextAnimationFrame.prototype.start = function() { requestAnimationFrame((function(_this) { return function(elapsed) { var callback, i, len, ref, ref1; ref = _this.callbacks; for (i = 0, len = ref.length; i < len; i++) { callback = ref[i]; if (typeof callback === "function") { callback(elapsed); } } return (ref1 = _this.next) != null ? typeof ref1.start === "function" ? ref1.start() : void 0 : void 0; }; })(this)); return this; }; NextAnimationFrame.prototype.then = function() { var callbacks; callbacks = 1 <= arguments.length ? slice.call(arguments, 0) : []; return this.next = new NextAnimationFrame(callbacks); }; return NextAnimationFrame; })();