21 lines
358 B
Dart
Raw Normal View History

2024-10-30 22:39:56 +04:00
import 'dart:async';
import 'dart:ui';
2024-12-08 18:49:37 +04:00
class Debounce {
2024-10-30 22:39:56 +04:00
factory Debounce() => _instance;
Debounce._();
static final Debounce _instance = Debounce._();
static Timer? _timer;
static void run(
2024-12-08 18:49:37 +04:00
VoidCallback action, {
Duration delay = const Duration(milliseconds: 500),
2024-10-30 22:39:56 +04:00
}) {
_timer?.cancel();
_timer = Timer(delay, action);
}
2024-12-08 18:49:37 +04:00
}