1use super::*;
2
3pub fn load_package_from_file<P: AsRef<std::path::Path>>(path: P) -> Result<Package, Vec<BitsyError>> {
4 let package_text = std::fs::read_to_string(path.as_ref()).unwrap();
5 let source_info = SourceInfo::from_file(path.as_ref(), &package_text);
6 package_from_string(source_info, &package_text)
7}
8
9pub fn load_package_from_string(package_text: &str) -> Result<Package, Vec<BitsyError>> {
10 let source_info = SourceInfo::from_string(package_text);
11 package_from_string(source_info, package_text)
12}
13
14fn package_from_string(_source_info: SourceInfo, package_text: &str) -> Result<Package, Vec<BitsyError>> {
15 let package_ast = crate::ast::parse_package_from_string(package_text)?;
17 Package::from(&package_ast)
18}