Code Duplication    Length = 39-41 lines in 2 locations

lib/ratelimiter.js 1 location

@@ 1-41 (lines=41) @@
1
"use strict";
2
Object.defineProperty(exports, "__esModule", { value: true });
3
var RateLimiter = /** @class */ (function () {
4
    function RateLimiter(rateLimits) {
5
        this.rateLimits = rateLimits;
6
    }
7
    RateLimiter.prototype.call = function (callback) {
8
        this.rateLimits.forEach(function (rateLimit) {
9
            if (!rateLimit.isActive()) {
10
                rateLimit.startTimer();
11
            }
12
            if (rateLimit.getCallsLeft() > 0) {
13
                rateLimit.decrementCall();
14
                callback();
15
            }
16
        });
17
    };
18
    RateLimiter.prototype.isActive = function () {
19
        var active = [];
20
        this.rateLimits.forEach(function (rateLimit) {
21
            active.push(rateLimit.isActive());
22
        });
23
        return active;
24
    };
25
    RateLimiter.prototype.callsLeft = function () {
26
        var active = [];
27
        this.rateLimits.forEach(function (rateLimit) {
28
            active.push(rateLimit.getCallsLeft());
29
        });
30
        return active;
31
    };
32
    RateLimiter.prototype.timeLeft = function () {
33
        var active = [];
34
        this.rateLimits.forEach(function (rateLimit) {
35
            active.push(rateLimit.getTimeLeft());
36
        });
37
        return active;
38
    };
39
    return RateLimiter;
40
}());
41
exports.RateLimiter = RateLimiter;
42
//# sourceMappingURL=ratelimiter.js.map

es/ratelimiter.js 1 location

@@ 1-39 (lines=39) @@
1
var RateLimiter = /** @class */ (function () {
2
    function RateLimiter(rateLimits) {
3
        this.rateLimits = rateLimits;
4
    }
5
    RateLimiter.prototype.call = function (callback) {
6
        this.rateLimits.forEach(function (rateLimit) {
7
            if (!rateLimit.isActive()) {
8
                rateLimit.startTimer();
9
            }
10
            if (rateLimit.getCallsLeft() > 0) {
11
                rateLimit.decrementCall();
12
                callback();
13
            }
14
        });
15
    };
16
    RateLimiter.prototype.isActive = function () {
17
        var active = [];
18
        this.rateLimits.forEach(function (rateLimit) {
19
            active.push(rateLimit.isActive());
20
        });
21
        return active;
22
    };
23
    RateLimiter.prototype.callsLeft = function () {
24
        var active = [];
25
        this.rateLimits.forEach(function (rateLimit) {
26
            active.push(rateLimit.getCallsLeft());
27
        });
28
        return active;
29
    };
30
    RateLimiter.prototype.timeLeft = function () {
31
        var active = [];
32
        this.rateLimits.forEach(function (rateLimit) {
33
            active.push(rateLimit.getTimeLeft());
34
        });
35
        return active;
36
    };
37
    return RateLimiter;
38
}());
39
export { RateLimiter };
40
//# sourceMappingURL=ratelimiter.js.map