From 8741bc207948f13c39484179f578a2261dfb58b7 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Fri, 2 Nov 2018 09:50:26 +0100 Subject: [PATCH] use reference to Jss inside PropertyMap --- src/json_schema.rs | 3 +-- src/main.rs | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/json_schema.rs b/src/json_schema.rs index 6456c72c..c9722fb4 100644 --- a/src/json_schema.rs +++ b/src/json_schema.rs @@ -1,6 +1,6 @@ use crate::static_map::StaticMap; -pub type PropertyMap<'a> = StaticMap<'a, &'a str, Jss<'a>>; +pub type PropertyMap<'a> = StaticMap<'a, &'a str, &'a Jss<'a>>; #[derive(Debug)] pub struct JssBoolean<'a> { @@ -50,7 +50,6 @@ pub enum Jss<'a> { String(JssString<'a>), Object(JssObject<'a>), Array(JssArray<'a>), - Reference { reference: &'a Jss<'a> }, } pub static DEFAULTBOOL: JssBoolean = JssBoolean { diff --git a/src/main.rs b/src/main.rs index b7918ee1..a831fb1b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,39 +19,39 @@ use hyper::rt::Future; use hyper::service::service_fn_ok; static PARAMETERS1: PropertyMap = propertymap!{ - force => Boolean!{ + force => &Boolean!{ description => "Test for boolean options." }, - text1 => ApiString!{ + text1 => &ApiString!{ description => "A simple text string.", min_length => Some(10), max_length => Some(30) }, - count => Integer!{ + count => &Integer!{ description => "A counter for everything.", minimum => Some(0), maximum => Some(10) }, - myarray1 => Array!{ + myarray1 => &Array!{ description => "Test Array of simple integers.", items => &PVE_VMID }, - myarray2 => Jss::Array(JssArray { + myarray2 => &Jss::Array(JssArray { description: "Test Array of simple integers.", optional: Some(false), items: &Object!{description => "Empty Object."}, }), - myobject => Object!{ + myobject => &Object!{ description => "TEST Object.", properties => &propertymap!{ - vmid => Jss::Reference { reference: &PVE_VMID}, - loop => Integer!{ + vmid => &PVE_VMID, + loop => &Integer!{ description => "Totally useless thing.", optional => Some(false) } } }, - emptyobject => Object!{description => "Empty Object."} + emptyobject => &Object!{description => "Empty Object."} }; @@ -84,7 +84,7 @@ fn test_api_handler(param: Value) -> Result { static TEST_API_METHOD: ApiMethod = ApiMethod { description: "This is a simple test.", properties: &propertymap!{ - force => Boolean!{ + force => &Boolean!{ optional => Some(true), description => "Test for boolean options." }