@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
38 lines • 1.26 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HistoryStorage = void 0;
const model_1 = require("./model");
const config_1 = __importDefault(require("../../../config"));
class HistoryStorage extends Map {
constructor(configuration) {
super();
this.configuration = configuration;
this.stack = [];
}
register(predicate) {
const history = predicate instanceof model_1.History ? predicate : model_1.History.build({
group: this.configuration.group,
snapshot: predicate.snapshot,
});
this.set(history.id, history);
if (this.stack.push(history.id) > config_1.default.get('history').limit) {
this.delete(this.stack.shift());
}
return history.switchStatus('registered');
}
unregister(history) {
if (history) {
this.delete(history.switchStatus('unregistered').id);
}
return this;
}
clear() {
this.stack = [];
super.clear();
}
}
exports.HistoryStorage = HistoryStorage;
//# sourceMappingURL=storage.js.map