fl_query 1.0.0 copy "fl_query: ^1.0.0" to clipboard
fl_query: ^1.0.0 copied to clipboard

Asynchronous data caching, refetching & invalidation library for Flutter

1.0.0 #

  • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.

1.0.0-alpha.6 #

  • FIX(fl_query): use sync connection checker instead of async in every operation.
  • FEAT(fl_query_connectivity_plus_adapter): lookup based offline detection.

1.0.0-alpha.5 #

  • FIX(query): isLoading & isRefreshing not working as expected.
  • FIX(mutation): isMutating not working.
  • FEAT(infinite_query): add isLoadingNextPage & remove isLoadingPage.

1.0.0-alpha.4 #

  • FIX: mutation onSuccess doesn't refresh all pages of infinite queries.
  • FIX: no refreshing stale queries with error.

1.0.0-alpha.3 #

  • REFACTOR: directory restructure revamp.
  • REFACTOR: more convenient ways customizing config.
  • REFACTOR: stale logic to separate mixin.
  • REFACTOR: remove KyeType and use String for queryKey and mutationKey.
  • REFACTOR(example): package specific examples instead of a single example.
  • REFACTOR(QueryBowl): query bowl logic as a separate class instead of a stateful widget.
  • REFACTOR: move devtools to separate library.
  • FIX(fl_query_hooks): unneeded empty instances of query/mutation.
  • FIX(base_query): onData callback getting called with null #17.
  • FIX(fl_query_hooks): newest query/mutation/infinite-query instance not getting returned.
  • FIX: fetch query and infinite query resolving immediately without proper result.
  • FIX: refetchOnExternalDataChange isn't working #18.
  • FIX: mutation context param clashing with BuildContext.
  • FIX: query, infinite_query fetching/refetching when offline.
  • FIX: state update on unmounted hook and infinite query cache refetch not working.
  • FIX(client): check for error out put in fetch query and infinite query and mutateMutation immediate resolve.
  • FIX: not updating queryFn on create query's old query and checking stale status after updating queryFn instead of storing the status before.
  • FIX(InfiniteQueryJob): remove unneeded keepPreviousData property.
  • FEAT: add mutation and mutation builder with example.
  • FEAT: infinite query listenable add and cache event stream.
  • FEAT: add infinite query builder with example.
  • FEAT: new widget query listable builder.
  • FEAT: safe setState for builders, separate cache box for query and infinite query and update state before _operate to indicate loading state.
  • FEAT: working query builder, remove timeout from retryConfig.
  • FEAT: cache, client, query builder add and refreshOnQueryFnChange option.
  • FEAT: infinite query implementation.
  • FEAT: safe cancellation of running operation on reset.
  • FEAT: initial query and retryer implementation.
  • FEAT: clean old junk.
  • FEAT: useQuery hook with working example.
  • FEAT: useInfiniteQuery hook add.
  • FEAT: add query and infinite query disk caching support.
  • FEAT: use function hooks instead of class hooks.
  • FEAT: new next_page signature, query/mutation fn in notifier and safe update in use_updater.
  • FEAT(QueryClientProvider): add config parameters and override-able client parameter.
  • FEAT: add devtools (WIP).
  • FEAT: add ability to get, refresh query and infinite queries using prefix.
  • FEAT: connectivity adapter package for connectivity_plus.
  • FEAT: refresh on network state change and cancel retry when offline.
  • FEAT: add support for keepPreviousData & examples regarding this.
  • FEAT: resolve and resolveWith helper support.
  • FEAT: add initial support for InfiniteQuery.
  • FEAT(infinite-query): onData and onError listener support.
  • FEAT(infinite-query): add useInfiniteQuery hook with example.
  • FEAT(infinite-query): add setInfiniteQueryData support.
  • FEAT(infinite-query): add refetchPages, refetchOnStale, refetchOnMount support.
  • FEAT(infinite-query): add all the features of query in infinite query.
  • FEAT: implement refetchOnApplicationResume and refetchOnWindowFocus.
  • DOCS: add dynamic query & mutation section.
  • DOCS: add paginated-query section and update optimistc update section.
  • DOCS: update according to the new query bowl refactor.
  • DOCS: Front page Images added.
  • DOCS: add infinite query page.

