use crate::parser::{Parser, ParserInput}; pub fn map(parser: P, map_fn: F) -> impl Parser where I: ParserInput, P: Parser, F: Fn(O1) -> O2, { let rep = parser.representation(); let p = move |input| { parser .parse(input) .map(|(result, rest)| (map_fn(result), rest)) }; (p, rep) }