@datoteca/cl
v0.4.0
Published
Generador de datos de prueba realistas para Chile: RUT, personas, direcciones, teléfonos, dinero, bancos y empresas
Maintainers
Readme
@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.
