fix(fl_query_hooks): unneeded empty instances of query/mutation
fix(infinite_query): getNextPageParam & getPreviousPageParam non-null return required
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import 'package:fl_query/src/query_bowl.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
abstract class BaseOperation<Data, Error> extends ChangeNotifier {
|
||||
@@ -27,13 +26,10 @@ abstract class BaseOperation<Data, Error> extends ChangeNotifier {
|
||||
/// storage/cache
|
||||
Set<ValueKey<String>> _mounts = {};
|
||||
|
||||
final QueryBowl queryBowl;
|
||||
|
||||
BaseOperation({
|
||||
required this.cacheTime,
|
||||
required this.retries,
|
||||
required this.retryDelay,
|
||||
required this.queryBowl,
|
||||
this.data,
|
||||
}) : updatedAt = DateTime.now();
|
||||
|
||||
|
||||
@@ -52,7 +52,6 @@ abstract class BaseQuery<T extends Object, Outside, Error>
|
||||
required Outside externalData,
|
||||
required super.retries,
|
||||
required super.retryDelay,
|
||||
required super.queryBowl,
|
||||
required this.status,
|
||||
this.refetchOnMount,
|
||||
this.refetchOnReconnect,
|
||||
|
||||
@@ -20,7 +20,7 @@ typedef InfiniteQueryListeners<T, PageParam extends Object> = FutureOr<void>
|
||||
|
||||
typedef InfiniteQueryPageParamFunction<T extends Object,
|
||||
PageParam extends Object>
|
||||
= FutureOr<PageParam> Function(T lastPage, PageParam lastParam);
|
||||
= FutureOr<PageParam?> Function(T lastPage, PageParam lastParam);
|
||||
|
||||
class InfiniteQuery<T extends Object, Outside, PageParam extends Object>
|
||||
extends BaseQuery<Map<PageParam, T?>, Outside, Map<PageParam, dynamic>> {
|
||||
@@ -54,7 +54,6 @@ class InfiniteQuery<T extends Object, Outside, PageParam extends Object>
|
||||
required super.externalData,
|
||||
required super.retries,
|
||||
required super.retryDelay,
|
||||
required super.queryBowl,
|
||||
required super.status,
|
||||
required PageParam initialParam,
|
||||
super.refetchOnMount,
|
||||
@@ -73,7 +72,6 @@ class InfiniteQuery<T extends Object, Outside, PageParam extends Object>
|
||||
|
||||
InfiniteQuery.fromOptions(
|
||||
InfiniteQueryJob<T, Outside, PageParam> options, {
|
||||
required super.queryBowl,
|
||||
required Outside externalData,
|
||||
InfiniteQueryListeners<T, PageParam>? onData,
|
||||
InfiniteQueryListeners<dynamic, PageParam>? onError,
|
||||
|
||||
@@ -50,7 +50,6 @@ class Mutation<T extends Object, V> extends BaseOperation<T, dynamic>
|
||||
required this.task,
|
||||
required super.retries,
|
||||
required super.retryDelay,
|
||||
required super.queryBowl,
|
||||
required Duration cacheTime,
|
||||
MutationListener<T, V>? onData,
|
||||
MutationListener<dynamic, V>? onError,
|
||||
@@ -67,7 +66,6 @@ class Mutation<T extends Object, V> extends BaseOperation<T, dynamic>
|
||||
MutationListener<T, V>? onData,
|
||||
MutationListener<dynamic, V>? onError,
|
||||
MutationListenerReturnable<V, dynamic>? onMutate,
|
||||
required super.queryBowl,
|
||||
}) : mutationKey = options.mutationKey,
|
||||
task = options.task,
|
||||
status = MutationStatus.idle,
|
||||
|
||||
@@ -50,7 +50,6 @@ class Query<T extends Object, Outside> extends BaseQuery<T, Outside, dynamic> {
|
||||
required super.externalData,
|
||||
required super.retries,
|
||||
required super.retryDelay,
|
||||
required super.queryBowl,
|
||||
required super.status,
|
||||
super.refetchOnMount,
|
||||
super.refetchOnReconnect,
|
||||
@@ -65,7 +64,6 @@ class Query<T extends Object, Outside> extends BaseQuery<T, Outside, dynamic> {
|
||||
|
||||
Query.fromOptions(
|
||||
QueryJob<T, Outside> options, {
|
||||
required super.queryBowl,
|
||||
required Outside externalData,
|
||||
T? previousData,
|
||||
QueryListener<T>? onData,
|
||||
|
||||
@@ -264,7 +264,6 @@ class QueryBowl {
|
||||
options,
|
||||
externalData: externalData,
|
||||
previousData: previousData,
|
||||
queryBowl: this,
|
||||
);
|
||||
query.updateDefaultOptions(
|
||||
cacheTime: cache.cacheTime,
|
||||
@@ -284,7 +283,6 @@ class QueryBowl {
|
||||
final infiniteQuery = InfiniteQuery<T, Outside, PageParam>.fromOptions(
|
||||
options,
|
||||
externalData: externalData,
|
||||
queryBowl: this,
|
||||
);
|
||||
infiniteQuery.updateDefaultOptions(
|
||||
cacheTime: cache.cacheTime,
|
||||
@@ -400,7 +398,6 @@ class QueryBowl {
|
||||
} else {
|
||||
final mutation = Mutation<T, V>.fromOptions(
|
||||
mutationJob,
|
||||
queryBowl: this,
|
||||
);
|
||||
if (onData != null) mutation.addDataListener(onData);
|
||||
if (onError != null) mutation.addErrorListener(onError);
|
||||
|
||||
@@ -24,10 +24,8 @@ void main() {
|
||||
// for testing query without external data
|
||||
late Query query;
|
||||
late MockQueryJobVoidObject queryJob;
|
||||
late MockQueryBowl queryBowl;
|
||||
setUp(() {
|
||||
queryJob = MockQueryJobVoidObject();
|
||||
queryBowl = MockQueryBowl();
|
||||
when(queryJob.queryKey).thenReturn("test");
|
||||
when(queryJob.task).thenAnswer(
|
||||
(_) =>
|
||||
@@ -36,7 +34,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
});
|
||||
|
||||
@@ -86,7 +83,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
|
||||
await Future.delayed(Duration(milliseconds: 100));
|
||||
@@ -119,7 +115,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
|
||||
await query.fetch();
|
||||
@@ -150,7 +145,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
int count = 0;
|
||||
query.addErrorListener((_) {
|
||||
@@ -165,7 +159,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
expect(query.isStale, isFalse);
|
||||
await Future.delayed(Duration(milliseconds: 300));
|
||||
@@ -190,7 +183,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
|
||||
final data = await query.fetch();
|
||||
@@ -210,7 +202,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
final data = await query.fetch();
|
||||
query.invalidate();
|
||||
@@ -237,7 +228,6 @@ void main() {
|
||||
query = Query.fromOptions(
|
||||
queryJob,
|
||||
externalData: null,
|
||||
queryBowl: queryBowl,
|
||||
);
|
||||
final data = await query.fetch();
|
||||
query.invalidate();
|
||||
|
||||
Reference in New Issue
Block a user