use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Serialize, Deserialize)]
#[serde(default)]
pub struct ServiceConfig {
pub format: wat_formatter::config::LanguageOptions,
pub lint: Lints,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(default)]
pub struct Lints {
pub unused: LintLevel,
pub shadow: LintLevel,
#[serde(alias = "implicitModule")]
pub implicit_module: LintLevel,
}
impl Default for Lints {
fn default() -> Self {
Self {
unused: LintLevel::Warn,
shadow: LintLevel::Warn,
implicit_module: LintLevel::Allow,
}
}
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub enum LintLevel {
#[serde(alias = "allow")]
Allow,
#[serde(alias = "warn")]
Warn,
#[serde(alias = "deny")]
Deny,
}