use pklrust::{EvaluatorManager, EvaluatorOptions, ModuleSource};
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct Server {
host: String,
port: i64,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut manager = EvaluatorManager::new()?;
let opts = EvaluatorOptions::preconfigured();
let evaluator = manager.new_evaluator(opts)?;
let source = ModuleSource::text(
r#"
host = "localhost"
port = 8080
"#,
);
let server: Server = manager.evaluate_module_typed(&evaluator, source)?;
println!("Server: {server:?}");
manager.close_evaluator(&evaluator)?;
Ok(())
}