processors_rs/
txt_processor.rs1use text_splitter::ChunkConfigError;
2use crate::markdown_processor::MarkdownProcessor;
3use crate::processor::{Document, DocumentProcessor};
4
5pub 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 {
14 markdown_processor,
15 })
16 }
17}
18
19impl DocumentProcessor for TxtProcessor {
20 fn process_document(&self, content: &str) -> anyhow::Result<Document> {
21 self.markdown_processor.process_document(content)
22 }
23}