experiments library

Experimental, Dart-idiomatic query APIs.

Opt in with import 'package:flutter_query/experiments.dart';. This library re-exports useQuery, useMutation, and useInfiniteQuery that return sealed, pattern-matchable snapshots. It deliberately reuses those hook names, so when importing alongside the main library, hide the canonical ones:

import 'package:flutter_query/flutter_query.dart'
    hide
        useQuery,
        useMutation,
        useInfiniteQuery;
import 'package:flutter_query/experiments.dart';

Classes

InfiniteQueryError<TData, TError, TPageParam>
The infinite query encountered an error.
InfiniteQueryPending<TData, TError, TPageParam>
The infinite query has no resolved data yet.
InfiniteQuerySnapshot<TData, TError, TPageParam>
A Dart-idiomatic, exhaustively matchable snapshot of an infinite query.
InfiniteQuerySuccess<TData, TError, TPageParam>
The infinite query has resolved data.
MutationError<TData, TError, TVariables>
The mutation encountered an error.
MutationIdle<TData, TError, TVariables>
The mutation has not been invoked yet.
MutationPending<TData, TError, TVariables>
The mutation is currently executing.
MutationSnapshot<TData, TError, TVariables>
A Dart-idiomatic, exhaustively matchable snapshot of a mutation's state.
MutationSuccess<TData, TError, TVariables>
The mutation completed successfully.
QueryError<TData, TError>
The query encountered an error.
QueryPending<TData, TError>
The query has no resolved data yet.
QuerySnapshot<TData, TError>
A Dart-idiomatic, exhaustively matchable snapshot of a query's state.
QuerySuccess<TData, TError>
The query has resolved data.

Functions

useInfiniteQuery<TData, TError, TPageParam>(List<Object?> queryKey, InfiniteQueryFn<TData, TPageParam> queryFn, {required TPageParam initialPageParam, required NextPageParamBuilder<TData, TPageParam> nextPageParamBuilder, PrevPageParamBuilder<TData, TPageParam>? prevPageParamBuilder, int? maxPages, bool? enabled, NetworkMode? networkMode, StaleDuration? staleDuration, GcDuration? gcDuration, InfiniteData<TData, TPageParam>? placeholder, RefetchOnMount? refetchOnMount, RefetchOnResume? refetchOnResume, RefetchOnReconnect? refetchOnReconnect, Duration? refetchInterval, RetryResolver<TError>? retry, bool? retryOnMount, InfiniteData<TData, TPageParam>? seed, DateTime? seedUpdatedAt, Map<String, dynamic>? meta, ShouldRebuild<InfiniteQuerySnapshot<TData, TError, TPageParam>>? shouldRebuild, QueryClient? client}) InfiniteQuerySnapshot<TData, TError, TPageParam>
A hook for fetching and caching paginated data with automatic page accumulation.
useMutation<TData, TError, TVariables, TOnMutateResult>(MutateFn<TData, TVariables> mutationFn, {MutationOnMutate<TVariables, TOnMutateResult>? onMutate, MutationOnSuccess<TData, TVariables, TOnMutateResult>? onSuccess, MutationOnError<TError, TVariables, TOnMutateResult>? onError, MutationOnSettled<TData, TError, TVariables, TOnMutateResult>? onSettled, List<Object?>? mutationKey, NetworkMode? networkMode, GcDuration? gcDuration, RetryResolver<TError>? retry, Map<String, dynamic>? meta, QueryClient? client}) MutationSnapshot<TData, TError, TVariables>
A hook for performing create, update, and delete operations.
useQuery<TData, TError>(List<Object?> queryKey, QueryFn<TData> queryFn, {bool? enabled, NetworkMode? networkMode, StaleDuration? staleDuration, GcDuration? gcDuration, TData? placeholder, RefetchOnMount? refetchOnMount, RefetchOnResume? refetchOnResume, RefetchOnReconnect? refetchOnReconnect, Duration? refetchInterval, RetryResolver<TError>? retry, bool? retryOnMount, TData? seed, DateTime? seedUpdatedAt, Map<String, dynamic>? meta, ShouldRebuild<QuerySnapshot<TData, TError>>? shouldRebuild, QueryClient? client}) QuerySnapshot<TData, TError>
A hook for fetching, caching, and subscribing to async data.