refactor: Swtich to using bon for builder pattern
This commit is contained in:
parent
aed7e275f2
commit
0c52cf6a54
36 changed files with 326 additions and 314 deletions
|
|
@ -1,23 +1,23 @@
|
|||
use std::{borrow::Cow, path::PathBuf};
|
||||
|
||||
use blue_build_utils::syntax_highlighting::highlight_ser;
|
||||
use bon::Builder;
|
||||
use colored::Colorize;
|
||||
use indexmap::IndexMap;
|
||||
use log::{trace, warn};
|
||||
use miette::{bail, Result};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_yaml::Value;
|
||||
use typed_builder::TypedBuilder;
|
||||
|
||||
use crate::{AkmodsInfo, ModuleExt};
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, TypedBuilder, Default)]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Builder, Default)]
|
||||
pub struct ModuleRequiredFields<'a> {
|
||||
#[builder(default, setter(into))]
|
||||
#[builder(into)]
|
||||
#[serde(rename = "type")]
|
||||
pub module_type: Cow<'a, str>,
|
||||
|
||||
#[builder(default, setter(into, strip_option))]
|
||||
#[builder(into)]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub source: Option<Cow<'a, str>>,
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ pub struct ModuleRequiredFields<'a> {
|
|||
pub no_cache: bool,
|
||||
|
||||
#[serde(flatten)]
|
||||
#[builder(default, setter(into))]
|
||||
#[builder(default, into)]
|
||||
pub config: IndexMap<String, Value>,
|
||||
}
|
||||
|
||||
|
|
@ -154,13 +154,12 @@ impl<'a> ModuleRequiredFields<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, TypedBuilder, Default)]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Builder, Default)]
|
||||
pub struct Module<'a> {
|
||||
#[builder(default, setter(strip_option))]
|
||||
#[serde(flatten, skip_serializing_if = "Option::is_none")]
|
||||
pub required_fields: Option<ModuleRequiredFields<'a>>,
|
||||
|
||||
#[builder(default, setter(into, strip_option))]
|
||||
#[builder(into)]
|
||||
#[serde(rename = "from-file", skip_serializing_if = "Option::is_none")]
|
||||
pub from_file: Option<Cow<'a, str>>,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue