Slightly abstract away map/set types

This commit is contained in:
Graham Esau 2019-08-08 18:43:15 +01:00
parent 998e6c9f0f
commit 8afce08c54
5 changed files with 10 additions and 12 deletions

View file

@ -135,7 +135,7 @@ fn schema_for_external_tagged_enum(variants: &[Variant], cattrs: &attr::Containe
wrap_schema_fields(quote! {
instance_type: Some(schemars::schema::InstanceType::Object.into()),
properties: {
let mut props = std::collections::BTreeMap::new();
let mut props = schemars::Map::new();
props.insert(#name.to_owned(), #sub_schema);
props
},
@ -198,12 +198,12 @@ fn schema_for_struct(fields: &[Field], cattrs: &attr::Container) -> TokenStream
let schema = wrap_schema_fields(quote! {
instance_type: Some(schemars::schema::InstanceType::Object.into()),
properties: {
let mut props = std::collections::BTreeMap::new();
let mut props = schemars::Map::new();
#(#recurse)*
props
},
required: {
let mut required = std::collections::BTreeSet::new();
let mut required = schemars::Set::new();
#(required.insert(#required.to_owned());)*
required
},