UNPKG

n8n-nodes-instantly-dev

Version:

n8n community node for Instantly API v2

45 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.paginateInstantlyApi = paginateInstantlyApi; const generic_functions_1 = require("../../generic.functions"); /** * Pagination utilities for Instantly API */ /** * Helper function for pagination */ async function paginateInstantlyApi(context, endpoint, resourceName) { let allItems = []; let startingAfter; let hasMore = true; let pageCount = 0; console.log(`Starting pagination for ${resourceName}...`); while (hasMore) { pageCount++; const queryParams = { limit: 100 }; // Use max limit for efficiency if (startingAfter) { queryParams.starting_after = startingAfter; } const response = await generic_functions_1.instantlyApiRequest.call(context, 'GET', endpoint, {}, queryParams); if (response.items && Array.isArray(response.items)) { allItems = allItems.concat(response.items); } // Check if there are more pages if (response.next_starting_after) { startingAfter = response.next_starting_after; console.log(`More pages available. Next starting_after: ${startingAfter}`); } else { hasMore = false; console.log('No more pages available.'); } // Safety check to prevent infinite loops if (pageCount > 1000) { console.warn('Pagination safety limit reached (1000 pages). Stopping.'); break; } } console.log(`Pagination complete. Total items retrieved: ${allItems.length}`); return allItems; } //# sourceMappingURL=paginationHelpers.js.map