pub async fn wait_for_condition<C: Update, S: Stream<Item = Result<Event, WatchError>>, F: Fn(&C) -> bool>(
    event_stream: S,
    initial_state: &mut C,
    predicate: F
) -> Result<(), WaitForConditionError>
Expand description

Wait for a condition on filtering state to be satisfied.

With the given initial_state, take events from event_stream and update the state, calling predicate whenever the state changes. When predicates returns True yield Ok(()).