init method
void
init()
Implementation
void init() {
final normalStream = _subject.stream.where((event) => event.type.isNormal);
final throttleLeadingStream = _subject.stream
.where((event) => event.type.isThrottleLeading)
.transform(
ThrottleStreamTransformer(
(_) => TimerStream<PlutoGridEvent>(_, _.duration as Duration),
trailing: false,
leading: true,
),
);
final throttleTrailingStream = _subject.stream
.where((event) => event.type.isThrottleTrailing)
.transform(
ThrottleStreamTransformer(
(_) => TimerStream<PlutoGridEvent>(_, _.duration as Duration),
trailing: true,
leading: false,
),
);
final debounceStream =
_subject.stream.where((event) => event.type.isDebounce).transform(
DebounceStreamTransformer(
(_) => TimerStream<PlutoGridEvent>(_, _.duration as Duration),
),
);
_subscription = MergeStream([
normalStream,
throttleLeadingStream,
throttleTrailingStream,
debounceStream,
]).listen(_handler);
}