UNPKG

@exromany/lido-csm-sdk

Version:

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

23 lines 915 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.onePage = exports.byTotalCount = exports.iteratePages = void 0; 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; }; exports.iteratePages = iteratePages; const byTotalCount = (totalCount) => ({ offset, limit }) => { const nextOffset = offset + limit; return nextOffset < totalCount ? nextOffset : undefined; }; exports.byTotalCount = byTotalCount; const onePage = () => undefined; exports.onePage = onePage; //# sourceMappingURL=iterate-pages.js.map