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;
|
mod macros;
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
use paste;
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! query_def_type {
|
macro_rules! query_def_type {
|
||||||
(@ ($type:ty)) => {
|
(@ ($type:ty)) => {
|
||||||
|
@ -14,6 +17,7 @@ macro_rules! query_def_type {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! query_def_field {
|
macro_rules! query_def_field {
|
||||||
(@dyn $type:ty) => {
|
(@dyn $type:ty) => {
|
||||||
|
@ -33,6 +37,7 @@ macro_rules! query_def_field {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! query_def_filter {
|
macro_rules! query_def_filter {
|
||||||
// note about this: 'dyn is implied for 'vec and 'map because if the type is not 'dyn, then the
|
// 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_export]
|
||||||
macro_rules! query_def_internal_struct {
|
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)]
|
#[derive(Debug, Clone, Copy, Default)]
|
||||||
$( $( #[$def_meta] )+ )?
|
$( $( #[$def_meta] )+ )?
|
||||||
$vis struct [<$data Def>] {
|
$vis struct [<$data Def>] {
|
||||||
|
@ -121,7 +127,7 @@ macro_rules! query_def_internal_struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl $crate::DynamicQuery for $data {
|
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) {
|
fn filter_ref(&mut self, def: &Self::Definition) {
|
||||||
$(
|
$(
|
||||||
|
@ -137,6 +143,7 @@ macro_rules! query_def_internal_struct {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! query_def_internal_enum {
|
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)]
|
#[derive(Debug, Clone, Copy, Default)]
|
||||||
$( $( #[$def_meta] )+ )?
|
$( $( #[$def_meta] )+ )?
|
||||||
$vis struct [<$data Def>] {
|
$vis struct [<$data Def>] {
|
||||||
|
@ -191,7 +198,7 @@ macro_rules! query_def_internal_enum {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::paste::paste! {
|
$crate::paste::paste! {
|
||||||
// impl [<$data Def>] {
|
// impl [<$data Def>] {
|
||||||
// $(
|
// $(
|
||||||
// pub type $variant = [<$data Def Variant $variant>];
|
// pub type $variant = [<$data Def Variant $variant>];
|
||||||
|
@ -210,13 +217,13 @@ macro_rules! query_def_internal_enum {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl $crate::DynamicQuery for $data {
|
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) {
|
fn filter_ref(&mut self, def: &Self::Definition) {
|
||||||
match self {
|
match self {
|
||||||
$(
|
$(
|
||||||
Self::$variant { $( ref mut $field ),+ } => {
|
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;
|
let query = &def.$field;
|
||||||
$crate::query_def_filter!(@ query, $field, $($qualifier)? ($($type)+));
|
$crate::query_def_filter!(@ query, $field, $($qualifier)? ($($type)+));
|
||||||
|
|
Loading…
Reference in New Issue