Files
jspg/src/jspg.rs

33 lines
744 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) -> (Self, crate::drop::Drop) {
let (database_instance, drop) = 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());
(
Self {
database,
validator,
queryer,
merger,
},
drop,
)
}
}