ThrottleStreamTransformer<T> constructor
ThrottleStreamTransformer<T> (})
Construct a StreamTransformer that emits a value from the source Stream, then ignores subsequent source values while the window Stream is open, then repeats this process.
If leading is true, then the first item in each window is emitted.
If trailing is true, then the last item in each window is emitted.
Implementation
ThrottleStreamTransformer(
Stream Function(T event) window, {
bool trailing = false,
bool leading = true,
}) : super(
WindowStrategy.eventAfterLastWindow,
window,
onWindowStart: leading ? (event) => event : null,
onWindowEnd: trailing ? (queue) => queue.last : null,
dispatchOnClose: trailing,
maxLengthQueue: trailing ? 2 : 0,
);