@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
17 lines • 686 B
JavaScript
export const iteratePages = async (fetchPage, pagination, getNextOffset) => {
const allResults = [];
const limit = pagination?.limit ?? 1000n;
let offset = pagination?.offset ?? 0n;
while (offset !== undefined) {
const items = await fetchPage({ offset, limit });
allResults.push(...Array.from(items));
offset = getNextOffset?.({ items: items, offset, limit });
}
return allResults;
};
export const byTotalCount = (totalCount) => ({ offset, limit }) => {
const nextOffset = offset + limit;
return nextOffset < totalCount ? nextOffset : undefined;
};
export const onePage = () => undefined;
//# sourceMappingURL=iterate-pages.js.map