use std::sync::Arc;
use uuid::Uuid;
use tan::{context::Context, error::Error, expr::Expr, util::module_util::require_module};
pub fn uuid_new_v4(_args: &[Expr], _context: &mut Context) -> Result<Expr, Error> {
let id = Uuid::new_v4();
Ok(Expr::string(id))
}
pub fn setup_lib_uuid(context: &mut Context) {
let module = require_module("uuid", context);
module.insert("make-v4-uuid", Expr::ForeignFunc(Arc::new(uuid_new_v4)));
}