UNPKG

vulcain-corejs

Version:
38 lines (36 loc) 1.02 kB
"use strict"; const rollingNumberEvent_1 = require("./rollingNumberEvent"); class CounterBucket { constructor() { this.bucketValues = {}; } reset(windowsStart) { this.windowStart = windowsStart; this.bucketValues = {}; } get(type) { if (rollingNumberEvent_1.default[type] === undefined) { throw new Error("invalid event"); } if (!this.bucketValues[type]) { return 0; } return this.bucketValues[type]; } increment(type) { if (rollingNumberEvent_1.default[type] === undefined) { throw new Error("invalid event"); } let value = this.bucketValues[type]; if (value) { value = value + 1; this.bucketValues[type] = value; } else { this.bucketValues[type] = 1; } } } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = CounterBucket; //# sourceMappingURL=counterBucket.js.map