use std::path::Path; use happylock::ThreadKey; use uuid::Uuid; use crate::file; pub enum Package { Program(Program), } pub struct Program { id: Uuid, name: String, interpreter: Uuid, main_file: Uuid, modules: Box<[Uuid]>, } pub fn package_metadata(key: &mut ThreadKey, program_id: Uuid) -> Option { let file = file::open(key, program_id)?; } pub fn program_code(key: &mut ThreadKey, program_id: Uuid) -> Option> { todo!() } pub fn program_file(key: &mut ThreadKey, program_id: Uuid, module: &Path) -> Option> { todo!() }