import 'dart:async';
import 'package:flutter/foundation.dart';

class Debounce {
  Debounce(this.duration);
  
  final Duration duration;
  Timer _timer;
  
  void run(VoidCallback action) {
    _timer?.cancel();
    _timer = Timer(duration, action);
  }
}