yutil.js
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

Yutil.js

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


Tabla de contenido:

Instalación

npm install yutil.js

Importación:

CommonJs

const yutil = require("yutil.js");

ESModule

import * as yutil from "yutil.js";

Uso:

UUID

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).

UUID v1:

yutil.uuid.v1(9);
/**
 * Return:
 * ~$ 205209958
 */

UUID v2:

  • Este incluye letras en el string
yutil.uuid.v2(9);
/**
 * Return:
 * ~$ PZPsKeR5K
 */

Abreviar Bytes a KB, MB, GB, TB:

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
 */

Obtener el tiempo equivalente de los milisegundos:

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
 */

Objeto de fecha a formato de fecha:

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
 */

Convertir a porcentajes:

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%
 */

Cifrado de datos:

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.

  • Estructura del string cifrado:

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",
];

Cifrado:

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));

Decifrado:

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));

License

MIT © Yasu Yumiko

Enlaces

Eso es todo =)

Espero te sea util este paquete :D

Package Sidebar

Install

npm i yutil.js

Weekly Downloads

0

Version

1.0.7

License

MIT

Unpacked Size

18.5 kB

Total Files

17

Last publish

Collaborators

  • yumiko0828