optional feature for source
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			This commit is contained in:
		@@ -14,7 +14,7 @@ name = "db_bench"
 | 
				
			|||||||
harness = false
 | 
					harness = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
chgk_ledb_lib = {path = "../lib", features = ["sync"]}
 | 
					chgk_ledb_lib = {path = "../lib", features = ["sync", "source"]}
 | 
				
			||||||
serde_json="1.0"
 | 
					serde_json="1.0"
 | 
				
			||||||
zip="0.6"
 | 
					zip="0.6"
 | 
				
			||||||
rand="0.8"
 | 
					rand="0.8"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,13 +13,14 @@ description = "Библиотека для доступа к файлу базы
 | 
				
			|||||||
default = ["async"]
 | 
					default = ["async"]
 | 
				
			||||||
sync = ["zstd", "memmap"]
 | 
					sync = ["zstd", "memmap"]
 | 
				
			||||||
async = ["futures", "futures-core", "futures-util", "fmmap", "tokio", "async-compression", "async-stream"]
 | 
					async = ["futures", "futures-core", "futures-util", "fmmap", "tokio", "async-compression", "async-stream"]
 | 
				
			||||||
 | 
					source = ["zip"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
serde="1.0"
 | 
					serde="1.0"
 | 
				
			||||||
serde_derive="1.0"
 | 
					serde_derive="1.0"
 | 
				
			||||||
serde_json="1.0"
 | 
					serde_json="1.0"
 | 
				
			||||||
bincode = "^2.0.0-rc.2"
 | 
					bincode = "^2.0.0-rc.2"
 | 
				
			||||||
zip="0.6"
 | 
					zip= {version = "0.6", optional = true}
 | 
				
			||||||
fmmap = { version = "0.3", features = ["tokio-async"] , optional = true}
 | 
					fmmap = { version = "0.3", features = ["tokio-async"] , optional = true}
 | 
				
			||||||
tokio = { version = "1", features = ["fs","io-util","rt", "macros"] , optional = true}
 | 
					tokio = { version = "1", features = ["fs","io-util","rt", "macros"] , optional = true}
 | 
				
			||||||
futures-core  = {version = "0.3", optional = true}
 | 
					futures-core  = {version = "0.3", optional = true}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,5 @@ pub mod async_db;
 | 
				
			|||||||
#[cfg(feature = "sync")]
 | 
					#[cfg(feature = "sync")]
 | 
				
			||||||
pub mod db;
 | 
					pub mod db;
 | 
				
			||||||
pub mod questions;
 | 
					pub mod questions;
 | 
				
			||||||
 | 
					#[cfg(feature = "source")]
 | 
				
			||||||
pub mod source;
 | 
					pub mod source;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,5 @@
 | 
				
			|||||||
use serde_derive::{Deserialize, Serialize};
 | 
					use serde_derive::{Deserialize, Serialize};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::source::{SourceQuestion, SourceQuestionsBatch};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
macro_rules! make {
 | 
					macro_rules! make {
 | 
				
			||||||
    ($Target:ident; by {$($field:ident),+}; from $src:expr) => {$Target {$(
 | 
					    ($Target:ident; by {$($field:ident),+}; from $src:expr) => {$Target {$(
 | 
				
			||||||
        $field: $src.$field
 | 
					        $field: $src.$field
 | 
				
			||||||
@@ -80,6 +78,12 @@ pub struct Question {
 | 
				
			|||||||
    pub batch_info: BatchInfo,
 | 
					    pub batch_info: BatchInfo,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[cfg(feature = "source")]
 | 
				
			||||||
 | 
					pub mod convert {
 | 
				
			||||||
 | 
					    use crate::source::{SourceQuestion, SourceQuestionsBatch};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    use super::{BatchInfo, Question};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    impl From<SourceQuestion> for Question {
 | 
					    impl From<SourceQuestion> for Question {
 | 
				
			||||||
        fn from(src: SourceQuestion) -> Self {
 | 
					        fn from(src: SourceQuestion) -> Self {
 | 
				
			||||||
            make! {Self; with defaults and by {
 | 
					            make! {Self; with defaults and by {
 | 
				
			||||||
@@ -134,3 +138,7 @@ where
 | 
				
			|||||||
            Box::new(iter)
 | 
					            Box::new(iter)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[cfg(feature = "source")]
 | 
				
			||||||
 | 
					pub use convert::QuestionsConverter;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user