Add #[doc(hidden)] attribute to internal macros and re-export paste
This commit is contained in:
parent
1ea5a510a7
commit
5ea54133f5
|
@ -14,6 +14,10 @@ pub trait DynamicQuery {
|
|||
}
|
||||
}
|
||||
|
||||
// needed for macros
|
||||
#[doc(hidden)]
|
||||
pub use paste;
|
||||
|
||||
mod macros;
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
use paste;
|
||||
|
||||
#[doc(hidden)]
|
||||
#[macro_export]
|
||||
macro_rules! query_def_type {
|
||||
(@ ($type:ty)) => {
|
||||
|
@ -14,6 +17,7 @@ macro_rules! query_def_type {
|
|||
};
|
||||
}
|
||||
|
||||
#[doc(hidden)]
|
||||
#[macro_export]
|
||||
macro_rules! query_def_field {
|
||||
(@dyn $type:ty) => {
|
||||
|
@ -33,6 +37,7 @@ macro_rules! query_def_field {
|
|||
};
|
||||
}
|
||||
|
||||
#[doc(hidden)]
|
||||
#[macro_export]
|
||||
macro_rules! query_def_filter {
|
||||
// note about this: 'dyn is implied for 'vec and 'map because if the type is not 'dyn, then the
|
||||
|
@ -79,6 +84,7 @@ macro_rules! query_def_filter {
|
|||
};
|
||||
}
|
||||
|
||||
#[doc(hidden)]
|
||||
#[macro_export]
|
||||
macro_rules! query_def_internal_struct {
|
||||
(@
|
||||
|
@ -110,7 +116,7 @@ macro_rules! query_def_internal_struct {
|
|||
)+
|
||||
}
|
||||
|
||||
::paste::paste! {
|
||||
$crate::paste::paste! {
|
||||
#[derive(Debug, Clone, Copy, Default)]
|
||||
$( $( #[$def_meta] )+ )?
|
||||
$vis struct [<$data Def>] {
|
||||
|
@ -121,7 +127,7 @@ macro_rules! query_def_internal_struct {
|
|||
}
|
||||
|
||||
impl $crate::DynamicQuery for $data {
|
||||
type Definition = ::paste::paste! { [<$data Def>] };
|
||||
type Definition = $crate::paste::paste! { [<$data Def>] };
|
||||
|
||||
fn filter_ref(&mut self, def: &Self::Definition) {
|
||||
$(
|
||||
|
@ -137,6 +143,7 @@ macro_rules! query_def_internal_struct {
|
|||
};
|
||||
}
|
||||
|
||||
#[doc(hidden)]
|
||||
#[macro_export]
|
||||
macro_rules! query_def_internal_enum {
|
||||
(@
|
||||
|
@ -181,7 +188,7 @@ macro_rules! query_def_internal_enum {
|
|||
),+
|
||||
}
|
||||
|
||||
::paste::paste! {
|
||||
$crate::paste::paste! {
|
||||
#[derive(Debug, Clone, Copy, Default)]
|
||||
$( $( #[$def_meta] )+ )?
|
||||
$vis struct [<$data Def>] {
|
||||
|
@ -191,7 +198,7 @@ macro_rules! query_def_internal_enum {
|
|||
}
|
||||
}
|
||||
|
||||
::paste::paste! {
|
||||
$crate::paste::paste! {
|
||||
// impl [<$data Def>] {
|
||||
// $(
|
||||
// pub type $variant = [<$data Def Variant $variant>];
|
||||
|
@ -210,13 +217,13 @@ macro_rules! query_def_internal_enum {
|
|||
}
|
||||
|
||||
impl $crate::DynamicQuery for $data {
|
||||
type Definition = ::paste::paste! { [<$data Def>] };
|
||||
type Definition = $crate::paste::paste! { [<$data Def>] };
|
||||
|
||||
fn filter_ref(&mut self, def: &Self::Definition) {
|
||||
match self {
|
||||
$(
|
||||
Self::$variant { $( ref mut $field ),+ } => {
|
||||
let def = ::paste::paste! { &def.[<$variant:snake:lower>] };
|
||||
let def = $crate::paste::paste! { &def.[<$variant:snake:lower>] };
|
||||
$(
|
||||
let query = &def.$field;
|
||||
$crate::query_def_filter!(@ query, $field, $($qualifier)? ($($type)+));
|
||||
|
|
Loading…
Reference in New Issue