ormlite-core 0.25.0

An ORM for people who love SQL. Use the `ormlite` crate, not this one.
Documentation
use core::default::Default;
use sqlx::{Arguments, Database, IntoArguments};

pub struct QueryBuilderArgs<DB: Database>(pub Box<DB::Arguments>, usize);

impl<DB: Database> QueryBuilderArgs<DB> {
    pub fn add<'t, T: Send + sqlx::Encode<'t, DB> + sqlx::Type<DB>>(&mut self, arg: T) {
        self.0.add(arg).unwrap();
        self.1 += 1;
    }

    pub fn len(&self) -> usize {
        self.1
    }
}

impl<DB: Database> IntoArguments<DB> for QueryBuilderArgs<DB> {
    fn into_arguments(self) -> DB::Arguments {
        *self.0
    }
}

impl<DB: Database> Default for QueryBuilderArgs<DB> {
    fn default() -> Self {
        Self(Box::default(), 0)
    }
}