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

57 lines
1.2 KiB
TypeScript

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