UNPKG

@poli-digital/n8n-nodes-poli

Version:
62 lines 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateRequiredArray = exports.sanitizeEndpoint = exports.validateAndSanitizeUrl = exports.getMultipleParametersSafe = exports.validateRequiredParameter = exports.getParameterSafe = void 0; function getParameterSafe(executeFunctions, parameterName, itemIndex, fallback = '', required = false) { try { const value = executeFunctions.getNodeParameter(parameterName, itemIndex, fallback); if (required && (value === '' || value === null || value === undefined)) { throw new Error(`❌ Parâmetro obrigatório '${parameterName}' está vazio ou ausente`); } return value; } catch (error) { if (required) { throw new Error(`❌ Parâmetro obrigatório '${parameterName}' não encontrado: ${error.message}`); } console.warn(`⚠️ Parâmetro '${parameterName}' não encontrado no item ${itemIndex}, usando fallback:`, fallback); return fallback; } } exports.getParameterSafe = getParameterSafe; function validateRequiredParameter(value, parameterName) { if (value === '' || value === null || value === undefined) { throw new Error(`❌ Parâmetro obrigatório '${parameterName}' é necessário`); } } exports.validateRequiredParameter = validateRequiredParameter; function getMultipleParametersSafe(executeFunctions, itemIndex, parameters) { const result = {}; for (const param of parameters) { result[param.name] = getParameterSafe(executeFunctions, param.name, itemIndex, param.fallback || '', param.required || false); } return result; } exports.getMultipleParametersSafe = getMultipleParametersSafe; function validateAndSanitizeUrl(url, parameterName = 'url') { if (!url || url.trim() === '') { throw new Error(`❌ Parâmetro '${parameterName}' deve conter uma URL válida`); } const trimmedUrl = url.trim(); try { new URL(trimmedUrl); return trimmedUrl; } catch (error) { throw new Error(`❌ Parâmetro '${parameterName}' deve conter uma URL válida. Formato: https://exemplo.com/webhook`); } } exports.validateAndSanitizeUrl = validateAndSanitizeUrl; function sanitizeEndpoint(endpoint) { if (!endpoint) return '/'; const cleaned = endpoint.trim(); return cleaned.startsWith('/') ? cleaned : `/${cleaned}`; } exports.sanitizeEndpoint = sanitizeEndpoint; function validateRequiredArray(array, parameterName) { if (!Array.isArray(array) || array.length === 0) { throw new Error(`❌ Parâmetro '${parameterName}' deve conter pelo menos um item`); } } exports.validateRequiredArray = validateRequiredArray; //# sourceMappingURL=parameterUtils.js.map