49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
/**
|
|
* Formatea la información de una receta para enviarla como mensaje.
|
|
* @param {Object} recipe - Objeto de receta obtenido de TheMealDB.
|
|
* @returns {String} - Mensaje formateado con la información de la receta.
|
|
*/
|
|
const formatRecipeInfo = (recipe) => {
|
|
return `
|
|
🍽️ *${recipe.strMeal}*
|
|
|
|
📄 *Categoría:* ${recipe.strCategory || 'No disponible'}
|
|
🌍 *Área:* ${recipe.strArea || 'No disponible'}
|
|
|
|
📝 *Instrucciones:*
|
|
${recipe.strInstructions || 'No hay instrucciones disponibles.'}
|
|
|
|
🔗 *Fuente:*
|
|
${recipe.strSource || 'No disponible'}
|
|
|
|
🌐 *Video:*
|
|
${recipe.strYoutube || 'No disponible'}
|
|
|
|
🌐 *Imagen:*
|
|
${recipe.strMealThumb}
|
|
|
|
🛒 *Ingredientes:*
|
|
${getIngredientsList(recipe)}
|
|
`.trim();
|
|
};
|
|
|
|
/**
|
|
* Genera una lista de ingredientes y sus medidas.
|
|
* @param {Object} recipe - Objeto de receta obtenido de TheMealDB.
|
|
* @returns {String} - Lista formateada de ingredientes.
|
|
*/
|
|
const getIngredientsList = (recipe) => {
|
|
let ingredients = '';
|
|
for (let i = 1; i <= 20; i++) {
|
|
const ingredient = recipe[`strIngredient${i}`];
|
|
const measure = recipe[`strMeasure${i}`];
|
|
if (ingredient && ingredient.trim() !== '') {
|
|
ingredients += `- ${ingredient} - ${measure}\n`;
|
|
}
|
|
}
|
|
return ingredients || 'No hay ingredientes disponibles.';
|
|
};
|
|
|
|
module.exports = {
|
|
formatRecipeInfo
|
|
}; |