1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mod include;
mod state;
mod value;

pub use include::IncludeAdaptor;
pub use state::WildDocState;
pub use value::{VarsStack, WildDocValue};

use anyhow::Result;

pub trait WildDocScript {
    fn new(state: WildDocState) -> Result<Self>
    where
        Self: Sized;
    fn evaluate_module(&mut self, file_name: &str, src: &[u8]) -> Result<()>;
    fn eval(&mut self, code: &[u8]) -> Result<Option<serde_json::Value>>;
}