youtube_dl_parser/reader/
parsed_output_reader.rs

1use crate::reader::output_reader::OutputReader;
2use crate::state::parsed_output_state::ParsedOutputState;
3
4/// Parsed output reader
5pub struct ParsedOutputReader {
6    output_reader: OutputReader,
7}
8
9impl ParsedOutputReader {
10    /// Creates an output reader that parses the output of a raw reader
11    pub fn new(output_reader: OutputReader) -> Self {
12        Self { output_reader }
13    }
14}
15
16impl Iterator for ParsedOutputReader {
17    type Item = ParsedOutputState;
18
19    fn next(&mut self) -> Option<Self::Item> {
20        self.output_reader.next().map(ParsedOutputState::parse)
21    }
22}