feat(build_target): impl display

master
Ashley Williams 6 years ago
parent f9ec18d783
commit 229de51270
  1. 14
      src/bindgen.rs
  2. 13
      src/command/build.rs

@ -94,21 +94,15 @@ fn supports_dash_dash_target(cli_path: &PathBuf) -> Result<bool, failure::Error>
Ok(cli_version >= expected_version)
}
fn build_target_arg(target: Target, cli_path: &PathBuf) -> Result<&str, failure::Error> {
fn build_target_arg(target: Target, cli_path: &PathBuf) -> Result<String, failure::Error> {
if !supports_dash_dash_target(cli_path)? {
Ok(build_target_arg_legacy(target, cli_path)?)
} else {
let target_arg = match target {
Target::Nodejs => "nodejs",
Target::NoModules => "no-modules",
Target::Web => "web",
Target::Bundler => "bundler",
};
Ok(target_arg)
Ok(target.to_string())
}
}
fn build_target_arg_legacy(target: Target, cli_path: &PathBuf) -> Result<&str, failure::Error> {
fn build_target_arg_legacy(target: Target, cli_path: &PathBuf) -> Result<String, failure::Error> {
log::info!("Your version of wasm-bindgen is out of date. You should consider updating your Cargo.toml to a version >= 0.2.40.");
let target_arg = match target {
Target::Nodejs => "--nodejs",
@ -122,5 +116,5 @@ fn build_target_arg_legacy(target: Target, cli_path: &PathBuf) -> Result<&str, f
}
Target::Bundler => "--browser",
};
Ok(target_arg)
Ok(target_arg.to_string())
}

@ -8,6 +8,7 @@ use cache;
use command::utils::{create_pkg_dir, get_crate_path};
use emoji;
use failure::Error;
use std::fmt;
use install::{self, InstallMode, Tool};
use license;
use lockfile::Lockfile;
@ -61,6 +62,18 @@ impl Default for Target {
}
}
impl fmt::Display for Target {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let s = match self {
Target::Bundler => "bundler",
Target::Web => "web",
Target::Nodejs => "nodejs",
Target::NoModules => "no-modules",
};
write!(f, "{}", s)
}
}
impl FromStr for Target {
type Err = Error;
fn from_str(s: &str) -> Result<Self, Error> {

Loading…
Cancel
Save