Files
jspg/src/jspg.rs
2026-04-03 00:29:44 -04:00

33 lines
745 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,
)
}
}