Harfizer es un paquete potente para convertir números, fechas y horas en texto. Mediante el uso de plugins específicos para cada idioma, Harfizer te permite transformar de forma sencilla valores numéricos y temporales en su representación textual.
Si prefieres utilizar otro idioma, consulta la documentación correspondiente a través de los enlaces proporcionados arriba o al final de este documento.
- Harfizer — Lee tus números, fechas y horas en español
Instala Harfizer mediante npm:
npm install harfizerImporta el plugin y la clase CoreConverter desde el paquete:
import { CoreConverter, SpanishLanguagePlugin } from 'harfizer';
const spanishPlugin = new SpanishLanguagePlugin();
const converter = new CoreConverter(spanishPlugin);Convierte un número (entero o decimal, que puede ser negativo) a su representación textual en español. La parte decimal se procesa dígito por dígito usando la palabra "punto".
Parámetros:
- input: Número, cadena numérica o bigint.
- options (opcional): Objeto para personalizar la conversión:
customZeroWord– Sobrescribe la palabra por defecto para cero.customNegativeWord– Sobrescribe la palabra por defecto para números negativos.customSeparator– Sobrescribe el separador por defecto entre grupos.
Valor de retorno:
Una cadena que representa el número en palabras.
Ejemplo:
converter.convertNumber("123");
// Salida: "cien veintitrés"
converter.convertNumber("-456.78");
// Salida: "menos cuatrocientos cincuenta y seis punto siete ocho"Convierte un número de hasta tres dígitos en su representación textual en español.
Parámetros:
- num: Valor numérico (hasta 3 dígitos).
Valor de retorno:
Una cadena que representa el número en palabras (por ejemplo, "cuatrocientos cincuenta y seis").
Ejemplo:
converter.convertTripleToWords(789);
// Salida: "setecientos ochenta y nueve"Convierte una cadena de fecha en formato "YYYY/MM/DD" o "YYYY-MM-DD" en su representación textual en español. La salida se formatea como "día de mes de año".
Parámetros:
- dateStr: Cadena de fecha.
- calendar (opcional): Para español se utiliza el calendario gregoriano (valor por defecto "gregorian").
Valor de retorno:
Una cadena que representa la fecha en palabras.
Ejemplo:
converter.convertDateToWords("2023/04/05");
// Salida: "cinco de abril de dos mil veintitrés"Convierte una cadena de tiempo en formato "HH:mm" en su representación textual en español.
Si los minutos son cero, devuelve por ejemplo "Es la una en punto"; de lo contrario, devuelve "Son las [hora] y [minutos] minutos".
Parámetros:
- timeStr: Cadena de tiempo (formato "HH:mm").
Valor de retorno:
Una cadena que representa la hora en palabras.
Ejemplo:
converter.convertTimeToWords("09:00");
// Salida: "Son las nueve en punto"
converter.convertTimeToWords("09:05");
// Salida: "Son las nueve y cinco minutos"A continuación se muestra un ejemplo del uso de SpanishLanguagePlugin junto con CoreConverter:
import { CoreConverter, SpanishLanguagePlugin } from 'harfizer';
const spanishPlugin = new SpanishLanguagePlugin();
const converter = new CoreConverter(spanishPlugin);
console.log(converter.convertNumber("123"));
// Salida: "cien veintitrés"
console.log(converter.convertDateToWords("2023/04/05"));
// Salida: "cinco de abril de dos mil veintitrés"
console.log(converter.convertTimeToWords("09:05"));
// Salida: "Son las nueve y cinco minutos"El método convertNumber acepta un objeto opcional ConversionOptions para personalizar la conversión:
const options = {
customZeroWord: "cero",
customNegativeWord: "menos",
customSeparator: " "
};
console.log(converter.convertNumber("-123", options));
// Salida: "menos cien veintitrés"Para consultar la documentación de otros plugins, por favor refiérase a los siguientes archivos:
- 🇬🇧 Documentación del plugin en inglés
- 🇮🇷 Documentación del plugin en persa
- 🇫🇷 Documentación del plugin en francés
- 🇯🇵 Documentación del plugin en japonés
- 🇨🇳 Documentación del plugin en chino
- 🇷🇺 Documentación del plugin en ruso
- 🇩🇪 Documentación del plugin en alemán
Este paquete se distribuye bajo la licencia MIT.