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); } }