simple_observable 0.3.0+1 copy "simple_observable: ^0.3.0+1" to clipboard
simple_observable: ^0.3.0+1 copied to clipboard

outdated

A debouncer and throttle that works with `Future`s, `Stream`s, and callbacks.

simple_observable #

A debouncer and throttle that works with Future, Stream, and callbacks.

Class Purpose
Debouncer Wait for changes to stop before notifying.
Throttle Notifies once per Duration for a value that keeps changing.
SimpleObservable Base class for observing value changes.

Usage #

  final debouncer = Debouncer<String>(Duration(milliseconds: 200));

  // Run a search whenever the user pauses while typing.
  textEditingController.addListener(() => debouncer.value = textEditingController.text);
  debouncer.values.listen((search) => submitSearch(search));

  // Wait for a fidgety button to settle.
  oldButton.onPressed(debouncer.setValue);
  debouncer.nextValue.then(buttonPressed);

  final throttle = Throttle<double>(Duration(milliseconds: 100));

  // Limit being notified of continuous sensor data.
  sensor.addListener(throttle.setValue);
  throttle.values.listen((data) => print('$data'));
4
likes
0
pub points
76%
popularity

Publisher

verified publisherdefylogic.dev

A debouncer and throttle that works with `Future`s, `Stream`s, and callbacks.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

meta

More

Packages that depend on simple_observable