use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ScriptLang {
#[serde(rename = "python3")]
Python3,
#[serde(rename = "deno")]
Deno,
#[serde(rename = "go")]
Go,
#[serde(rename = "bash")]
Bash,
#[serde(rename = "powershell")]
Powershell,
#[serde(rename = "postgresql")]
Postgresql,
#[serde(rename = "mysql")]
Mysql,
#[serde(rename = "bigquery")]
Bigquery,
#[serde(rename = "snowflake")]
Snowflake,
#[serde(rename = "mssql")]
Mssql,
#[serde(rename = "oracledb")]
Oracledb,
#[serde(rename = "graphql")]
Graphql,
#[serde(rename = "nativets")]
Nativets,
#[serde(rename = "bun")]
Bun,
#[serde(rename = "php")]
Php,
#[serde(rename = "rust")]
Rust,
#[serde(rename = "ansible")]
Ansible,
#[serde(rename = "csharp")]
Csharp,
#[serde(rename = "nu")]
Nu,
#[serde(rename = "java")]
Java,
#[serde(rename = "ruby")]
Ruby,
#[serde(rename = "rlang")]
Rlang,
#[serde(rename = "duckdb")]
Duckdb,
#[serde(rename = "bunnative")]
Bunnative,
}
impl std::fmt::Display for ScriptLang {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Python3 => write!(f, "python3"),
Self::Deno => write!(f, "deno"),
Self::Go => write!(f, "go"),
Self::Bash => write!(f, "bash"),
Self::Powershell => write!(f, "powershell"),
Self::Postgresql => write!(f, "postgresql"),
Self::Mysql => write!(f, "mysql"),
Self::Bigquery => write!(f, "bigquery"),
Self::Snowflake => write!(f, "snowflake"),
Self::Mssql => write!(f, "mssql"),
Self::Oracledb => write!(f, "oracledb"),
Self::Graphql => write!(f, "graphql"),
Self::Nativets => write!(f, "nativets"),
Self::Bun => write!(f, "bun"),
Self::Php => write!(f, "php"),
Self::Rust => write!(f, "rust"),
Self::Ansible => write!(f, "ansible"),
Self::Csharp => write!(f, "csharp"),
Self::Nu => write!(f, "nu"),
Self::Java => write!(f, "java"),
Self::Ruby => write!(f, "ruby"),
Self::Rlang => write!(f, "rlang"),
Self::Duckdb => write!(f, "duckdb"),
Self::Bunnative => write!(f, "bunnative"),
}
}
}
impl Default for ScriptLang {
fn default() -> ScriptLang {
Self::Python3
}
}