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_export]
|
||||||
macro_rules! query_def {
|
macro_rules! query_def_internal {
|
||||||
(
|
(@
|
||||||
$(
|
$(
|
||||||
$(#[$meta:meta])
|
$(#[$meta:meta])
|
||||||
*
|
*
|
||||||
|
@ -102,25 +101,21 @@ macro_rules! query_def {
|
||||||
) => {
|
) => {
|
||||||
$(
|
$(
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
|
||||||
$(#[$meta])
|
$(#[$meta])
|
||||||
*
|
*
|
||||||
$vis struct $data {
|
$vis struct $data {
|
||||||
$(
|
$(
|
||||||
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
|
|
||||||
$(#[$field_meta])
|
$(#[$field_meta])
|
||||||
*
|
*
|
||||||
pub $field: Option<$crate::query_def_type!(@ $($qualifier)? ($($type)+))>,
|
pub $field: Option<$crate::query_def_type!(@ $($qualifier)? ($($type)+))>,
|
||||||
)+
|
)+
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone, Default)]
|
||||||
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
|
||||||
$(#[$def_meta])
|
$(#[$def_meta])
|
||||||
*
|
*
|
||||||
$vis struct $def {
|
$vis struct $def {
|
||||||
$(
|
$(
|
||||||
#[cfg_attr(feature = "serde", serde(default))]
|
|
||||||
pub $field: $crate::query_def_field!(@ $($qualifier)? ($($type)+)),
|
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