1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use crate::{SqliteArgumentValue, SqliteArguments};
use rbdc::Error;
use rbs::Value;
pub trait Encode {
fn encode(self, args: &mut Vec<SqliteArgumentValue>) -> Result<IsNull, Error>;
}
/// The return type of [Encode::encode].
pub enum IsNull {
/// The value is null; no data was written.
Yes,
/// The value is not null.
///
/// This does not mean that data was written.
No,
}
impl From<Vec<rbs::Value>> for SqliteArguments {
fn from(args: Vec<Value>) -> Self {
let mut arg = SqliteArguments {
values: Vec::with_capacity(args.len()),
};
for x in args {
arg.add(x).unwrap();
}
arg
}
}