use async_trait::async_trait;
use super::ContentChunker;
pub struct WordChunker;
#[async_trait]
impl ContentChunker for WordChunker {
async fn chunk(&self, content: &str, size: usize) -> Vec<String> {
content
.split_whitespace()
.collect::<Vec<&str>>()
.chunks(size)
.map(|chunk| chunk.join(" "))
.collect()
}
fn name(&self) -> &str {
"words"
}
}