async function* paginerDépenses(params?: Partial<ExpenseListRequest>) {
let page = 1;
let totalPages = 1;
do {
const response = await client.expenses.listBusiness({
...params,
page,
limit: params?.limit ?? 100,
});
for (const expense of response.data) {
yield expense;
}
totalPages = response.pagination.pageCount;
page++;
} while (page <= totalPages);
}
// Traiter les dépenses une par une sans tout charger en memoire
for await (const expense of paginerDépenses({ sortBy: 'amount' })) {
console.log(expense.id, expense.amount);
}