diff options
| author | troido <troido@protonmail.com> | 2020-02-07 20:31:15 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-02-07 20:31:15 +0100 |
| commit | 8675ea5ad1b9bd5ea727c0c8cd6eaf485ca28c05 (patch) | |
| tree | 623ba81520cb0475a7a90d154819444710871e9a | |
| parent | fa81f03509aa1300613c62e3a7b32db1183cd5c8 (diff) | |
argument can be left out
| -rw-r--r-- | src/assemblage.rs | 4 | ||||
| -rw-r--r-- | src/main.rs | 2 |
2 files changed, 2 insertions, 4 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()?; diff --git a/src/main.rs b/src/main.rs index 66c6fcc..77b6ca2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -110,7 +110,6 @@ fn gen_room<'a, 'b>() -> Room<'a, 'b> { fn default_assemblages() -> Encyclopedia { Encyclopedia::from_json(json!({ "wall": { - "arguments": [], "components": [ ["Blocking", {}], ["Visible", { @@ -120,7 +119,6 @@ fn default_assemblages() -> Encyclopedia { ] }, "grass": { - "arguments": [], "components": [ ["Visible", { "sprite": ["random", [ |
