summaryrefslogtreecommitdiff
path: root/src/assemblage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/assemblage.rs')
-rw-r--r--src/assemblage.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/assemblage.rs b/src/assemblage.rs
index 2ef62f0..96e44e9 100644
--- a/src/assemblage.rs
+++ b/src/assemblage.rs
@@ -58,7 +58,7 @@ impl Assemblage {
.as_str().ok_or(perr!("component name not a string"))?;
let comptype = ComponentType::from_str(name).ok_or(perr!("{} not a valid componenttype", name))?;
let mut parameters: HashMap<String, ComponentParameter> = HashMap::new();
- for (key, value) in tup.get(1).ok_or(perr!("index 1 not in component"))?.as_object().ok_or(perr!("component parameters not a json object"))? {
+ for (key, value) in tup.get(1).ok_or(perr!("index 1 not in component"))?.as_object().ok_or(perr!("component parameters not a json object: {:?}", tup.get(1)))? {
let param = ComponentParameter::from_json(value)?;
parameters.insert(key.clone(), param);
}
@@ -100,6 +100,9 @@ impl Assemblage {
}]));
}
+ if let Some(substitute) = val.get("substitute") {
+ components.push(json!(["Substitute", {"into": ["template", substitute]}]));
+ }
Ok(components)
}