Operator contract
mapIndexed { i, v → "$i:$v" }Attach a zero-based index per collection.
#430 · bluetape4k-projects · 2.0.0 · coroutines Flow
Follow 66 reactive operators across six families. Select one operator per family and replay its input, rule, output mapping, and terminal contract on a shared time axis.
transform
Change runtime type, payload, projection, or accumulated state without changing the Flow timeline contract.
Operator contract
mapIndexed { i, v → "$i:$v" }Attach a zero-based index per collection.
input → operator → output
admission
Decide when values or inner Flows may enter, whether re-entry is dropped, and when collection switches or completes.
Operator contract
skipUntil(ready)Drop source values until notifier emits once.
input → operator → output
time
Use clocks, count boundaries, rolling state, and keys to reshape bursts into paced values, batches, windows, or groups.
Operator contract
bufferTimeout(maxSize=3, timeout=1.s)Flush a List when count or timeout wins.
input → operator → output
combine
Coordinate several Flows by sampling, racing, concatenating, merging, repeating, or preserving outer order.
Operator contract
withLatestFrom(other)Primary emissions sample the latest secondary value.
input → operator → output
async
Run bounded concurrent work, keep or relax result order, transform independent rails, and join them back into a Flow.
Operator contract
asyncFlow.map(::enrich)Compose another transform while retaining ordered await.
input → operator → output
error
Turn deadlines and failures into terminal errors, fallbacks, values, or inspectable signal objects—and restore them.
Operator contract
catchAndResume(fallback)On failure, continue with a fallback Flow.
input → operator → output