feature gate sqlx for jid crate
This commit is contained in:
parent
65e908e36c
commit
20fc4b1966
|
@ -3,5 +3,8 @@ name = "jid"
|
|||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[features]
|
||||
sqlx = ["dep:sqlx"]
|
||||
|
||||
[dependencies]
|
||||
sqlx = { version = "0.8.3", features = ["sqlite"] }
|
||||
sqlx = { version = "0.8.3", features = ["sqlite"], optional = true }
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
use std::{
|
||||
borrow::Cow,
|
||||
error::Error,
|
||||
fmt::{Display, Write},
|
||||
str::FromStr,
|
||||
};
|
||||
use std::{borrow::Cow, error::Error, fmt::Display, str::FromStr};
|
||||
|
||||
#[cfg(feature = "sqlx")]
|
||||
use sqlx::Sqlite;
|
||||
|
||||
#[derive(PartialEq, Debug, Clone, sqlx::Type, sqlx::Encode, Eq, Hash)]
|
||||
#[derive(PartialEq, Debug, Clone, Eq, Hash)]
|
||||
pub struct JID {
|
||||
// TODO: validate localpart (length, char]
|
||||
pub localpart: Option<String>,
|
||||
|
@ -37,13 +33,14 @@ impl Display for JID {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: feature gate
|
||||
#[cfg(feature = "sqlx")]
|
||||
impl sqlx::Type<Sqlite> for JID {
|
||||
fn type_info() -> <Sqlite as sqlx::Database>::TypeInfo {
|
||||
<&str as sqlx::Type<Sqlite>>::type_info()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "sqlx")]
|
||||
impl sqlx::Decode<'_, Sqlite> for JID {
|
||||
fn decode(
|
||||
value: <Sqlite as sqlx::Database>::ValueRef<'_>,
|
||||
|
@ -54,6 +51,7 @@ impl sqlx::Decode<'_, Sqlite> for JID {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "sqlx")]
|
||||
impl sqlx::Encode<'_, Sqlite> for JID {
|
||||
fn encode_by_ref(
|
||||
&self,
|
||||
|
|
Loading…
Reference in New Issue