just_debounce_it 4.1.0 just_debounce_it: ^4.1.0 copied to clipboard
A simple debounce library for preventing continuous execution of functions
just_debounce_it #
A simple debounce library. Supports debouncing by function and stream debouncing.
import 'package:just_debounce_it/just_debounce_it.dart';
Debounce.milliseconds(1000, print, ["Debounce World!"]);
Static methods #
There are three methods available for debouncing. All methods differ only by the first parameter used to specify timeout values in different formats. The target
Function provided must be the same object every time Debounce
is called.
Debounce.seconds(int timeoutSeconds,
Function target,
[List<dynamic> positionalArguments,
Map<Symbol, dynamic> namedArguments])
Debounce.milliseconds(int timeoutMs,
Function target,
[List<dynamic> positionalArguments,
Map<Symbol, dynamic> namedArguments])
Debounce.duration(Duration timeout,
Function target,
[List<dynamic> positionalArguments,
Map<Symbol, dynamic> namedArguments])
To immediately dispatch a target
that has previously been debounced, use runAndClear
.
Optional args
can be provided to override the debounced arguments:
Debounce.runAndClear(
Function target,
[List<dynamic> positionalArguments,
Map<Symbol, dynamic> namedArguments])
To clear a debounced target
:
Debounce.clear(
Function target,
[List<dynamic> positionalArguments,
Map<Symbol, dynamic> namedArguments])
Stream Debouncing #
Use DebounceStreamTransfomer
to debounce any stream by a specified duration.
DebounceStreamTransfomer(Duration timeout)
DebounceStreamTransfomer.seconds(int timeoutSeconds)
DebounceStreamTransfomer.milliseconds(int timeoutMs)
Stream debounceStream(Stream input) => input.transform(DebounceStreamTransfomer.seconds(1));
Example #
A quick demonstration can be found in the example
directory. To run the example:
pub run example/main.dart