/// Resolve ordinary files before the WASI suffix in each PATH folder. pub fn resolve_executable(path: std::path::PathBuf) -> Option { if path.is_file() { return Some(path); } let mut name = path.into_os_string(); name.push(".wasm"); let path = std::path::PathBuf::from(name); path.is_file().then_some(path) } pub(crate) fn resolve_executable_path( path: std::path::PathBuf, working_dir: &std::path::Path, ) -> std::path::PathBuf { let absolute = working_dir.join(&path); if absolute.is_file() { return path; } let mut name = absolute.into_os_string(); name.push(".wasm"); if std::path::PathBuf::from(name).is_file() { let mut name = path.into_os_string(); name.push(".wasm"); name.into() } else { path } }