UNPKG

@amplience/dc-cli

Version:
22 lines (21 loc) 913 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_SIZE = void 0; exports.DEFAULT_SIZE = 100; const paginator = async (pagableFn, options = {}, paginatorOptions = {}) => { const currentPage = await pagableFn({ ...options, size: exports.DEFAULT_SIZE }); if (paginatorOptions === null || paginatorOptions === void 0 ? void 0 : paginatorOptions.onPage) { paginatorOptions.onPage(currentPage); } if (currentPage.page && currentPage.page.number !== undefined && currentPage.page.totalPages !== undefined && currentPage.page.number + 1 < currentPage.page.totalPages) { return [ ...currentPage.getItems(), ...(await paginator(pagableFn, { ...options, page: currentPage.page.number + 1 }, { ...paginatorOptions })) ]; } return currentPage.getItems(); }; exports.default = paginator;