eguidev 0.0.2

AI-assisted development tooling and in-process instrumentation for egui apps
Documentation
use std::sync::LazyLock;

use tokio::sync::Mutex as AsyncMutex;

mod eval;
mod parse;
mod runtime;
mod types;
mod value;

pub use eval::run_script_eval;
pub(super) use eval::script_eval_task_error;
pub use types::{
    ScriptArgValue, ScriptArgs, ScriptAssertion, ScriptErrorInfo, ScriptEvalOptions,
    ScriptEvalOutcome, ScriptEvalRequest, ScriptImageInfo, ScriptLocation, ScriptTiming,
};

pub(super) const DEFAULT_SCRIPT_TIMEOUT_MS: u64 = 60_000;

pub(super) static SCRIPT_EVAL_LOCK: LazyLock<AsyncMutex<()>> =
    LazyLock::new(|| AsyncMutex::new(()));