diff options
Diffstat (limited to 'src/builtins/doer.rs')
| -rw-r--r-- | src/builtins/doer.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/builtins/doer.rs b/src/builtins/doer.rs new file mode 100644 index 0000000..8df1453 --- /dev/null +++ b/src/builtins/doer.rs @@ -0,0 +1,31 @@ +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<Program> { + let file = file::open(key, program_id)?; +} + +pub fn program_code(key: &mut ThreadKey, program_id: Uuid) -> Option<Box<[u8]>> { + todo!() +} + +pub fn program_file(key: &mut ThreadKey, program_id: Uuid, module: &Path) -> Option<Box<[u8]>> { + todo!() +} |
