Files
jspg/src/jspg.rs

30 lines
711 B
Rust

use crate::database::Database;
use crate::merger::Merger;
use crate::queryer::Queryer;
use crate::validator::Validator;
use std::sync::Arc;
pub struct Jspg {
pub database: Arc<Database>,
pub validator: Validator,
pub queryer: Queryer,
pub merger: Merger,
}
impl Jspg {
pub fn new(database_val: &serde_json::Value) -> Result<Self, crate::drop::Drop> {
let database_instance = Database::new(database_val)?;
let database = Arc::new(database_instance);
let validator = Validator::new(database.clone());
let queryer = Queryer::new(database.clone());
let merger = Merger::new(database.clone());
Ok(Self {
database,
validator,
queryer,
merger,
})
}
}