query<T> function

BloomQuery<T> query<T>({
  1. required List key,
  2. required QueryFetcher<T> fetch,
  3. Duration staleTime = const Duration(minutes: 5),
  4. Duration cacheTime = const Duration(minutes: 30),
  5. bool enabled = true,
  6. int retry = 2,
  7. Duration retryDelay = const Duration(milliseconds: 500),
})

Creates a declarative, cached asynchronous query.

Example:

final postsQuery = query<List<Post>>(
  key: ['posts'],
  fetch: () => api.fetchPosts(),
  staleTime: const Duration(minutes: 2),
);

Implementation

BloomQuery<T> query<T>({
  required List<dynamic> key,
  required QueryFetcher<T> fetch,
  Duration staleTime = const Duration(minutes: 5),
  Duration cacheTime = const Duration(minutes: 30),
  bool enabled = true,
  int retry = 2,
  Duration retryDelay = const Duration(milliseconds: 500),
}) {
  return BloomQuery<T>(
    key: key,
    fetch: fetch,
    staleTime: staleTime,
    cacheTime: cacheTime,
    enabled: enabled,
    retry: retry,
    retryDelay: retryDelay,
  );
}