synaptic_loaders/
text_loader.rs1use crate::Document;
2use async_trait::async_trait;
3use synaptic_core::SynapticError;
4
5use crate::Loader;
6
7#[derive(Debug, Clone)]
9pub struct TextLoader {
10 id: String,
11 content: String,
12}
13
14impl TextLoader {
15 pub fn new(id: impl Into<String>, content: impl Into<String>) -> Self {
16 Self {
17 id: id.into(),
18 content: content.into(),
19 }
20 }
21}
22
23#[async_trait]
24impl Loader for TextLoader {
25 async fn load(&self) -> Result<Vec<Document>, SynapticError> {
26 Ok(vec![Document::new(self.id.clone(), self.content.clone())])
27 }
28}