Skip to content

API reference > @kontsedal/olas-core > InfiniteQuerySubscription

InfiniteQuerySubscription type ​

What createQuery(ctx, infiniteQuery, ...) returns. Extends AsyncState<TPage[]> with paginated controls: fetchNextPage / fetchPreviousPage,hasNextPage / hasPreviousPage, and per-direction isFetching signals.

flat is a convenience: the pages' items, flattened through the spec'sitemsOf. Without itemsOf, flat equals pages (spec §5.11).

Signature:

typescript
type InfiniteQuerySubscription<TPage, TItem> = AsyncState<TPage[]> & {
  pages: ReadSignal<TPage[]>;
  flat: ReadSignal<TItem[]>;
  hasNextPage: ReadSignal<boolean>;
  hasPreviousPage: ReadSignal<boolean>;
  isFetchingNextPage: ReadSignal<boolean>;
  isFetchingPreviousPage: ReadSignal<boolean>;
  fetchNextPage: () => Promise<void>;
  fetchPreviousPage: () => Promise<void>;
};

References: AsyncState, ReadSignal

Released under the MIT License.