vulcain-corejs
Version:
Vulcain micro-service framework
38 lines (36 loc) • 1.02 kB
JavaScript
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
;