Function glue::combinators::mappers::optional

source ยท
pub fn optional<'a, Res, Par>(parser: Par) -> impl Parser<'a, Option<Res>>
where Par: Parser<'a, Res>,
Expand description

Run a parser and map its result to an Option<T>.

assert_eq!(
    optional(is("foobar")).parse("foobar"),
    Ok((
        ParserContext {
            input: "foobar",
            bounds: 0..6
        },
        Some("foobar")
    ))
);
assert_eq!(
    optional(is("foobar")).parse("boofar"),
    Ok((
        ParserContext {
            input: "boofar",
            bounds: 0..0
        },
        None
    ))
);