use super::*;
pub(super) struct ModuleFaceValues<'a> {
pub(super) module: &'a str,
pub(super) kind: &'a str,
pub(super) preset: &'a str,
pub(super) parts: &'a str,
pub(super) name_zh: &'a str,
pub(super) name_en: &'a str,
pub(super) summary_zh: &'a str,
pub(super) summary_en: &'a str,
pub(super) exports: &'a str,
pub(super) stable_name: &'a str,
pub(super) needs_registry: bool,
pub(super) getting_from_other_registry: &'a str,
pub(super) registration_rule: &'a str,
pub(super) admission: &'a str,
pub(super) handle_traits: &'a str,
pub(super) handle_contracts: &'a str,
pub(super) part_traits: &'a str,
pub(super) part_contracts: &'a str,
pub(super) requires: &'a str,
pub(super) provides: &'a str,
pub(super) runtime_checks: &'a str,
pub(super) flow: &'a str,
pub(super) flow_provider: &'a str,
}
impl<'a> ModuleFaceValues<'a> {
pub(super) fn from_new(face: &NewModuleFace<'a>) -> Self {
Self {
module: face.module,
kind: face.kind,
preset: face.preset,
parts: face.parts,
name_zh: face.name_zh,
name_en: face.name_en,
summary_zh: face.summary_zh,
summary_en: face.summary_en,
exports: face.exports,
stable_name: face.stable_name,
needs_registry: face.needs_registry,
getting_from_other_registry: face.getting_from_other_registry,
registration_rule: face.registration_rule,
admission: face.admission,
handle_traits: face.handle_traits,
handle_contracts: face.handle_contracts,
part_traits: face.part_traits,
part_contracts: face.part_contracts,
requires: face.requires,
provides: face.provides,
runtime_checks: face.runtime_checks,
flow: face.flow,
flow_provider: face.flow_provider,
}
}
pub(super) fn from_patch(patch: &ModuleFacePatch<'a>) -> Self {
Self {
module: patch.module,
kind: patch.kind,
preset: patch.preset,
parts: patch.parts,
name_zh: patch.name_zh,
name_en: patch.name_en,
summary_zh: patch.summary_zh,
summary_en: patch.summary_en,
exports: patch.exports,
stable_name: patch.stable_name,
needs_registry: patch.needs_registry,
getting_from_other_registry: patch.getting_from_other_registry,
registration_rule: patch.registration_rule,
admission: patch.admission,
handle_traits: patch.handle_traits,
handle_contracts: patch.handle_contracts,
part_traits: patch.part_traits,
part_contracts: patch.part_contracts,
requires: patch.requires,
provides: patch.provides,
runtime_checks: patch.runtime_checks,
flow: patch.flow,
flow_provider: patch.flow_provider,
}
}
pub(super) fn value(&self, field: &str) -> &'a str {
match field {
"kind" => self.kind,
"preset" => self.preset,
"parts" => self.parts,
"name_zh" => self.name_zh,
"name_en" => self.name_en,
"summary_zh" => self.summary_zh,
"summary_en" => self.summary_en,
"exports" => self.exports,
"stable_name" => self.stable_name,
"getting_from_other_registry" => self.getting_from_other_registry,
"registration_rule" => self.registration_rule,
"admission" => self.admission,
"handle_traits" => self.handle_traits,
"handle_contracts" => self.handle_contracts,
"part_traits" => self.part_traits,
"part_contracts" => self.part_contracts,
"requires" => self.requires,
"provides" => self.provides,
"runtime_checks" => self.runtime_checks,
"flow" => self.flow,
"flow_provider" => self.flow_provider,
_ => "",
}
}
}