dart_debounce_throttle 2.4.4 copy "dart_debounce_throttle: ^2.4.4" to clipboard
dart_debounce_throttle: ^2.4.4 copied to clipboard

Debounce, throttle, and rate limit for Dart servers and CLI. Token Bucket, batch processing, async concurrency control. Zero dependencies, no Flutter needed.

example/example.dart

import 'package:dart_debounce_throttle/dart_debounce_throttle.dart';

void main() async {
  print('=== Debounce Example ===');
  final debouncer = Debouncer(duration: Duration(milliseconds: 500));

  // Rapid calls - only the last one executes after 500ms of silence
  for (int i = 0; i < 5; i++) {
    debouncer.call(() => print('Debounced: $i'));
    await Future.delayed(Duration(milliseconds: 100));
  }

  await Future.delayed(Duration(seconds: 1));

  print('\n=== Throttle Example ===');
  final throttler = Throttler(duration: Duration(milliseconds: 500));

  // Rapid calls - first executes immediately, rest are blocked for 500ms
  for (int i = 0; i < 5; i++) {
    throttler.call(() => print('Throttled: $i'));
    await Future.delayed(Duration(milliseconds: 100));
  }

  await Future.delayed(Duration(seconds: 1));

  // Cleanup
  debouncer.dispose();
  throttler.dispose();
}
2
likes
160
points
265
downloads

Publisher

verified publisherbrewkits.dev

Weekly Downloads

Debounce, throttle, and rate limit for Dart servers and CLI. Token Bucket, batch processing, async concurrency control. Zero dependencies, no Flutter needed.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#debounce #throttle #rate-limiting #async #dart

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on dart_debounce_throttle