Skip to content

Commit 7f5a98b

Browse files
committed
Add standartProLong
1 parent c279316 commit 7f5a98b

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

packages/netglade_utils/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11

2+
## 2.4.0
3+
- Add `standartProLong` future extension.
4+
25
## 2.3.0
36
- Add more String extensions.
47

packages/netglade_utils/lib/src/extensions/future_extensions.dart

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@ import 'package:clock/clock.dart';
55
typedef OnTakingTooLongCallback = void Function();
66

77
extension FutureExtensions<T> on Future<T> {
8+
static const standardProlongTimeMs = 300;
9+
810
// ignore: comment_references, see https://github.com/dart-lang/linter/issues/2079
911
/// If [this] future taking longer than [duration] to execute - [callback] is called.
10-
Future<T> onTakingTooLong(Duration duration, OnTakingTooLongCallback callback) async {
12+
Future<T> onTakingTooLong(
13+
Duration duration,
14+
OnTakingTooLongCallback callback,
15+
) async {
1116
final timer = Timer(duration, callback);
1217

1318
try {
@@ -33,9 +38,17 @@ extension FutureExtensions<T> on Future<T> {
3338
final diff = DateTime.now().millisecondsSinceEpoch - started;
3439

3540
if (diff < duration.inMilliseconds) {
36-
await Future<void>.delayed(Duration(milliseconds: duration.inMilliseconds - diff));
41+
await Future<void>.delayed(
42+
Duration(milliseconds: duration.inMilliseconds - diff),
43+
);
3744
}
3845

3946
return result;
4047
}
48+
49+
Future<T> standardProlong([int? milliseconds]) {
50+
return withMinimalLoadTime(
51+
Duration(milliseconds: milliseconds ?? standardProlongTimeMs),
52+
);
53+
}
4154
}

packages/netglade_utils/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: netglade_utils
2-
version: 2.3.0
2+
version: 2.4.0
33
description: Dart utils used internally at netglade.
44
repository: https://github.com/netglade/flutter_core/tree/main/packages/netglade_utils
55
issue_tracker: https://github.com/netglade/flutter_core/issues

0 commit comments

Comments
 (0)