@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
23 lines • 2.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UuidFactory = exports.UuidFactoryMode = void 0;
const utils_1 = require("../utils");
const deterministic_uuid_registry_1 = require("./deterministic-uuid-registry");
var UuidFactoryMode;
(function (UuidFactoryMode) {
UuidFactoryMode["Random"] = "random";
UuidFactoryMode["Deterministic"] = "deterministic";
})(UuidFactoryMode || (exports.UuidFactoryMode = UuidFactoryMode = {}));
class UuidFactory {
static set mode(value) {
this._mode = value;
}
static get(key = '') {
return this._mode === UuidFactoryMode.Deterministic
? deterministic_uuid_registry_1.DeterministicUuidRegistry.get(key)
: (0, utils_1.randomStringGenerator)();
}
}
exports.UuidFactory = UuidFactory;
UuidFactory._mode = UuidFactoryMode.Random;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc3BlY3Rvci91dWlkLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQWlEO0FBQ2pELCtFQUEwRTtBQUUxRSxJQUFZLGVBR1Q7QUFISCxXQUFZLGVBQWU7SUFDdkIsb0NBQWlCLENBQUE7SUFDakIsa0RBQStCLENBQUE7QUFDakMsQ0FBQyxFQUhTLGVBQWUsK0JBQWYsZUFBZSxRQUd4QjtBQUVELE1BQWEsV0FBVztJQUd0QixNQUFNLEtBQUssSUFBSSxDQUFDLEtBQXNCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsYUFBYTtZQUNqRCxDQUFDLENBQUMsdURBQXlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBQSw2QkFBcUIsR0FBRSxDQUFDO0lBQzlCLENBQUM7O0FBWEgsa0NBWUM7QUFYZ0IsaUJBQUssR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tU3RyaW5nR2VuZXJhdG9yIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBEZXRlcm1pbmlzdGljVXVpZFJlZ2lzdHJ5IH0gZnJvbSBcIi4vZGV0ZXJtaW5pc3RpYy11dWlkLXJlZ2lzdHJ5XCI7XG5cbmV4cG9ydCBlbnVtIFV1aWRGYWN0b3J5TW9kZSB7XG4gICAgUmFuZG9tID0gJ3JhbmRvbScsXG4gICAgRGV0ZXJtaW5pc3RpYyA9ICdkZXRlcm1pbmlzdGljJyxcbiAgfVxuICBcbiAgZXhwb3J0IGNsYXNzIFV1aWRGYWN0b3J5IHtcbiAgICBwcml2YXRlIHN0YXRpYyBfbW9kZSA9IFV1aWRGYWN0b3J5TW9kZS5SYW5kb207XG4gIFxuICAgIHN0YXRpYyBzZXQgbW9kZSh2YWx1ZTogVXVpZEZhY3RvcnlNb2RlKSB7XG4gICAgICB0aGlzLl9tb2RlID0gdmFsdWU7XG4gICAgfVxuICBcbiAgICBzdGF0aWMgZ2V0KGtleSA9ICcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbW9kZSA9PT0gVXVpZEZhY3RvcnlNb2RlLkRldGVybWluaXN0aWNcbiAgICAgICAgPyBEZXRlcm1pbmlzdGljVXVpZFJlZ2lzdHJ5LmdldChrZXkpXG4gICAgICAgIDogcmFuZG9tU3RyaW5nR2VuZXJhdG9yKCk7XG4gICAgfVxuICB9Il19