UNPKG

@poli-digital/n8n-nodes-poli

Version:
74 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processApiResponseForN8n = exports.extractDataOnly = exports.filterApiResponse = void 0; function filterApiResponse(response, options = {}) { if (!response) return response; const { removeUrls = true, removePaginationMeta = true, customFieldsToRemove = [], fieldsToKeep = [] } = options; if (Array.isArray(response)) { return response.map(item => filterApiResponse(item, options)); } if (typeof response === 'object' && response !== null) { const filtered = {}; const paginationFields = [ 'links', 'meta', 'first_page_url', 'last_page_url', 'next_page_url', 'prev_page_url', 'path', 'current_page', 'from', 'to', 'per_page', 'last_page' ]; const urlFields = [ 'url', 'avatar_url', 'webhook_url', 'callback_url' ]; const fieldsToRemove = [ ...(removePaginationMeta ? paginationFields : []), ...(removeUrls ? urlFields : []), ...customFieldsToRemove ]; for (const [key, value] of Object.entries(response)) { if (fieldsToKeep.length > 0 && !fieldsToKeep.includes(key)) { continue; } if (fieldsToRemove.includes(key)) { continue; } if (removeUrls && key.endsWith('_url')) { continue; } if (typeof value === 'object' && value !== null) { filtered[key] = filterApiResponse(value, options); } else { filtered[key] = value; } } return filtered; } return response; } exports.filterApiResponse = filterApiResponse; function extractDataOnly(response, options) { if (response && typeof response === 'object' && 'data' in response) { return filterApiResponse(response.data, options); } return filterApiResponse(response, options); } exports.extractDataOnly = extractDataOnly; function processApiResponseForN8n(response, onlyData = true, filterOptions) { if (onlyData) { return extractDataOnly(response, filterOptions); } return filterApiResponse(response, filterOptions); } exports.processApiResponseForN8n = processApiResponseForN8n; //# sourceMappingURL=responseFilter.js.map