summaryrefslogtreecommitdiff
path: root/src/assemblage.rs
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-02-07 20:31:15 +0100
committertroido <troido@protonmail.com>2020-02-07 20:31:15 +0100
commit8675ea5ad1b9bd5ea727c0c8cd6eaf485ca28c05 (patch)
tree623ba81520cb0475a7a90d154819444710871e9a /src/assemblage.rs
parentfa81f03509aa1300613c62e3a7b32db1183cd5c8 (diff)
argument can be left out
Diffstat (limited to 'src/assemblage.rs')
-rw-r--r--src/assemblage.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/assemblage.rs b/src/assemblage.rs
index 28bf26f..879cd3e 100644
--- a/src/assemblage.rs
+++ b/src/assemblage.rs
@@ -1,6 +1,6 @@
use std::collections::HashMap;
-use serde_json::Value;
+use serde_json::{Value, json};
use super::componentparameter::ComponentParameter;
use super::parameter::{Parameter, ParameterType};
use super::componentwrapper::{ComponentWrapper, ComponentType};
@@ -62,7 +62,7 @@ impl Assemblage {
pub fn from_json(val: &Value) -> Result<Self, &'static str>{
let assemblage = Self {
- arguments: Self::parse_definition_arguments(val.get("arguments").ok_or("property 'arguments' not found")?)?,
+ arguments: Self::parse_definition_arguments(val.get("arguments").unwrap_or(&json!([])))?,
components: Self::parse_definition_components(val.get("components").ok_or("property 'components' not found")?)?
};
assemblage.validate()?;