Files
ueblueprint/js/Guid.js
barsdeveloper 84606486c4 Naming
2021-10-09 22:11:11 +02:00

25 lines
640 B
JavaScript

export default class Guid {
static generateGuid() {
let result = ""
let random = new Uint32Array(4);
crypto.getRandomValues(random)
random.forEach(n => {
this.result += ('00000000' + n.toString(16).toUpperCase()).slice(-8)
})
return result
}
constructor(guid) {
if (guid?.constructor?.name === 'String') {
this.value = guid
} else if (guid?.constructor?.name === 'FGuid') {
this.value = guid.value
} else {
this.value = Guid.generateGuid()
}
}
toString() {
return this.value
}
}