Skip to main content

Module operators

Module operators 

Source
Expand description

Free-standing operator factories (D6/D24/D40).

Operators are graph-layer node sugar, not verbs and not conformance parity. Each factory is a Rust-native ctx-body plus the real factory name used by describe; graph-bound construction goes through Graph::init_node.

Structs§

Operator
A free-standing operator/source definition.

Functions§

catch_error
catch_error: alias-shaped Rust helper for rescue.
distinct_until_changed
distinct_until_changed: opt-in dedup at the operator layer (D49).
element_at
element_at: emit the zero-based index value, then COMPLETE; out of range -> bare COMPLETE.
filter
filter: forward values matching pred; skipped waves settle as undirty RESOLVED.
find
find: emit the first matching value, then COMPLETE; no match -> bare COMPLETE.
first
first: emit the first value matching pred (or the first value), then COMPLETE.
first_any
first_any: emit the first value, then COMPLETE.
init_node
Instantiate an operator as a bare node; graph-bound callers should prefer Graph::init_node so the node is registered for inspection.
last
last: emit the last matching value on source COMPLETE; no match -> bare COMPLETE.
last_any
last_any: emit the last value on source COMPLETE.
map
map: emit fn(value) for every upstream DATA occurrence.
merge
merge: interleave DATA from any dep; first-run gate is partial.
on_first_data
on_first_data: run a side-effect exactly once, then pass all values through.
on_first_data_where
on_first_data_where: run a side-effect once on the first value satisfying where_pred.
pairwise
pairwise: emit (previous, current) for each consecutive DATA occurrence.
reduce
reduce: accumulate the whole source and emit one final value on source COMPLETE.
rescue
rescue: absorb upstream ERROR and replace it with recover(error_message).
scan
scan: stateful accumulator, emitting each intermediate accumulator value.
settle
settle: settle_by using PartialEq.
settle_by
settle_by: forward DATA and COMPLETE after quiet_waves quiet waves or max_waves.
skip
skip: drop the first n DATA occurrences, then pass through.
take
take: emit the first n DATA values, then COMPLETE.
take_while
take_while: emit while pred holds; first failed value completes without emission.
tap
tap: run a side-effect for each DATA occurrence and pass values through unchanged.
tap_first
tap_first: alias-shaped Rust helper for on_first_data.
valve
valve: forward source DATA while boolean control dep is true.