fixed timeUntilStale returning negetive Duration instead of 0
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:fl_query/src/core/models.dart';
|
|||||||
import 'package:fl_query/src/core/query.dart';
|
import 'package:fl_query/src/core/query.dart';
|
||||||
import 'package:fl_query/src/core/query_key.dart';
|
import 'package:fl_query/src/core/query_key.dart';
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
import 'dart:math';
|
||||||
|
|
||||||
/// Default query keys hash function.
|
/// Default query keys hash function.
|
||||||
/// Dummy function just to fill the gaps for original react-query like
|
/// Dummy function just to fill the gaps for original react-query like
|
||||||
@@ -159,7 +160,16 @@ List replaceEqualDeepList(List a, List b, void Function() onEqual) {
|
|||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
Duration timeUntilStale(DateTime updatedAt, [Duration? staleTime]) =>
|
Duration timeUntilStale(DateTime updatedAt, [Duration? staleTime]) {
|
||||||
updatedAt.add(staleTime ?? Duration.zero).difference(DateTime.now());
|
return Duration(
|
||||||
|
milliseconds: max<int>(
|
||||||
|
updatedAt
|
||||||
|
.add(staleTime ?? Duration.zero)
|
||||||
|
.difference(DateTime.now())
|
||||||
|
.inMilliseconds,
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
typedef DataUpdateFunction<TInput, TOutput> = TOutput Function(TInput input);
|
typedef DataUpdateFunction<TInput, TOutput> = TOutput Function(TInput input);
|
||||||
|
|||||||
@@ -397,9 +397,6 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('should accept unresolved query config in update function', () async {
|
test('should accept unresolved query config in update function', () async {
|
||||||
// test is failing in [QueryObserver.updateResult] called by
|
|
||||||
// staleTimeout callback. For some reason _currentResult and
|
|
||||||
// prevResult is shallow equal
|
|
||||||
final key = queryKey();
|
final key = queryKey();
|
||||||
;
|
;
|
||||||
final observer = QueryObserver<Map<String, dynamic>, dynamic,
|
final observer = QueryObserver<Map<String, dynamic>, dynamic,
|
||||||
|
|||||||
Reference in New Issue
Block a user