import 'dart:async';
import 'dart:ui';

import 'package:flutter/cupertino.dart';

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