Function map

fn map<I, O, E: ParseError<I>, F, G>(parser: F, f: G) -> impl Parser<I, Output = O, Error = E>
where
    F: Parser<I, Error = E>,
    G: FnMut(<F as Parser<I>>::Output) -> O

Maps a function on the result of a parser.

use nom::{Err,error::ErrorKind, IResult, Parser};
use nom::character::complete::digit1;
use nom::combinator::map;
# fn main() {

let mut parser = map(digit1, |s: &str| s.len());

// the parser will count how many characters were returned by digit1
assert_eq!(parser.parse("123456"), Ok(("", 6)));

// this will fail if digit1 fails
assert_eq!(parser.parse("abc"), Err(Err::Error(("abc", ErrorKind::Digit))));
# }