BloomComputationExtension<T> extension

Declarative computation and pipeline transformation operators on Bloom.

Provides fluent combinators to decorate reactive nodes with distinct filtering, rate limiting (debounce/throttle), microtask batching, and cache retention policies.

on

Methods

coalesced({bool leading = false, bool trailing = true}) → Bloom<T>

Available on Bloom<T>, provided by the BloomComputationExtension extension

Coalesces multiple synchronous invalidations into a single microtask flush.
debounced(Duration duration, {bool leading = false, bool trailing = true}) → Bloom<T>

Available on Bloom<T>, provided by the BloomComputationExtension extension

Debounces downstream invalidation pulses across quiet periods of duration.
distinct([bool equals(T previous, T next)?]) → Bloom<T>

Available on Bloom<T>, provided by the BloomComputationExtension extension

Filters out consecutive duplicate payloads using equals (or identical / operator ==).
graceful([Graceful graceful = Graceful.microtask]) → Bloom<T>

Available on Bloom<T>, provided by the BloomComputationExtension extension

Buffers deactivation of this node with a graceful policy when downstream subscribers drop to zero.
retained({BloomCoupler<bool>? pending}) → Bloom<T>

Available on Bloom<T>, provided by the BloomComputationExtension extension

Creates a retained node maintaining prior valid data during pending re-evaluations (SWR).
retainedTuple() → ({Bloom<T> data, Bloom<bool> pending})

Available on Bloom<T>, provided by the BloomComputationExtension extension

Creates a retained node maintaining prior valid data during pending re-evaluations (SWR), bundled as a ({Bloom<T> data, Bloom<bool> pending}) record.
throttled(Duration duration, {bool leading = true, bool trailing = true}) → Bloom<T>

Available on Bloom<T>, provided by the BloomComputationExtension extension

Throttles downstream invalidation pulses to at most once per duration.