reefdb 0.1.0

ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-text search.
Documentation
use serde::{Deserialize, Serialize};

use super::tokenizer::Tokenizer;

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct DefaultTokenizer;

impl Tokenizer for DefaultTokenizer {
    fn tokenize<'a>(&self, text: &'a str) -> Box<dyn Iterator<Item = &'a str> + 'a> {
        Box::new(text.split_whitespace())
    }

    fn new() -> Self {
        DefaultTokenizer
    }
}

#[cfg(test)]
mod tests {
    #[test]
    fn tokenizer_test() {
        use super::Tokenizer;
        let tokenizer = super::DefaultTokenizer::new();
        let tokens: Vec<&str> = tokenizer.tokenize("Hello World").collect();
        assert_eq!(tokens, vec!["Hello", "World"]);
    }
}