pub(crate) mod cursor;
pub(crate) mod model;
pub(crate) mod pk;
use toasty::stmt::Value;
pub(crate) type UntypedInclude = toasty_core::stmt::Include;
pub use toasty::schema::app::VariantId;
pub(crate) use toasty_core::stmt::Assignments;
pub(crate) fn value_text(value: &Value) -> Option<String> {
Some(match value {
Value::Bool(v) => v.to_string(),
Value::I8(v) => v.to_string(),
Value::I16(v) => v.to_string(),
Value::I32(v) => v.to_string(),
Value::I64(v) => v.to_string(),
Value::U8(v) => v.to_string(),
Value::U16(v) => v.to_string(),
Value::U32(v) => v.to_string(),
Value::U64(v) => v.to_string(),
Value::F32(v) => v.to_string(),
Value::F64(v) => v.to_string(),
Value::String(v) => v.clone(),
Value::Uuid(v) => v.to_string(),
Value::Timestamp(v) => v.to_string(),
Value::Date(v) => v.to_string(),
Value::Time(v) => v.to_string(),
Value::DateTime(v) => v.to_string(),
Value::Zoned(v) => v.to_string(),
Value::Bytes(v) => String::from_utf8(v.clone()).ok()?,
_ => return None,
})
}