Fix cfg(feature = "serde") usages
This commit is contained in:
parent
55ea832ba5
commit
c2612a146e
101
src/macros.rs
101
src/macros.rs
|
@ -79,10 +79,9 @@ macro_rules! query_def_filter {
|
|||
};
|
||||
}
|
||||
|
||||
/// Defines a dynamic query structure.
|
||||
#[macro_export]
|
||||
macro_rules! query_def {
|
||||
(
|
||||
macro_rules! query_def_internal {
|
||||
(@
|
||||
$(
|
||||
$(#[$meta:meta])
|
||||
*
|
||||
|
@ -102,25 +101,21 @@ macro_rules! query_def {
|
|||
) => {
|
||||
$(
|
||||
#[derive(Debug, Clone)]
|
||||
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
||||
$(#[$meta])
|
||||
*
|
||||
$vis struct $data {
|
||||
$(
|
||||
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
|
||||
$(#[$field_meta])
|
||||
*
|
||||
pub $field: Option<$crate::query_def_type!(@ $($qualifier)? ($($type)+))>,
|
||||
)+
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
||||
#[derive(Debug, Clone, Default)]
|
||||
$(#[$def_meta])
|
||||
*
|
||||
$vis struct $def {
|
||||
$(
|
||||
#[cfg_attr(feature = "serde", serde(default))]
|
||||
pub $field: $crate::query_def_field!(@ $($qualifier)? ($($type)+)),
|
||||
)+
|
||||
}
|
||||
|
@ -141,3 +136,93 @@ macro_rules! query_def {
|
|||
*
|
||||
};
|
||||
}
|
||||
|
||||
/// Defines a dynamic query structure.
|
||||
#[cfg(not(feature = "serde"))]
|
||||
#[macro_export]
|
||||
macro_rules! query_def {
|
||||
(
|
||||
$(
|
||||
$(#[$meta:meta])
|
||||
*
|
||||
$vis:vis $data:ident(
|
||||
$(#[$def_meta:meta])
|
||||
*
|
||||
$def:ident
|
||||
) {
|
||||
$(
|
||||
$(#[$field_meta:meta])
|
||||
*
|
||||
$field:ident: $($qualifier:lifetime)? ($($type:tt)+),
|
||||
)+
|
||||
}
|
||||
)
|
||||
*
|
||||
) => {
|
||||
$crate::query_def_internal!(@
|
||||
$(
|
||||
$(#[$meta])
|
||||
*
|
||||
$vis $data(
|
||||
$(#[$def_meta])
|
||||
*
|
||||
$def
|
||||
) {
|
||||
$(
|
||||
$(#[$field_meta])
|
||||
*
|
||||
$field: $($qualifier)? ($($type)+),
|
||||
)+
|
||||
}
|
||||
)
|
||||
*
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
/// Defines a dynamic query structure.
|
||||
#[cfg(feature = "serde")]
|
||||
#[macro_export]
|
||||
macro_rules! query_def {
|
||||
(
|
||||
$(
|
||||
$(#[$meta:meta])
|
||||
*
|
||||
$vis:vis $data:ident(
|
||||
$(#[$def_meta:meta])
|
||||
*
|
||||
$def:ident
|
||||
) {
|
||||
$(
|
||||
$(#[$field_meta:meta])
|
||||
*
|
||||
$field:ident: $($qualifier:lifetime)? ($($type:tt)+),
|
||||
)+
|
||||
}
|
||||
)
|
||||
*
|
||||
) => {
|
||||
$crate::query_def_internal!(@
|
||||
$(
|
||||
#[derive(Serialize, Deserialize)]
|
||||
$(#[$meta])
|
||||
*
|
||||
$vis $data(
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[serde(default)]
|
||||
$(#[$def_meta])
|
||||
*
|
||||
$def
|
||||
) {
|
||||
$(
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
$(#[$field_meta])
|
||||
*
|
||||
$field: $($qualifier)? ($($type)+),
|
||||
)+
|
||||
}
|
||||
)
|
||||
*
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue