@cashfarm/lang
Version:
Extends TypeScript/Javascript with basic classes and functions
32 lines • 1.03 kB
JavaScript
;
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