Uecko_ERP/packages/rdx-utils/src/helpers/id-utils.ts

32 lines
792 B
TypeScript
Raw Normal View History

2026-02-12 14:46:47 +00:00
import {
parse as uuidParse,
stringify as uuidStringify,
v4 as uuidv4,
v7 as uuidv7,
validate,
version,
} from "uuid";
2025-07-07 18:25:13 +00:00
export const generateUUIDv4 = (): string => uuidv4();
2025-09-12 09:14:27 +00:00
export const generateUUIDv7 = (): string => uuidv7();
2026-02-12 14:46:47 +00:00
export function uuidStringToBinary(uuid: string): Buffer {
return Buffer.from(uuidParse(uuid));
}
export function uuidBinaryToString(buffer: Buffer): string {
return uuidStringify(buffer);
}
export function isUuidValid(value: string): boolean {
return validate(value) && version(value) === 7;
}
export function isUuidBinary(value: unknown): value is Buffer {
return Buffer.isBuffer(value) && value.length === 16;
}
export function isUuidString(value: unknown): value is string {
return typeof value === "string" && isUuidValid(value);
}