1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-09 07:25:19 +02:00
This commit is contained in:
Tyler Myracle 2024-01-21 03:25:11 -06:00
parent 8ee64488fc
commit 76ed354d76

View file

@ -71,7 +71,6 @@ export async function paginateWithNextUrl<TData>({
const result: TData[] = [] const result: TData[] = []
while (hasNextPage) { while (hasNextPage) {
// Fetch one page of data
const response: { data: TData[]; nextUrl: string | undefined } = await fetchData( const response: { data: TData[]; nextUrl: string | undefined } = await fetchData(
pageSize, pageSize,
nextCursor nextCursor
@ -80,13 +79,10 @@ export async function paginateWithNextUrl<TData>({
const nextUrl: string | undefined = response.nextUrl ?? undefined const nextUrl: string | undefined = response.nextUrl ?? undefined
nextCursor = nextUrl ? new URL(nextUrl).searchParams.get('cursor') ?? undefined : undefined nextCursor = nextUrl ? new URL(nextUrl).searchParams.get('cursor') ?? undefined : undefined
// Add fetched data to the result
result.push(...data) result.push(...data)
// Determine if there is a next page
hasNextPage = !!nextCursor hasNextPage = !!nextCursor
// Delay the next request if needed
if (delay) { if (delay) {
delay.onDelay(`Waiting ${delay.milliseconds / 1000} seconds`) delay.onDelay(`Waiting ${delay.milliseconds / 1000} seconds`)
await new Promise((resolve) => setTimeout(resolve, delay.milliseconds)) await new Promise((resolve) => setTimeout(resolve, delay.milliseconds))