validateDebounceDuration function

int validateDebounceDuration(
  1. int? duration, {
  2. int defaultValue = 300,
  3. bool? enableSecurity,
})

Validates debounce duration within configured bounds.

Implementation

int validateDebounceDuration(
  int? duration, {
  int defaultValue = 300,
  bool? enableSecurity,
}) {
  final shouldValidate =
      enableSecurity ?? SearchBarSecurityConfig.enforceValidation;

  if (duration == null) return defaultValue;
  if (!shouldValidate) return duration;

  if (duration > SearchBarSecurityConfig.maxDebounceDuration) {
    if (SearchBarSecurityConfig.enableSecurityLogging) {
      debugPrint(
        '[SAC SearchBar Security] Debounce $duration above max ${SearchBarSecurityConfig.maxDebounceDuration}',
      );
    }
    return SearchBarSecurityConfig.maxDebounceDuration;
  }

  if (duration < SearchBarSecurityConfig.minDebounceDuration) {
    if (SearchBarSecurityConfig.enableSecurityLogging) {
      debugPrint(
        '[SAC SearchBar Security] Debounce $duration below min ${SearchBarSecurityConfig.minDebounceDuration}',
      );
    }
    return SearchBarSecurityConfig.minDebounceDuration;
  }

  return duration;
}