feat: infinite query implementation

This commit is contained in:
Kingkor Roy Tirtho
2023-02-11 13:05:59 +06:00
parent 0cc7ae194b
commit 45b6f92316
7 changed files with 300 additions and 38 deletions
@@ -1,5 +1,5 @@
import 'package:fl_query/src/core/query.dart';
import 'package:fl_query/src/core/retryer.dart';
import 'package:fl_query/src/collections/refresh_config.dart';
import 'package:fl_query/src/collections/retry_config.dart';
abstract class DefaultConstants {
static const RetryConfig retryConfig = RetryConfig(
@@ -11,5 +11,6 @@ abstract class DefaultConstants {
static const RefreshConfig refreshConfig = RefreshConfig(
staleDuration: Duration(seconds: 10),
refreshInterval: Duration(seconds: 5),
refreshOnMount: true,
);
}
@@ -0,0 +1,9 @@
class JsonConfig<T> {
final Map<String, dynamic> Function(T data) toJson;
final T Function(Map<String, dynamic> json) fromJson;
const JsonConfig({
required this.toJson,
required this.fromJson,
});
}
@@ -0,0 +1,11 @@
class RefreshConfig {
final Duration staleDuration;
final Duration refreshInterval;
final bool refreshOnMount;
const RefreshConfig({
required this.staleDuration,
required this.refreshInterval,
required this.refreshOnMount,
});
}
@@ -0,0 +1,11 @@
class RetryConfig {
final int maxRetries;
final Duration retryDelay;
final Duration timeout;
const RetryConfig({
required this.maxRetries,
required this.retryDelay,
required this.timeout,
});
}