1use noa_parser::bytes::primitives::string::DataString;
2use noa_parser::bytes::primitives::whitespace::Whitespaces;
3use noa_parser::errors::ParseResult;
4use noa_parser::scanner::Scanner;
5use noa_parser::visitor::Visitor;
6
7#[derive(Debug)]
8#[allow(dead_code)]
9struct Data<'a>(&'a str);
10
11impl<'a> Visitor<'a, u8> for Data<'a> {
12 fn accept(scanner: &mut Scanner<'a, u8>) -> ParseResult<Self> {
13 Whitespaces::accept(scanner)?;
15 let raw_data = DataString::accept(scanner)?.0;
17 Ok(Data(raw_data))
18 }
19}
20
21fn main() {
22 let data = b" data ";
23 let mut scanner = Scanner::new(data);
24 let result = Data::accept(&mut scanner);
25 println!("{:?}", result); }