refactor: more convenient ways customizing config
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
import 'package:fl_query/src/collections/refresh_config.dart';
|
import 'package:fl_query/src/collections/refresh_config.dart';
|
||||||
import 'package:fl_query/src/collections/retry_config.dart';
|
import 'package:fl_query/src/collections/retry_config.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
@immutable
|
||||||
abstract class DefaultConstants {
|
abstract class DefaultConstants {
|
||||||
static const RetryConfig retryConfig = RetryConfig(
|
static const RetryConfig retryConfig = RetryConfig(
|
||||||
maxRetries: 3,
|
maxRetries: 3,
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
import 'package:fl_query/src/collections/default_configs.dart';
|
||||||
|
import 'package:fl_query/src/core/client.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class RefreshConfig {
|
class RefreshConfig {
|
||||||
final Duration staleDuration;
|
final Duration staleDuration;
|
||||||
final Duration refreshInterval;
|
final Duration refreshInterval;
|
||||||
@@ -10,4 +14,48 @@ class RefreshConfig {
|
|||||||
required this.refreshOnMount,
|
required this.refreshOnMount,
|
||||||
required this.refreshOnQueryFnChange,
|
required this.refreshOnQueryFnChange,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
factory RefreshConfig.withDefaults(
|
||||||
|
BuildContext context, {
|
||||||
|
Duration? staleDuration,
|
||||||
|
Duration? refreshInterval,
|
||||||
|
bool? refreshOnMount,
|
||||||
|
bool? refreshOnQueryFnChange,
|
||||||
|
}) {
|
||||||
|
return QueryClient.of(context).refreshConfig.copyWith(
|
||||||
|
staleDuration: staleDuration,
|
||||||
|
refreshInterval: refreshInterval,
|
||||||
|
refreshOnMount: refreshOnMount,
|
||||||
|
refreshOnQueryFnChange: refreshOnQueryFnChange,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
factory RefreshConfig.withConstantDefaults({
|
||||||
|
Duration? staleDuration,
|
||||||
|
Duration? refreshInterval,
|
||||||
|
bool? refreshOnMount,
|
||||||
|
bool? refreshOnQueryFnChange,
|
||||||
|
}) {
|
||||||
|
return DefaultConstants.refreshConfig.copyWith(
|
||||||
|
staleDuration: staleDuration,
|
||||||
|
refreshInterval: refreshInterval,
|
||||||
|
refreshOnMount: refreshOnMount,
|
||||||
|
refreshOnQueryFnChange: refreshOnQueryFnChange,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
RefreshConfig copyWith({
|
||||||
|
Duration? staleDuration,
|
||||||
|
Duration? refreshInterval,
|
||||||
|
bool? refreshOnMount,
|
||||||
|
bool? refreshOnQueryFnChange,
|
||||||
|
}) {
|
||||||
|
return RefreshConfig(
|
||||||
|
staleDuration: staleDuration ?? this.staleDuration,
|
||||||
|
refreshInterval: refreshInterval ?? this.refreshInterval,
|
||||||
|
refreshOnMount: refreshOnMount ?? this.refreshOnMount,
|
||||||
|
refreshOnQueryFnChange:
|
||||||
|
refreshOnQueryFnChange ?? this.refreshOnQueryFnChange,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,41 @@
|
|||||||
|
import 'package:fl_query/src/collections/default_configs.dart';
|
||||||
|
import 'package:fl_query/src/core/client.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class RetryConfig {
|
class RetryConfig {
|
||||||
final int maxRetries;
|
final int maxRetries;
|
||||||
final Duration retryDelay;
|
final Duration retryDelay;
|
||||||
|
|
||||||
const RetryConfig({required this.maxRetries, required this.retryDelay});
|
const RetryConfig({required this.maxRetries, required this.retryDelay});
|
||||||
|
|
||||||
|
factory RetryConfig.withDefaults(
|
||||||
|
BuildContext context, {
|
||||||
|
int? maxRetries,
|
||||||
|
Duration? retryDelay,
|
||||||
|
}) {
|
||||||
|
return QueryClient.of(context).retryConfig.copyWith(
|
||||||
|
maxRetries: maxRetries,
|
||||||
|
retryDelay: retryDelay,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
factory RetryConfig.withConstantDefaults({
|
||||||
|
int? maxRetries,
|
||||||
|
Duration? retryDelay,
|
||||||
|
}) {
|
||||||
|
return DefaultConstants.retryConfig.copyWith(
|
||||||
|
maxRetries: maxRetries,
|
||||||
|
retryDelay: retryDelay,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
RetryConfig copyWith({
|
||||||
|
int? maxRetries,
|
||||||
|
Duration? retryDelay,
|
||||||
|
}) {
|
||||||
|
return RetryConfig(
|
||||||
|
maxRetries: maxRetries ?? this.maxRetries,
|
||||||
|
retryDelay: retryDelay ?? this.retryDelay,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
import 'package:fl_query/src/collections/default_configs.dart';
|
|
||||||
import 'package:fl_query/src/core/client.dart';
|
import 'package:fl_query/src/core/client.dart';
|
||||||
import 'package:fl_query/src/core/infinite_query.dart';
|
import 'package:fl_query/src/core/infinite_query.dart';
|
||||||
import 'package:fl_query/src/core/mutation.dart';
|
import 'package:fl_query/src/core/mutation.dart';
|
||||||
import 'package:fl_query/src/core/query.dart';
|
import 'package:fl_query/src/core/query.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:hive_flutter/hive_flutter.dart';
|
import 'package:hive_flutter/hive_flutter.dart';
|
||||||
|
|
||||||
enum QueryCacheEventType {
|
enum QueryCacheEventType {
|
||||||
@@ -17,6 +17,7 @@ enum QueryCacheEventType {
|
|||||||
removeMutation,
|
removeMutation,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@immutable
|
||||||
class QueryCacheEvent {
|
class QueryCacheEvent {
|
||||||
final QueryCacheEventType type;
|
final QueryCacheEventType type;
|
||||||
final Object data;
|
final Object data;
|
||||||
@@ -31,13 +32,14 @@ class QueryCache {
|
|||||||
|
|
||||||
final Duration cacheDuration;
|
final Duration cacheDuration;
|
||||||
|
|
||||||
final _eventController = StreamController<QueryCacheEvent>.broadcast();
|
final StreamController<QueryCacheEvent> _eventController;
|
||||||
|
|
||||||
QueryCache({
|
QueryCache({
|
||||||
this.cacheDuration = DefaultConstants.cacheDuration,
|
required this.cacheDuration,
|
||||||
}) : _queries = Set<Query>(),
|
}) : _queries = Set<Query>(),
|
||||||
_infiniteQueries = Set<InfiniteQuery>(),
|
_infiniteQueries = Set<InfiniteQuery>(),
|
||||||
_mutations = Set<Mutation>() {
|
_mutations = Set<Mutation>(),
|
||||||
|
_eventController = StreamController<QueryCacheEvent>.broadcast() {
|
||||||
Timer.periodic(cacheDuration, (timer) {
|
Timer.periodic(cacheDuration, (timer) {
|
||||||
_queries.removeWhere((query) {
|
_queries.removeWhere((query) {
|
||||||
if (query.isInactive) {
|
if (query.isInactive) {
|
||||||
|
|||||||
@@ -13,17 +13,41 @@ import 'package:fl_query/src/core/query.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:hive_flutter/adapters.dart';
|
import 'package:hive_flutter/adapters.dart';
|
||||||
|
|
||||||
|
@immutable
|
||||||
class QueryClient {
|
class QueryClient {
|
||||||
final QueryCache cache;
|
final QueryCache cache;
|
||||||
|
|
||||||
QueryClient({QueryCache? cache}) : this.cache = cache ?? QueryCache();
|
final RetryConfig retryConfig;
|
||||||
|
final RefreshConfig refreshConfig;
|
||||||
|
final Duration cacheDuration;
|
||||||
|
|
||||||
|
QueryClient({
|
||||||
|
QueryCache? cache,
|
||||||
|
this.cacheDuration = DefaultConstants.cacheDuration,
|
||||||
|
int? maxRetries,
|
||||||
|
Duration? retryDelay,
|
||||||
|
Duration? staleDuration,
|
||||||
|
Duration? refreshInterval,
|
||||||
|
bool? refreshOnMount,
|
||||||
|
bool? refreshOnQueryFnChange,
|
||||||
|
}) : this.cache = cache ?? QueryCache(cacheDuration: cacheDuration),
|
||||||
|
this.retryConfig = DefaultConstants.retryConfig.copyWith(
|
||||||
|
maxRetries: maxRetries,
|
||||||
|
retryDelay: retryDelay,
|
||||||
|
),
|
||||||
|
this.refreshConfig = DefaultConstants.refreshConfig.copyWith(
|
||||||
|
staleDuration: staleDuration,
|
||||||
|
refreshInterval: refreshInterval,
|
||||||
|
refreshOnMount: refreshOnMount,
|
||||||
|
refreshOnQueryFnChange: refreshOnQueryFnChange,
|
||||||
|
);
|
||||||
|
|
||||||
Query<DataType, ErrorType> createQuery<DataType, ErrorType>(
|
Query<DataType, ErrorType> createQuery<DataType, ErrorType>(
|
||||||
String key,
|
String key,
|
||||||
QueryFn<DataType> queryFn, {
|
QueryFn<DataType> queryFn, {
|
||||||
DataType? initial,
|
DataType? initial,
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
RefreshConfig refreshConfig = DefaultConstants.refreshConfig,
|
RefreshConfig? refreshConfig,
|
||||||
JsonConfig<DataType>? jsonConfig,
|
JsonConfig<DataType>? jsonConfig,
|
||||||
}) {
|
}) {
|
||||||
final query = cache.queries
|
final query = cache.queries
|
||||||
@@ -33,8 +57,8 @@ class QueryClient {
|
|||||||
key,
|
key,
|
||||||
queryFn,
|
queryFn,
|
||||||
initial: initial,
|
initial: initial,
|
||||||
retryConfig: retryConfig,
|
retryConfig: retryConfig ?? this.retryConfig,
|
||||||
refreshConfig: refreshConfig,
|
refreshConfig: refreshConfig ?? this.refreshConfig,
|
||||||
jsonConfig: jsonConfig,
|
jsonConfig: jsonConfig,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -48,8 +72,8 @@ class QueryClient {
|
|||||||
String key,
|
String key,
|
||||||
QueryFn<DataType> queryFn, {
|
QueryFn<DataType> queryFn, {
|
||||||
DataType? initial,
|
DataType? initial,
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
RefreshConfig refreshConfig = DefaultConstants.refreshConfig,
|
RefreshConfig? refreshConfig,
|
||||||
JsonConfig<DataType>? jsonConfig,
|
JsonConfig<DataType>? jsonConfig,
|
||||||
}) async {
|
}) async {
|
||||||
try {
|
try {
|
||||||
@@ -114,8 +138,8 @@ class QueryClient {
|
|||||||
InfiniteQueryFn<DataType, PageType> queryFn, {
|
InfiniteQueryFn<DataType, PageType> queryFn, {
|
||||||
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
||||||
required PageType initialParam,
|
required PageType initialParam,
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
RefreshConfig refreshConfig = DefaultConstants.refreshConfig,
|
RefreshConfig? refreshConfig,
|
||||||
JsonConfig<DataType>? jsonConfig,
|
JsonConfig<DataType>? jsonConfig,
|
||||||
}) {
|
}) {
|
||||||
final query = cache.infiniteQueries
|
final query = cache.infiniteQueries
|
||||||
@@ -126,8 +150,8 @@ class QueryClient {
|
|||||||
queryFn,
|
queryFn,
|
||||||
nextPage: nextPage,
|
nextPage: nextPage,
|
||||||
initialParam: initialParam,
|
initialParam: initialParam,
|
||||||
retryConfig: retryConfig,
|
retryConfig: retryConfig ?? this.retryConfig,
|
||||||
refreshConfig: refreshConfig,
|
refreshConfig: refreshConfig ?? this.refreshConfig,
|
||||||
jsonConfig: jsonConfig,
|
jsonConfig: jsonConfig,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -139,12 +163,14 @@ class QueryClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<DataType?> fetchInfiniteQuery<DataType, ErrorType, PageType>(
|
Future<DataType?> fetchInfiniteQuery<DataType, ErrorType, PageType>(
|
||||||
String key, InfiniteQueryFn<DataType, PageType> queryFn,
|
String key,
|
||||||
{required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
InfiniteQueryFn<DataType, PageType> queryFn, {
|
||||||
required PageType initialParam,
|
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
required PageType initialParam,
|
||||||
RefreshConfig refreshConfig = DefaultConstants.refreshConfig,
|
RetryConfig? retryConfig,
|
||||||
JsonConfig<DataType>? jsonConfig}) async {
|
RefreshConfig? refreshConfig,
|
||||||
|
JsonConfig<DataType>? jsonConfig,
|
||||||
|
}) async {
|
||||||
try {
|
try {
|
||||||
DataType? result;
|
DataType? result;
|
||||||
final completer = Completer<DataType>();
|
final completer = Completer<DataType>();
|
||||||
@@ -224,7 +250,7 @@ class QueryClient {
|
|||||||
createMutation<DataType, ErrorType, VariablesType>(
|
createMutation<DataType, ErrorType, VariablesType>(
|
||||||
String key,
|
String key,
|
||||||
MutationFn<DataType, VariablesType> mutationFn, {
|
MutationFn<DataType, VariablesType> mutationFn, {
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
}) {
|
}) {
|
||||||
final mutation = cache.mutations
|
final mutation = cache.mutations
|
||||||
.firstWhere(
|
.firstWhere(
|
||||||
@@ -232,7 +258,7 @@ class QueryClient {
|
|||||||
orElse: () => Mutation<DataType, ErrorType, VariablesType>(
|
orElse: () => Mutation<DataType, ErrorType, VariablesType>(
|
||||||
key,
|
key,
|
||||||
mutationFn,
|
mutationFn,
|
||||||
retryConfig: retryConfig,
|
retryConfig: retryConfig ?? this.retryConfig,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.cast<DataType, ErrorType, VariablesType>();
|
.cast<DataType, ErrorType, VariablesType>();
|
||||||
@@ -246,7 +272,7 @@ class QueryClient {
|
|||||||
String key,
|
String key,
|
||||||
VariablesType variables, {
|
VariablesType variables, {
|
||||||
MutationFn<DataType, VariablesType>? mutationFn,
|
MutationFn<DataType, VariablesType>? mutationFn,
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
List<String> refreshQueries = const [],
|
List<String> refreshQueries = const [],
|
||||||
List<String> refreshInfiniteQueries = const [],
|
List<String> refreshInfiniteQueries = const [],
|
||||||
}) async {
|
}) async {
|
||||||
|
|||||||
@@ -104,8 +104,8 @@ class InfiniteQuery<DataType, ErrorType, PageType>
|
|||||||
InfiniteQueryFn<DataType, PageType> queryFn, {
|
InfiniteQueryFn<DataType, PageType> queryFn, {
|
||||||
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
||||||
required PageType initialParam,
|
required PageType initialParam,
|
||||||
this.retryConfig = DefaultConstants.retryConfig,
|
required this.retryConfig,
|
||||||
this.refreshConfig = DefaultConstants.refreshConfig,
|
required this.refreshConfig,
|
||||||
this.jsonConfig,
|
this.jsonConfig,
|
||||||
}) : _initialParam = initialParam,
|
}) : _initialParam = initialParam,
|
||||||
_dataController = StreamController.broadcast(),
|
_dataController = StreamController.broadcast(),
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:async/async.dart';
|
import 'package:async/async.dart';
|
||||||
import 'package:fl_query/src/collections/default_configs.dart';
|
|
||||||
import 'package:fl_query/src/collections/retry_config.dart';
|
import 'package:fl_query/src/collections/retry_config.dart';
|
||||||
import 'package:fl_query/src/core/mixins/retryer.dart';
|
import 'package:fl_query/src/core/mixins/retryer.dart';
|
||||||
import 'package:mutex/mutex.dart';
|
import 'package:mutex/mutex.dart';
|
||||||
@@ -44,11 +43,9 @@ class Mutation<DataType, ErrorType, VariablesType>
|
|||||||
|
|
||||||
MutationFn<DataType, VariablesType> _mutationFn;
|
MutationFn<DataType, VariablesType> _mutationFn;
|
||||||
|
|
||||||
Mutation(
|
Mutation(this.key, MutationFn<DataType, VariablesType> mutationFn,
|
||||||
this.key,
|
{required this.retryConfig})
|
||||||
MutationFn<DataType, VariablesType> mutationFn, {
|
: _dataController = StreamController.broadcast(),
|
||||||
this.retryConfig = DefaultConstants.retryConfig,
|
|
||||||
}) : _dataController = StreamController.broadcast(),
|
|
||||||
_errorController = StreamController.broadcast(),
|
_errorController = StreamController.broadcast(),
|
||||||
_mutationController = StreamController.broadcast(),
|
_mutationController = StreamController.broadcast(),
|
||||||
_mutationFn = mutationFn,
|
_mutationFn = mutationFn,
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:fl_query/src/collections/default_configs.dart';
|
|
||||||
import 'package:fl_query/src/collections/json_config.dart';
|
import 'package:fl_query/src/collections/json_config.dart';
|
||||||
import 'package:fl_query/src/collections/refresh_config.dart';
|
import 'package:fl_query/src/collections/refresh_config.dart';
|
||||||
import 'package:fl_query/src/collections/retry_config.dart';
|
import 'package:fl_query/src/collections/retry_config.dart';
|
||||||
@@ -56,8 +55,8 @@ class Query<DataType, ErrorType>
|
|||||||
this.key,
|
this.key,
|
||||||
QueryFn<DataType> queryFn, {
|
QueryFn<DataType> queryFn, {
|
||||||
DataType? initial,
|
DataType? initial,
|
||||||
this.retryConfig = DefaultConstants.retryConfig,
|
required this.retryConfig,
|
||||||
this.refreshConfig = DefaultConstants.refreshConfig,
|
required this.refreshConfig,
|
||||||
this.jsonConfig,
|
this.jsonConfig,
|
||||||
}) : _box = Hive.lazyBox(QueryClient.queryCachePrefix),
|
}) : _box = Hive.lazyBox(QueryClient.queryCachePrefix),
|
||||||
_dataController = StreamController<DataType>.broadcast(),
|
_dataController = StreamController<DataType>.broadcast(),
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:fl_query/src/collections/default_configs.dart';
|
|
||||||
import 'package:fl_query/src/collections/json_config.dart';
|
import 'package:fl_query/src/collections/json_config.dart';
|
||||||
import 'package:fl_query/src/collections/refresh_config.dart';
|
import 'package:fl_query/src/collections/refresh_config.dart';
|
||||||
import 'package:fl_query/src/collections/retry_config.dart';
|
import 'package:fl_query/src/collections/retry_config.dart';
|
||||||
@@ -23,8 +22,8 @@ class InfiniteQueryBuilder<DataType, ErrorType, PageType>
|
|||||||
final PageType initialPage;
|
final PageType initialPage;
|
||||||
final InfiniteQueryNextPage<DataType, PageType> nextPage;
|
final InfiniteQueryNextPage<DataType, PageType> nextPage;
|
||||||
|
|
||||||
final RetryConfig retryConfig;
|
final RetryConfig? retryConfig;
|
||||||
final RefreshConfig refreshConfig;
|
final RefreshConfig? refreshConfig;
|
||||||
final JsonConfig<DataType>? jsonConfig;
|
final JsonConfig<DataType>? jsonConfig;
|
||||||
|
|
||||||
final ValueChanged<PageEvent<DataType, PageType>>? onData;
|
final ValueChanged<PageEvent<DataType, PageType>>? onData;
|
||||||
@@ -40,8 +39,8 @@ class InfiniteQueryBuilder<DataType, ErrorType, PageType>
|
|||||||
required this.nextPage,
|
required this.nextPage,
|
||||||
required this.builder,
|
required this.builder,
|
||||||
required this.initialPage,
|
required this.initialPage,
|
||||||
this.retryConfig = DefaultConstants.retryConfig,
|
this.retryConfig,
|
||||||
this.refreshConfig = DefaultConstants.refreshConfig,
|
this.refreshConfig,
|
||||||
this.jsonConfig,
|
this.jsonConfig,
|
||||||
this.onData,
|
this.onData,
|
||||||
this.onError,
|
this.onError,
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:fl_query/src/collections/default_configs.dart';
|
|
||||||
import 'package:fl_query/src/collections/retry_config.dart';
|
import 'package:fl_query/src/collections/retry_config.dart';
|
||||||
import 'package:fl_query/src/core/client.dart';
|
import 'package:fl_query/src/core/client.dart';
|
||||||
import 'package:fl_query/src/core/mutation.dart';
|
import 'package:fl_query/src/core/mutation.dart';
|
||||||
@@ -30,7 +29,7 @@ class MutationBuilder<DataType, ErrorType, VariablesType, RecoveryType>
|
|||||||
final MutationFn<DataType, VariablesType> mutationFn;
|
final MutationFn<DataType, VariablesType> mutationFn;
|
||||||
final String mutationKey;
|
final String mutationKey;
|
||||||
|
|
||||||
final RetryConfig retryConfig;
|
final RetryConfig? retryConfig;
|
||||||
|
|
||||||
final MutationOnDataFn<DataType, RecoveryType>? onData;
|
final MutationOnDataFn<DataType, RecoveryType>? onData;
|
||||||
final MutationOnErrorFn<ErrorType, RecoveryType>? onError;
|
final MutationOnErrorFn<ErrorType, RecoveryType>? onError;
|
||||||
@@ -45,7 +44,7 @@ class MutationBuilder<DataType, ErrorType, VariablesType, RecoveryType>
|
|||||||
this.mutationKey,
|
this.mutationKey,
|
||||||
this.mutationFn, {
|
this.mutationFn, {
|
||||||
required this.builder,
|
required this.builder,
|
||||||
this.retryConfig = DefaultConstants.retryConfig,
|
this.retryConfig,
|
||||||
this.onData,
|
this.onData,
|
||||||
this.onError,
|
this.onError,
|
||||||
this.onMutate,
|
this.onMutate,
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:fl_query/src/collections/default_configs.dart';
|
|
||||||
import 'package:fl_query/src/collections/json_config.dart';
|
import 'package:fl_query/src/collections/json_config.dart';
|
||||||
import 'package:fl_query/src/collections/refresh_config.dart';
|
import 'package:fl_query/src/collections/refresh_config.dart';
|
||||||
import 'package:fl_query/src/collections/retry_config.dart';
|
import 'package:fl_query/src/collections/retry_config.dart';
|
||||||
@@ -21,8 +20,8 @@ class QueryBuilder<DataType, ErrorType> extends StatefulWidget {
|
|||||||
|
|
||||||
final DataType? initial;
|
final DataType? initial;
|
||||||
|
|
||||||
final RetryConfig retryConfig;
|
final RetryConfig? retryConfig;
|
||||||
final RefreshConfig refreshConfig;
|
final RefreshConfig? refreshConfig;
|
||||||
final JsonConfig<DataType>? jsonConfig;
|
final JsonConfig<DataType>? jsonConfig;
|
||||||
|
|
||||||
final ValueChanged<DataType>? onData;
|
final ValueChanged<DataType>? onData;
|
||||||
@@ -37,8 +36,8 @@ class QueryBuilder<DataType, ErrorType> extends StatefulWidget {
|
|||||||
this.queryFn, {
|
this.queryFn, {
|
||||||
required this.builder,
|
required this.builder,
|
||||||
this.initial,
|
this.initial,
|
||||||
this.retryConfig = DefaultConstants.retryConfig,
|
this.retryConfig,
|
||||||
this.refreshConfig = DefaultConstants.refreshConfig,
|
this.refreshConfig,
|
||||||
this.jsonConfig,
|
this.jsonConfig,
|
||||||
this.onData,
|
this.onData,
|
||||||
this.onError,
|
this.onError,
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ InfiniteQuery<DataType, ErrorType, PageType>
|
|||||||
InfiniteQueryFn<DataType, PageType> queryFn, {
|
InfiniteQueryFn<DataType, PageType> queryFn, {
|
||||||
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
required InfiniteQueryNextPage<DataType, PageType> nextPage,
|
||||||
required PageType initialPage,
|
required PageType initialPage,
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
RefreshConfig refreshConfig = DefaultConstants.refreshConfig,
|
RefreshConfig? refreshConfig,
|
||||||
JsonConfig<DataType>? jsonConfig,
|
JsonConfig<DataType>? jsonConfig,
|
||||||
ValueChanged<PageEvent<DataType, PageType>>? onData,
|
ValueChanged<PageEvent<DataType, PageType>>? onData,
|
||||||
ValueChanged<PageEvent<ErrorType, PageType>>? onError,
|
ValueChanged<PageEvent<ErrorType, PageType>>? onError,
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ Mutation<DataType, ErrorType, VariablesType>
|
|||||||
useMutation<DataType, ErrorType, VariablesType, RecoveryType>(
|
useMutation<DataType, ErrorType, VariablesType, RecoveryType>(
|
||||||
String mutationKey,
|
String mutationKey,
|
||||||
MutationFn<DataType, VariablesType> mutationFn, {
|
MutationFn<DataType, VariablesType> mutationFn, {
|
||||||
RetryConfig retryConfig = DefaultConstants.retryConfig,
|
RetryConfig? retryConfig,
|
||||||
MutationOnDataFn<DataType, RecoveryType>? onData,
|
MutationOnDataFn<DataType, RecoveryType>? onData,
|
||||||
MutationOnErrorFn<ErrorType, RecoveryType>? onError,
|
MutationOnErrorFn<ErrorType, RecoveryType>? onError,
|
||||||
MutationOnMutationFn<VariablesType, RecoveryType>? onMutate,
|
MutationOnMutationFn<VariablesType, RecoveryType>? onMutate,
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Query<DataType, ErrorType> useQuery<DataType, ErrorType>(
|
|||||||
final String queryKey,
|
final String queryKey,
|
||||||
final QueryFn<DataType> queryFn, {
|
final QueryFn<DataType> queryFn, {
|
||||||
final DataType? initial,
|
final DataType? initial,
|
||||||
final RetryConfig retryConfig = DefaultConstants.retryConfig,
|
final RetryConfig? retryConfig,
|
||||||
final RefreshConfig refreshConfig = DefaultConstants.refreshConfig,
|
final RefreshConfig? refreshConfig,
|
||||||
final JsonConfig<DataType>? jsonConfig,
|
final JsonConfig<DataType>? jsonConfig,
|
||||||
final ValueChanged<DataType>? onData,
|
final ValueChanged<DataType>? onData,
|
||||||
final ValueChanged<ErrorType>? onError,
|
final ValueChanged<ErrorType>? onError,
|
||||||
|
|||||||
Reference in New Issue
Block a user