UNPKG

@cashfarm/lang

Version:

Extends TypeScript/Javascript with basic classes and functions

32 lines 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const uuid_1 = require("uuid"); const primitiveWrappers_1 = require("./primitiveWrappers"); const fqn_1 = require("./fqn"); let Guid = Guid_1 = class Guid extends primitiveWrappers_1.StringWrapper { constructor(guid) { if (guid) { if (!Guid_1.isValidGuid(guid)) throw new Error('Invalid guid value supplied'); } else { guid = uuid_1.v4(); } super(guid.toLocaleLowerCase()); this.value = guid.toLocaleLowerCase(); } get primitiveValue() { return this.value; } static isValidGuid(guid) { return /^[0-9a-f]{8}-?[0-9a-f]{4}-?[1-5][0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$/i.test(guid); } }; Guid = Guid_1 = tslib_1.__decorate([ fqn_1.FQN('@cashfarm/lang.Guid'), tslib_1.__metadata("design:paramtypes", [String]) ], Guid); exports.Guid = Guid; var Guid_1; //# sourceMappingURL=guid.js.map