any_of

Function any_of 

Source
pub fn any_of<I, O, E, R>(p: impl AnyOf<I, O, E, R>) -> impl Pipe<I, O, E, R>
Expand description

Similar to OrExt::or but with many possibilities at once

Example

let mut p = any_of((tag::<Error, _, _>("foo"), tag("bar"), tag("baz")));

assert_eq!(p.apply("foo"), Ok(("", ("foo",))));

assert_eq!(p.apply("bar"), Ok(("", ("bar",))));

assert_eq!(p.apply("baz"), Ok(("", ("baz",))));

assert_eq!(
    p.apply("something"),
    Err(FatalError::Error(Error::Tag(TagStrError("baz".into(), "som".into()))))
);