UNPKG

neos-script

Version:

[neos-script-sample](https://github.com/rheniumNV/neos-script-sample)

41 lines (40 loc) 1.19 kB
"use strict"; 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;