UNPKG

lol-js

Version:

Node.js bindings for the Riot API, with caching and rate limiting

38 lines (31 loc) 986 B
// Generated by CoffeeScript 1.9.2 (function() { var LolRateLimiter, RateLimiter; RateLimiter = require('limiter').RateLimiter; module.exports = LolRateLimiter = (function() { function LolRateLimiter(limits, Promise) { var i, l, len; this.Promise = Promise; this.limiters = []; for (i = 0, len = limits.length; i < len; i++) { l = limits[i]; this.limiters.push(new RateLimiter(l.limit, l.time * 1000)); } } LolRateLimiter.prototype.wait = function() { return this.Promise.all(this.limiters.map((function(_this) { return function(limiter, index) { return new _this.Promise(function(resolve, reject) { return limiter.removeTokens(1, function(err) { if (err != null) { return reject(err); } return resolve(); }); }); }; })(this))); }; return LolRateLimiter; })(); }).call(this);