processors_rs/
txt_processor.rs

1use crate::markdown_processor::MarkdownProcessor;
2use crate::processor::{Document, DocumentProcessor};
3use text_splitter::ChunkConfigError;
4
5/// A struct for processing PDF files.
6pub struct TxtProcessor {
7    markdown_processor: MarkdownProcessor,
8}
9
10impl TxtProcessor {
11    pub fn new(chunk_size: usize, overlap: usize) -> Result<TxtProcessor, ChunkConfigError> {
12        let markdown_processor = MarkdownProcessor::new(chunk_size, overlap)?;
13        Ok(TxtProcessor { markdown_processor })
14    }
15}
16
17impl DocumentProcessor for TxtProcessor {
18    fn process_document(&self, content: &str) -> anyhow::Result<Document> {
19        self.markdown_processor.process_document(content)
20    }
21}