use std::{
fs,
path::{Path, PathBuf},
};
#[must_use]
pub fn wasm_path(target_dir: &Path, crate_name: &str, profile_target_dir: &str) -> PathBuf {
target_dir
.join("wasm32-unknown-unknown")
.join(profile_target_dir)
.join(format!("{crate_name}.wasm"))
}
#[must_use]
pub fn wasm_artifacts_ready(
target_dir: &Path,
canisters: &[&str],
profile_target_dir: &str,
) -> bool {
canisters
.iter()
.all(|name| wasm_path(target_dir, name, profile_target_dir).is_file())
}
#[must_use]
pub fn read_wasm(target_dir: &Path, crate_name: &str, profile_target_dir: &str) -> Vec<u8> {
let path = wasm_path(target_dir, crate_name, profile_target_dir);
fs::read(&path).unwrap_or_else(|err| panic!("failed to read {crate_name} wasm: {err}"))
}