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
TypeScript
/**
* 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