arc_query library

A lightweight async data toolkit for Flutter with built-in loading, error, cache, refresh, retry, and pagination support.

Classes

CachedQuery<T>
A cached query entry stored by QueryCache.
PageResult<TData, TPageParam>
A single page returned by a paginated query fetcher.
PaginatedQuery<TItem, TPageParam>
A list-focused query with built-in page loading and merge behavior.
Query<T>
A lightweight asynchronous query with caching and retry support.
QueryBuilder<T>
A Flutter widget that rebuilds from a Query state.
QueryCache
An in-memory cache used to store query results by key.
QueryController
Coordinates cache invalidation and refetching across multiple queries.
QueryError<T>
The state emitted when a query fails.
QueryFetchingMore<T>
The state emitted while a paginated query fetches another page.
QueryIdle<T>
The initial state before a query has executed.
QueryLoading<T>
The state emitted while a query is loading for the first time.
QueryRefreshing<T>
The state emitted while a query refreshes existing data.
QueryState<T>
The immutable state snapshot of a Query.
QuerySuccess<T>
The state emitted after a successful query result.

Typedefs

PageFetcher<TItem, TPageParam> = Future<PageResult<List<TItem>, TPageParam>> Function(TPageParam pageParam)
A function that fetches one page for a paginated query.
PageMerger<T> = T Function(T? current, T nextPage)
A function that merges an existing value with a newly fetched page.
QueryFetcher<T> = Future<T> Function()
A function that fetches a single query result.