import 'dart:async'; import 'dart:ui'; class Debounce { factory Debounce() => _instance; Debounce._(); static final Debounce _instance = Debounce._(); static Timer? _timer; static void run( VoidCallback action, {Duration delay = const Duration(milliseconds: 500)} ) { _timer?.cancel(); _timer = Timer(delay, action); } }