neos-script
Version:
[neos-script-sample](https://github.com/rheniumNV/neos-script-sample)
41 lines (40 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IdManager = void 0;
var uuid_1 = require("uuid");
var IdManager = /** @class */ (function () {
function IdManager() {
this.idMap = new Map();
}
IdManager.prototype.set = function (key) {
var exits = this.idMap.get(key);
if (exits) {
if (exits.setCount > 0) {
throw new Error("duplicated key");
}
else {
exits.setCount++;
return exits.id;
}
}
else {
var data = { id: (0, uuid_1.v4)(), setCount: 1, getCount: 0 };
this.idMap.set(key, data);
return data.id;
}
};
IdManager.prototype.get = function (key) {
var exits = this.idMap.get(key);
if (exits) {
exits.getCount++;
return exits.id;
}
else {
var data = { id: (0, uuid_1.v4)(), setCount: 0, getCount: 1 };
this.idMap.set(key, data);
return data.id;
}
};
return IdManager;
}());
exports.IdManager = IdManager;