///|
pub enum Target {
  Native
  Js
} derive(Eq, Show)

///|
pub fn Target::from_string(s : String) -> Target? {
  match s {
    "native" => Some(Native)
    "js" => Some(Js)
    _ => None
  }
}

///|
pub fn Target::to_moon_arg(target : Target) -> String {
  match target {
    Native => "native"
    Js => "js"
  }
}

///|
pub fn Target::artifact_ext(target : Target) -> String {
  match target {
    Native => "exe"
    Js => "js"
  }
}