wac icon indicating copy to clipboard operation
wac copied to clipboard

Add `Package::from_wit` convenience

Open rylev opened this issue 1 year ago • 0 comments

It would be nice to have some sort of convenience for declaring a wac_types::Package from wit files.

Essentially replacing this code:

let mut resolve = wit_parser::Resolve::new();
let pkg = if path.is_dir()
   let (pkg, _) = resolve.push_dir(path)?;
   pkg
} else {
  let unresolved = wit_parser::UnresolvedPackage::parse_file(&path)?;
  resolve.push(unresolved)?
};
let bytes = wit_component::encode(Some(true), &resolve, pkg)?;
wac_graph::types::Package::from_bytes(
  name,
  None,
  bytes.to_owned(),
  types,
)

Of course, this ties wac_types to the convention from wit_parser, but the wac_cli already does this, so I don't see why it would be inappropriate in wac_types.

rylev avatar Apr 19 '24 14:04 rylev