Uecko_ERP/packages/rdx-utils/src/helpers/id-utils.ts
2026-02-12 15:46:47 +01:00

32 lines
792 B
TypeScript

import {
parse as uuidParse,
stringify as uuidStringify,
v4 as uuidv4,
v7 as uuidv7,
validate,
version,
} from "uuid";
export const generateUUIDv4 = (): string => uuidv4();
export const generateUUIDv7 = (): string => uuidv7();
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);
}