INNER CODE UNIT · Rust

opt_field

informationsea/transanno · liftover-rs/src/bedparse/mod.rs:101

pub fn opt_field<'a, O, E, F>(
    opt_parser: F,
) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Option<(&'a [u8], O)>, E>
where
    F: nom::Parser<&'a [u8], O, E>,
    E: nom::error::ParseError<&'a [u8]>,
{
    opt(map(
        tuple((
            tag(b"\t"),
            take_while1(|x| x != b'\t' && x != b'\n'),
            opt_parser,
        )),
        |(_, x, y)| (x, y),
    ))
}

pub fn parse_bed_line<'a>(input: &'a [u8]) -> IResult<&'a [u8], BedEntry<'a>> {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…