Files
umbrix/lib/utils/riverpod_utils.dart
problematicconsumer cd37f5124a Change proxies lifecycle
2023-09-10 20:27:07 +03:30

24 lines
414 B
Dart

import 'dart:async';
import 'package:hooks_riverpod/hooks_riverpod.dart';
extension RefLifeCycle<T> on AutoDisposeRef<T> {
void disposeDelay(Duration duration) {
final link = keepAlive();
Timer? timer;
onCancel(() {
timer?.cancel();
timer = Timer(duration, link.close);
});
onDispose(() {
timer?.cancel();
});
onResume(() {
timer?.cancel();
});
}
}