Changelog #

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.0.0-alpha.2 (2023-03-12) #

Features #

  • QueryClientProvider: add config parameters and override-able client parameter (f8895e3)

1.0.0-alpha.1 (2023-03-05) #

BREAKING

  • The Jobs API has been disabled. So there's no QueryJob, MutationJob and InfiniteQueryJob anymore. Instead, you can use the QueryBuilder, MutationBuilder and InfiniteQueryBuilder directly
  • Some of classes were renamed to more mature names
    • QueryBowlProvider -> QueryClientProvider
    • QueryBowl -> QueryClient
  • The unnecessary getPreviousPageParam is now removed from InfiniteQuery
  • getNextPageParam has been renamed to nextPage
  • Also, fetchNextPage has been renamed to fetchNext
  • Query and InfiniteQuery's setQueryData has been renamed to setData and it now accepts data directly instead of a call back function
  • Finally, QueryClient's unneeded prefetchQuery method was eradicated

Features #

  • add infinite query builder (efa2c81)
  • add mutation and mutation builder (6a90f84)
  • add query and infinite query disk caching support (074175e)
  • add Cache, Client, QueryBuilder widget and refreshOnQueryFnChange support for queries (18584a3)
  • InfiniteQuery implementation (45b6f92)
  • add InfiniteQueryListenable widget and cache event stream (783a273)
  • add Query and Retryer (b304466)
  • infinite query's nextPage method (f2a23b0)
  • new QueryListableBuilder widget (975f9ea)
  • safe cancellation of running operation on reset (5dde200)
  • safe setState for builders, separate cache box for query and infinite query (68e60c1)
  • add usMutation hook (383d0e0)
  • add useInfiniteQuery hook (f9a5207)
  • add useQuery hook (7fabf44)

0.3.1 (2022-10-03) #

Bug Fixes #

  • infinite_query: getNextPageParam & getPreviousPageParam cannot return null (e9c8b79)
  • base_query: onData callback getting called with null #17 (664e90e)

0.3.0 (2022-09-23) #

Features #

  • add initial support for InfiniteQuery (1452d7d)
  • infinite-query: add useInfiniteQuery hook with example (2a3ac29)
  • infinite-query: add all the features of query in infinite query (61958c7)
  • infinite-query: add refetchPages, refetchOnStale, refetchOnMount support (95b1837)
  • infinite-query: add setInfiniteQueryData support (6eb7b2a)
  • infinite-query: onData and onError listener support (f47ca98)
  • query_bowl: QueryBowl as separate class
  • performance: lazily update ListenerWidgets or listeners instead of triggering an update for whole widget tree

Bug Fixes #

  • InfiniteQueryJob: remove unneeded keepPreviousData property (8df1fc5)

v0.2.0 #

New #

  • Paginated/Lagged Query support using QueryJob's keepPreviousData
  • Mutation event context (returned data from onMutate available in onData & onError)
  • Support for refetchOnMount. Now query will be refetched when a new widget is mounted.

Improvements #

  • Only one Query & Mutation instance in QueryBuilder & MutationBuilder which reduces memory usage
  • Optimistic updates are now context driven

v0.1.0 #

Initial Release

  • QueryBowl & QueryBowlScope for managing & caching all the query data.
  • Query for advanced fetch, refetch & data management APIs
  • Mutation for advanced mutate (a function that modifies data somewhere) & post-mutation management APIs
  • QueryJob for defining the logic of how data should be fetched or refetched or invalidated
  • MutationJob for defining the logic of how data should be mutated
  • QueryBuilder for binding the Query & QueryJob to a Flutter Widget
  • MutationBuilder for binding the Mutation & MutationJob to a Flutter Widget
26
likes
120
pub points
88%
popularity

Publisher

verified publisherkrtirtho.dev

Asynchronous data caching, refetching & invalidation library for Flutter

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (LICENSE)

Dependencies

async, collection, flutter, hive_flutter, mutex, state_notifier

More

Packages that depend on fl_query