debounce method

void debounce(
  1. VoidCallback? callback, {
  2. Duration? duration,
})

Implementation

void debounce(VoidCallback? callback, {Duration? duration}) {
  if (callback == null || _isDebouncing) return;

  _isDebouncing = true;
  _debounceTimer?.cancel();

  safeExecute(callback);

  _debounceTimer = Timer(
    duration ?? ButtonSecurityConfig.defaultDebounceDuration,
    () => _isDebouncing = false,
  );
}