mirror of
https://github.com/edera-dev/sprout.git
synced 2025-12-20 03:40:17 +00:00
chore(crates): introduce new config crate for sprout configuration
This commit is contained in:
21
crates/config/src/generators/bls.rs
Normal file
21
crates/config/src/generators/bls.rs
Normal file
@@ -0,0 +1,21 @@
|
||||
use crate::entries::EntryDeclaration;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// The default path to the BLS directory.
|
||||
const BLS_TEMPLATE_PATH: &str = "\\loader";
|
||||
|
||||
/// The configuration of the BLS generator.
|
||||
/// The BLS uses the Bootloader Specification to produce
|
||||
/// entries from an input template.
|
||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||
pub struct BlsConfiguration {
|
||||
/// The entry to use for as a template.
|
||||
pub entry: EntryDeclaration,
|
||||
/// The path to the BLS directory.
|
||||
#[serde(default = "default_bls_path")]
|
||||
pub path: String,
|
||||
}
|
||||
|
||||
fn default_bls_path() -> String {
|
||||
BLS_TEMPLATE_PATH.to_string()
|
||||
}
|
||||
16
crates/config/src/generators/list.rs
Normal file
16
crates/config/src/generators/list.rs
Normal file
@@ -0,0 +1,16 @@
|
||||
use crate::entries::EntryDeclaration;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
/// List generator configuration.
|
||||
/// The list generator produces multiple entries based
|
||||
/// on a set of input maps.
|
||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||
pub struct ListConfiguration {
|
||||
/// The template entry to use for each generated entry.
|
||||
#[serde(default)]
|
||||
pub entry: EntryDeclaration,
|
||||
/// The values to use as the input for the matrix.
|
||||
#[serde(default)]
|
||||
pub values: Vec<BTreeMap<String, String>>,
|
||||
}
|
||||
16
crates/config/src/generators/matrix.rs
Normal file
16
crates/config/src/generators/matrix.rs
Normal file
@@ -0,0 +1,16 @@
|
||||
use crate::entries::EntryDeclaration;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
/// Matrix generator configuration.
|
||||
/// The matrix generator produces multiple entries based
|
||||
/// on input values multiplicatively.
|
||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||
pub struct MatrixConfiguration {
|
||||
/// The template entry to use for each generated entry.
|
||||
#[serde(default)]
|
||||
pub entry: EntryDeclaration,
|
||||
/// The values to use as the input for the matrix.
|
||||
#[serde(default)]
|
||||
pub values: BTreeMap<String, Vec<String>>,
|
||||
}
|
||||
Reference in New Issue
Block a user