UNPKG

ci-validation

Version:

🇺🇾 Complete TypeScript/JavaScript library for validating Uruguayan CI (Cédula de Identidad) with official algorithm and government service integration

75 lines 2.58 kB
/** * Interfaz para información de género */ export interface GenderInfo { genero: "masculino" | "femenino" | "desconocido"; confianza: "alta" | "media" | "baja"; primerNombre: string; segundoNombre?: string; } /** * Interfaz para información adicional de la persona */ export interface PersonaInfoAdicional { genero: GenderInfo; iniciales: string; nombreCompleto: string; longitudNombre: number; tieneSegundoNombre: boolean; cantidadNombres: number; generacion?: "Gen Z" | "Millennial" | "Gen X" | "Baby Boomer" | "Silent Generation"; } /** * Utilidades para análisis de información personal */ export declare class PersonaUtils { /** * Determina el género basado en el primer nombre * @param nombres - Nombres completos de la persona * @returns Información del género */ static determinarGenero(nombres: string): GenderInfo; /** * Genera las iniciales de una persona * @param nombres - Nombres de la persona * @param apellidos - Apellidos de la persona * @returns Iniciales en formato "N.A." */ static generarIniciales(nombres: string, apellidos: string): string; /** * Determina la generación aproximada basada en la edad * @param edad - Edad de la persona * @returns Generación estimada */ static determinarGeneracion(edad: number): string | undefined; /** * Analiza información adicional de la persona * @param nombres - Nombres de la persona * @param apellidos - Apellidos de la persona * @param edad - Edad de la persona (opcional) * @returns Información adicional procesada */ static analizarPersona(nombres: string, apellidos: string, edad?: number): PersonaInfoAdicional; /** * Normaliza el formato de nombres (primera letra mayúscula) * @param nombres - Nombres a normalizar * @returns Nombres normalizados */ static normalizarNombres(nombres: string): string; /** * Valida si un nombre contiene solo caracteres válidos * @param nombre - Nombre a validar * @returns true si el nombre es válido */ static validarNombre(nombre: string): boolean; /** * Extrae información de formato de nombre común en Uruguay * @param nombreCompleto - Nombre completo en formato "Apellido, Nombre" * @returns Objeto con nombres y apellidos separados */ static parsearNombreUruguayo(nombreCompleto: string): { nombres: string; apellidos: string; }; } //# sourceMappingURL=personaUtils.d.ts.map