agte-omni-tools
Version:
Conjunto de herramientas para todo propósito
36 lines (34 loc) • 1.83 kB
JavaScript
/**
* Registra un mensaje en la consola si la aplicación está en modo desarrollo.
* @param {string} title - El título o etiqueta del mensaje a registrar.
* @param {any} data - Los datos asociados al mensaje a registrar.
*/
export const log = (title, data) => {
if (process.env.APP_MODE === 'development') {
console.log(title, data)
}
}
/**
* Genera una cadena de datos aleatorios de una longitud especificada utilizando un conjunto de caracteres proporcionado.
* @param {number} length - La longitud de la cadena aleatoria a generar.
* @param {string} [characters='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'] - El conjunto de caracteres a utilizar para generar la cadena aleatoria.
* @returns {string} - Una cadena de datos aleatorios generada.
*/
export const getRandomData = (length, characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') => {
return Array.from({ length }, () => characters.charAt(Math.floor(Math.random() * characters.length))).join('')
}
/**
* Formatea una cadena de plantilla reemplazando marcadores de posición con valores proporcionados, útil para mensajes de error o log personalizados.
* @param {string} template - Texto original con marcadores de posición en formato {n}.
* @param {...any} values - Valores a reemplazar en los marcadores de posición.
* @returns {string} - Cadena formateada con los valores reemplazados.
* @example
* // Ejemplo de uso:
* const mensaje = formatTemplateString("Hola, {0}! Tienes {1} mensajes nuevos.", "Juan", 5);
* console.log(mensaje); // "Hola, Juan! Tienes 5 mensajes nuevos."
*/
export const formatTemplateString = (template, ...values) => {
return template.replace(/{(\d+)}/g, (match, index) => {
return typeof values[index] !== 'undefined' ? values[index] : match;
});
};