cartel-sqlite 0.31.0

SQLite driver for the dope runtime
use crate::{config, row};
use std::{ops, result};

pub(super) mod collect;
pub(super) mod single;
pub(super) mod visit;

pub(crate) trait Create<R: row::raw::Decode> {
    type Policy: Policy<R>;

    fn create(self, config: &config::Config) -> result::Result<Self::Policy, crate::Error>;
}

pub(crate) trait Policy<R: row::raw::Decode> {
    type Output;

    fn row<'row>(
        &mut self,
        value: R::Borrowed<'row>,
    ) -> result::Result<ops::ControlFlow<Self::Output>, crate::Error>;

    fn done(self) -> result::Result<Self::Output, crate::Error>;
}