@datoteca/cl
Generador de datos de prueba realistas y culturalmente correctos para Chile — determinístico por seed. Parte del proyecto Datoteca.
RUT con dígito verificador matemáticamente válido, comunas reales (SUBDERE), dinero formateado en es-CL — pensado para dominios donde el formato importa, como fintech y banca. Complementa a librerías generalistas como Faker, no las reemplaza: Datoteca se enfoca en el detalle específico de cada país.
Instalación
npm install @datoteca/cl
@datoteca/core (PRNG y helpers compartidos) se instala automáticamente como dependencia — no hace falta agregarlo a mano.
Uso
Instancia Datoteca con una seed. Sin estado global: la misma seed, en el mismo orden de llamadas, siempre produce el mismo resultado.
import { Datoteca } from '@datoteca/cl';
const dl = new Datoteca({ seed: 123 });
dl.rut(); // "12345678-9"
dl.persona.nombreCompleto(); // "María González Soto"
dl.direccion.direccionCompleta(); // "Los Aromos 482, Providencia"
dl.telefono.movil(); // "+56 9 1234 5678"
dl.dinero.clp(); // "$45.000"
RUT con distintas opciones de formato:
dl.rut(); // "12345678-9" (format: 'dash', default)
dl.rut({ format: 'dots' }); // "12.345.678-9"
dl.rut({ format: 'raw' }); // "123456789"
dl.rut({ dv: false }); // "12345678" (sin dígito verificador)
rut() en la raíz genera persona natural. Para distinguir explícitamente entre persona natural y empresa (el SII asigna RUT de personas jurídicas desde el 50.000.000):
dl.persona.rut(); // "12345678-9" (rango persona natural: 1.000.000-25.000.000)
dl.empresa.rut(); // "76543210-K" (rango empresa: 50.000.000-99.999.999)
Dígito verificador de forma independiente (método estático, no requiere seed) y dinero con rango personalizado:
Datoteca.calcularDV(12345678); // "5"
dl.dinero.clp({ min: 10_000, max: 200_000 });
dl.dinero.uf(); // "UF 1.234,56"
dl.dinero.clpNumero(); // 45000 (number, sin formatear)
dl.dinero.ufNumero(); // 1234.56 (number, hasta 2 decimales)
Namespaces
| Namespace | Métodos |
|---|---|
| raíz | rut(options?) (persona natural), Datoteca.calcularDV(numero) |
persona |
rut(options?), nombre(), apellido(), nombreCompleto() |
direccion |
comuna(), calle(), direccionCompleta() |
telefono |
movil(), fijo() |
dinero |
clp(options?), uf(options?), clpNumero(options?), ufNumero(options?) |
banco |
nombre(), cuenta() |
empresa |
rut(options?), razonSocial(), giro() |
Documentación completa, roadmap y guía de contribución en el repo principal.
Licencia
MIT — ver LICENSE.