Yutil.js es un paquete de Node.js escrito de TypeScript y creado con funciones de JavaScript que he llegado a usar mucho y posiblemente tambien te ayuden en tus proyectos.
Lo hice lo mas facil posible de usar para que no tengas dificultades al usarlo :D
npm install yutil.js
CommonJs
const yutil = require("yutil.js");
ESModule
import * as yutil from "yutil.js";
Genera una ID con un número de carácteres aleatorios.
Parámetro | Descripción |
---|---|
length |
Define la máxima cantidad de dígitos que tendra el string (por defecto es 18). |
yutil.uuid.v1(9);
/**
* Return:
* ~$ 205209958
*/
- Este incluye letras en el string
yutil.uuid.v2(9);
/**
* Return:
* ~$ PZPsKeR5K
*/
Parámetro | Descripción |
---|---|
bytes |
Los bytes que deseas abreviar. |
fixed |
el número de dígitos que aparecerán después del punto decimal, por defecto es 2 pero lo puedes remover estableciendolo en 0. |
Con numero decimal:
yutil.size(23925278);
/**
* Return:
* ~$ 22.82 MB
*/
Sin numero decimal:
yutil.size(45789848, 0);
/**
* Return:
* ~$ 44 MB
*/
Devuelve un objeto con los todos los equivalentes diponibles
Parámetro | Descripción |
---|---|
ms |
Los milisegundos |
Los equivalentes que podemos obtener:
-
years
: años -
months
: meses -
weeks
: semanas -
days
: dias -
hours
: horas -
minutes
: minutos -
seconds
: segundos
Ejemplo:
const { days, hours, minutes, seconds } = yutil.mstime(103957205811);
console.log(
`Hace ${days} días, ${hours} horas, ${minutes} minutos y ${seconds} segundos`
);
/**
* Return:
* ~$ Hace 2 días, 3 horas, 30 minutos y 5 segundos
*/
En Yutil.js v1.0.0 y v1.0.1 eran funciones separadas, ahora son uno solo pero retorna un objeto con las variables date
y hour
.
Parámetro | Descripción |
---|---|
date |
El objeto de fecha (ejemplo: 2022-06-08T23:55:13.558Z ). |
Obtener la hora:
yutil.format("2022-06-08T23:55:13.558Z").hour;
/**
* Return:
* ~$ Hora: 7:06 PM
*/
Obtener la fecha:
yutil.format("2022-06-08T23:55:13.558Z").date;
/**
* Return:
* ~$ Fecha: 8/6/2022
*/
Parámetro | Descripción |
---|---|
portion |
La porción del porcentaje total. |
total |
El total del porcentaje. |
fixed |
El número de dígitos que aparecerán después del punto decimal, por defecto es 2 pero lo puedes remover estableciendolo en 0. |
// Uso:
yutil.percent(portion, total, fixed);
Ejemplo:
yutil.percent(15670, 100000);
/**
* Return:
* ~$ 15.67%
*/
En la versión 1.0.5
se agregaron las funciones para el cifrado y decifrado de datos con la libreria crypto
de Node.js.
Nota: Las partes de separan por un punto (
.
)
Las partes de una cadena cifrada generada por Yutil.js
son las siguientes.
Aunque un tercero tenga acceso a la cadena cifrada, sin la llave secreta no podra decifrar la cadena.
// Cadena cifrada
"72b483a19ad355fcb8f962ceead20001.6d31b0c40aa8bdf9183ce892b1602a69";
// Estructura
[
// 1 ----> IV (Vector de Inicialización).
"72b483a19ad355fcb8f962ceead20001",
// 2 ----> Payload (Datos encriptados)
"6d31b0c40aa8bdf9183ce892b1602a69",
];
Parámetros | Descripción |
---|---|
text |
El texto a cifrar. |
secret |
La llave secreta que se usará para cifrar el texto. |
const secret = "mysecretkey";
yutil
.encrypt("Hello World!", secret)
.then((encrypted) => {
console.log(`Cifrado: ${encrypted}`);
/**
* Return:
* ~$ Cifrado: c5e923ed57b23d8d4f29a2988e38beaf.3fea0492d53e5968b0cdd047555cde1a
*/
})
.catch((err) => console.error(err));
Parámetros | Descripción |
---|---|
encrypted |
La cadena de texto cifrada generada por #encrypt(). |
secret |
La llave secreta usada para cifrar el texto. |
const encrypted =
"c5e923ed57b23d8d4f29a2988e38beaf.3fea0492d53e5968b0cdd047555cde1a";
const secret = "mysecretkey";
yutil
.decrypt(encrypted, secret)
.then((data) => {
console.log(`Decifrado: ${data}`);
/**
* Return:
* ~$ Decifrado: Hello World!
*/
})
.catch((err) => console.error(err));
MIT © Yasu Yumiko
Espero te sea util este paquete :D