charybdis 1.1.0

High-Performance ORM for ScyllaDB
Documentation
use crate::errors::CharybdisError;
use crate::model::BaseModel;

pub struct CharybdisModelIterator<T: BaseModel> {
    inner: std::vec::IntoIter<T>,
    query_string: &'static str,
}

impl<T: BaseModel> CharybdisModelIterator<T> {
    pub(crate) fn query_string(&mut self, query_string: &'static str) {
        self.query_string = query_string;
    }
}

impl<T: BaseModel> From<Vec<T>> for CharybdisModelIterator<T> {
    fn from(vec: Vec<T>) -> Self {
        Self {
            inner: vec.into_iter(),
            query_string: "",
        }
    }
}

impl<T: BaseModel> Iterator for CharybdisModelIterator<T> {
    type Item = Result<T, CharybdisError>;

    fn next(&mut self) -> Option<Self::Item> {
        self.inner.next().map(Ok)
    }
}