/** * 고유 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()}`; }