@amplience/dc-cli
Version:
Dynamic Content CLI Tool
26 lines (25 loc) • 1.03 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.paginateWithProgress = void 0;
const paginator_1 = __importDefault(require("./paginator"));
const progress_bar_1 = require("../progress-bar/progress-bar");
const paginateWithProgress = async (pagableFn, options = {}, progressOptions) => {
const progress = (0, progress_bar_1.createProgressBar)({ title: progressOptions.title });
const results = await (0, paginator_1.default)(pagableFn, {
...options
}, {
onPage: (page) => {
var _a;
if (!progress.isActive) {
progress.start(((_a = page.page) === null || _a === void 0 ? void 0 : _a.totalElements) || 0, 0);
}
progress.increment(page.getItems().length);
}
});
progress.stop();
return results;
};
exports.paginateWithProgress = paginateWithProgress;