ERP-node/frontend/lib/utils/generateId.ts

57 lines
1.2 KiB
TypeScript
Raw Permalink Normal View History

2025-09-01 11:48:12 +09:00
/**
* ID
*/
/**
* UUID v4
*/
export function generateUUID(): string {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
const r = (Math.random() * 16) | 0;
const v = c === "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
/**
* ID (8)
*/
export function generateShortId(): string {
return Math.random().toString(36).substring(2, 10);
}
/**
* ID (16)
*/
export function generateLongId(): string {
return Math.random().toString(36).substring(2, 18);
}
/**
* ID (UUID v4)
*/
export function generateId(): string {
return generateUUID();
}
/**
* ID
*/
export function generateTimestampId(): string {
return Date.now().toString(36) + Math.random().toString(36).substring(2);
}
/**
* ID ( )
*/
export function generateComponentId(prefix: string = "comp"): string {
return `${prefix}_${generateShortId()}`;
}
/**
* ID ( )
*/
export function generateScreenId(prefix: string = "screen"): string {
return `${prefix}_${generateShortId()}`;
}