UNPKG

@anpdgovbr/shared-types

Version:

Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)

79 lines 2.02 kB
/** * @file uuid.type.ts * @module base/uuid * * @description * Define o tipo UUID usado em toda a aplicação para identificadores únicos. * * @remarks * UUID v4 (RFC 4122) é o padrão adotado pela API Quarkus de Controladores. * O formato esperado segue o padrão: `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx` * onde x é qualquer dígito hexadecimal e y é 8, 9, A ou B. * * @example * ```typescript * import { UUID } from "@anpdgovbr/shared-types" * * const id: UUID = "550e8400-e29b-41d4-a716-446655440000" * ``` * * @public * @since 0.2.0 */ /** * Representa um identificador único universal (UUID v4). * * @remarks * - Formato: string com 36 caracteres (incluindo hífens) * - Padrão regex: `^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$` * - Geração: usar `crypto.randomUUID()` no Node.js ou navegadores modernos * * @example * ```typescript * const novoId: UUID = crypto.randomUUID() * ``` * * @public */ export type UUID = string; /** * Regex pattern para validação de UUID v4. * * @remarks * Valida o formato exato de um UUID versão 4 conforme RFC 4122. * * @public */ export declare const UUID_V4_PATTERN: RegExp; /** * Type guard para verificar se uma string é um UUID v4 válido. * * @param value - Valor a ser verificado * @returns `true` se o valor for um UUID v4 válido, caso contrário `false` * * @example * ```typescript * const id = "550e8400-e29b-41d4-a716-446655440000" * if (isUUID(id)) { * console.log("UUID válido") * } * ``` * * @public */ export declare function isUUID(value: unknown): value is UUID; /** * Valida se uma string é um UUID v4 válido e lança erro caso não seja. * * @param value - Valor a ser validado * @throws {Error} Se o valor não for um UUID v4 válido * * @example * ```typescript * assertUUID("550e8400-e29b-41d4-a716-446655440000") * ``` * * @public */ export declare function assertUUID(value: unknown): asserts value is UUID; //# sourceMappingURL=uuid.type.d.ts.map