const hexList: string[] = [];
|
for (let i = 0; i <= 15; i++) {
|
hexList[i] = i.toString(16);
|
}
|
|
export function buildUUID(): string {
|
let uuid = '';
|
for (let i = 1; i <= 36; i++) {
|
switch (i) {
|
case 9:
|
case 14:
|
case 19:
|
case 24: {
|
uuid += '-';
|
|
break;
|
}
|
case 15: {
|
uuid += 4;
|
|
break;
|
}
|
case 20: {
|
uuid += hexList[(Math.random() * 4) | 8];
|
|
break;
|
}
|
default: {
|
uuid += hexList[Math.trunc(Math.random() * 16)];
|
}
|
}
|
}
|
return uuid.replaceAll('-', '');
|
}
|
|
let unique = 0;
|
export function buildShortUUID(prefix = ''): string {
|
const time = Date.now();
|
const random = Math.floor(Math.random() * 1_000_000_000);
|
unique++;
|
return `${prefix}_${random}${unique}${String(time)}`;
|
}
|