@royaltics/utils
v1.1.2
Published
🚀 Una librerĂa de utilidades y componentes UI reutilizables para proyectos JavaScript y TypeScript. Compatible con utilsJS y ESM.
Readme
📦 Royaltics Utils & UI
🚀 Una librerĂa de utilidades y componentes UI reutilizables para proyectos JavaScript y TypeScript. Compatible con utilsJS y ESM.
📦 Índice de Componentes
- Fechas (
src/dates) - NĂşmeros (
src/numbers) - Imágenes (
src/images) - Cadenas (
src/string) - Descargas (
src/download) - Plataforma (
src/platform) - Formularios (
src/forms)
Fechas src/dates
parseDate(date, timezone?): Convierte un string a objeto Date.convertTimeZone(date): Ajusta una fecha a la zona horaria local.formatDate(date, timezone?, format?): Formatea una fecha a string (YYYY-MM-DDoDD/MM/YYYY).formatDateTime(date, timezone?, format?): Formatea fecha y hora.formatDateLocal(date, timezone?): Formatea fecha a formato local.formatTimeString(date): Extrae la hora en formatoHH:mm.nowTime(): Fecha y hora actual en formato string.nowDate(): Fecha actual en formato string.dateToStringEs(date, format?): Fecha en español, ej: "Lunes, 30 de Marzo del 2023".monthsToStringEs(month): Nombre del mes en español.monthsGenerate(count?, letters?): Array de nombres de meses.addDaysDate(days, date?): Suma dĂas a una fecha.diffDate(date_start, date_end, type?): Diferencia entre fechas en dĂas, meses o semanas.formatTimeSince(date): Tiempo transcurrido desde una fecha (ej: "Hace 2 horas").
NĂşmeros src/numbers
sumFloat(...values): Suma valores como flotantes.calculateEqPercent(total, value): Calcula el porcentaje de un valor respecto a un total.defaultFloat(data, default_value?): Convierte a float, valor por defecto si no es válido.roundFloat(number, decimals?): Redondea un número flotante.calculateDiscount(price_a, price_b): Calcula el descuento entre dos precios.addTaxPorcent(price, tax_value, methodInverse?): Suma o resta porcentaje de impuesto.getUtility(pvp, price, methodInverse?): Calcula utilidad aplicada.getPercent(a, b): Calcula el porcentaje dearespecto ab.
Imágenes src/images
getDataUriFromImage(url, width?, height?): Convierte una imagen a Data URI (base64) con tamaño personalizado.
Cadenas src/string
fillSpaces(text, limit?, character?): Rellena un texto con caracteres hasta un lĂmite.randomString(length?): Genera un string aleatorio.truncateText(message, length?, index?): Trunca un texto a una longitud máxima.
Descargas src/download
downloadBlob(data, fileName): Fuerza la descarga de un archivo Blob en el navegador.
Plataforma src/platform
getDeviceOS(): Detecta el sistema operativo del dispositivo.getDeviceName(): Devuelve el nombre del navegador y sistema operativo.isMobileDevice(): Indica si el dispositivo es mĂłvil (por ancho de pantalla).
Formularios src/forms
src/forms/format.ts
parseNumberDoc(number): Formatea un número de documento a001-001-xxxxxx.setSequence(number, limit?, serie?): Formatea una secuencia numérica con ceros a la izquierda.toString(object, options?): Convierte cualquier valor a string, con opciones de formato.
src/forms/validator.ts
isEmpty(data, minLength?): Verifica si un campo está vacĂo.isInteger(value): Verifica si es un entero.isFloat(value): Verifica si es un flotante.isUUID(value): Verifica si es un UUID válido.isNumberDocument(doc_number): Verifica formato de nĂşmero de documento.isEmail(value): Verifica si es un email válido.isURL(value): Verifica si es una URL válida.isValidForm(inputs, rulesObject, toast?): Valida un objeto de formulario segĂşn reglas.
Ejemplo de Uso
import {
formatDate,
sumFloat,
getDataUriFromImage,
fillSpaces,
downloadBlob,
getDeviceOS,
isValidForm
} from "royaltics/utils";
console.log(formatDate(new Date())); // "2023-03-30"
console.log(sumFloat("5,599", 2)); // 7.599
getDataUriFromImage("https://ejemplo.com/img.jpg").then(console.log);
console.log(fillSpaces("123", 6)); // "000123"
downloadBlob("Hola mundo", "saludo.txt");
console.log(getDeviceOS()); // "Windows", "Android", etc.
const formRules = {
email: { rules: ["req", "email"], name: "Correo" }
};
console.log(isValidForm({ email: "[email protected]" }, formRules)); // true⚙️ Compilación y Desarrollo
Para compilar la librerĂa:
pnpm buildPara ejecutar en modo desarrollo:
pnpm dev📜 Licencia
MIT License © 2025 - Royaltics Solutions
