infinity-fetch - v1.4.0
    Preparing search index...

    Type Alias CursorFetchConfig<TResponse, TItem>

    type CursorFetchConfig<TResponse, TItem> = {
        fetcher: (params: CursorParams) => Promise<TResponse>;
        getCursor: (response: TResponse) => string | null | undefined;
        getItems: (response: TResponse) => TItem[];
        onStart?: () => void;
        onEnd?: (result: InfinityFetchResult<TItem>) => void;
        onPage?: (items: TItem[], response: TResponse, pageIndex: number) => void;
        maxPages?: number;
        delay?: number;
        retry?: InfinityFetchRetryConfig;
        signal?: AbortSignal;
    }

    Type Parameters

    • TResponse
    • TItem
    Index

    Properties

    fetcher: (params: CursorParams) => Promise<TResponse>
    getCursor: (response: TResponse) => string | null | undefined

    Returns the cursor for the next page, or null/undefined when there are no more pages

    getItems: (response: TResponse) => TItem[]

    Extracts items from a single page response

    onStart?: () => void

    Optional: called once before the first fetch starts

    onEnd?: (result: InfinityFetchResult<TItem>) => void

    Optional: called once after all pages have been fetched

    onPage?: (items: TItem[], response: TResponse, pageIndex: number) => void

    Optional: called after each page is fetched

    maxPages?: number

    Optional: maximum number of pages to fetch (safety limit)

    delay?: number

    Optional: milliseconds to wait between each page fetch

    Optional: retry failed page fetches

    signal?: AbortSignal

    Optional: signal to abort pagination early and return partial results