move macro to convert mod
This commit is contained in:
		@@ -1,14 +1,5 @@
 | 
			
		||||
use serde_derive::{Deserialize, Serialize};
 | 
			
		||||
 | 
			
		||||
macro_rules! make {
 | 
			
		||||
    ($Target:ident; by {$($field:ident),+}; from $src:expr) => {$Target {$(
 | 
			
		||||
        $field: $src.$field
 | 
			
		||||
    ),+}};
 | 
			
		||||
    ($Target:ident; with defaults and by {$($field:ident),+}; from $src:expr) => {$Target {$(
 | 
			
		||||
        $field: $src.$field
 | 
			
		||||
    ),+ ,..$Target::default()}}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Default, Clone, Serialize, Deserialize, bincode::Decode, bincode::Encode)]
 | 
			
		||||
pub struct BatchInfo {
 | 
			
		||||
    #[serde(default)]
 | 
			
		||||
@@ -80,9 +71,17 @@ pub struct Question {
 | 
			
		||||
 | 
			
		||||
#[cfg(feature = "source")]
 | 
			
		||||
pub mod convert {
 | 
			
		||||
    use super::{BatchInfo, Question};
 | 
			
		||||
    use crate::source::{SourceQuestion, SourceQuestionsBatch};
 | 
			
		||||
 | 
			
		||||
    use super::{BatchInfo, Question};
 | 
			
		||||
    macro_rules! make {
 | 
			
		||||
        ($Target:ident; by {$($field:ident),+}; from $src:expr) => {$Target {$(
 | 
			
		||||
            $field: $src.$field
 | 
			
		||||
        ),+}};
 | 
			
		||||
        ($Target:ident; with defaults and by {$($field:ident),+}; from $src:expr) => {$Target {$(
 | 
			
		||||
            $field: $src.$field
 | 
			
		||||
        ),+ ,..$Target::default()}}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    impl From<SourceQuestion> for Question {
 | 
			
		||||
        fn from(src: SourceQuestion) -> Self {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user