use crate::{
Result, Rudof,
api::generation::implementations::generate_data,
formats::{DataFormat, GenerationSchemaFormat, InputSpec},
};
use std::path::PathBuf;
pub trait GenerationOperations {
async fn generate_data(
&self,
schema: &InputSpec,
schema_format: &GenerationSchemaFormat,
result_generation_format: Option<&DataFormat>,
output: Option<&PathBuf>,
config_file: Option<&PathBuf>,
number_entities: usize,
seed: Option<u64>,
parallel: Option<usize>,
) -> Result<()>;
}
impl GenerationOperations for Rudof {
async fn generate_data(
&self,
schema: &InputSpec,
schema_format: &GenerationSchemaFormat,
result_generation_format: Option<&DataFormat>,
output: Option<&PathBuf>,
config_file: Option<&PathBuf>,
number_entities: usize,
seed: Option<u64>,
parallel: Option<usize>,
) -> Result<()> {
generate_data(
self,
schema,
schema_format,
result_generation_format,
output,
config_file,
number_entities,
seed,
parallel,
)
.await
}
}