| 123456789101112131415161718192021222324 | import 'dart:async';import 'package:flutter/material.dart';class Debounce {  final Duration duration;  Timer? _timer;  Debounce({    this.duration = const Duration(milliseconds: 1000),  });  void call(VoidCallback action) {    dispose();    _timer = Timer(duration, () {      action();    });  }  void dispose() {    _timer?.cancel();    _timer = null;  }}
 |