From ce4946afc1e7c8bfc3c29fe12cdda6ed767a2548 Mon Sep 17 00:00:00 2001 From: Graham Esau Date: Fri, 26 Mar 2021 22:55:20 +0000 Subject: [PATCH] Remove unnecessary macro usage --- schemars/src/json_schema_impls/url.rs | 33 ++++++++++----------------- schemars/src/lib.rs | 1 + 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/schemars/src/json_schema_impls/url.rs b/schemars/src/json_schema_impls/url.rs index 408146a..ffc5426 100644 --- a/schemars/src/json_schema_impls/url.rs +++ b/schemars/src/json_schema_impls/url.rs @@ -3,28 +3,19 @@ use crate::schema::*; use crate::JsonSchema; use url::Url; -macro_rules! formatted_string_impl { - ($ty:ident, $format:literal) => { - formatted_string_impl!($ty, $format, JsonSchema for $ty); - }; - ($ty:ident, $format:literal, $($desc:tt)+) => { - impl $($desc)+ { - no_ref_schema!(); +impl JsonSchema for Url { + no_ref_schema!(); - fn schema_name() -> String { - stringify!($ty).to_owned() - } + fn schema_name() -> String { + "Url".to_owned() + } - fn json_schema(_: &mut SchemaGenerator) -> Schema { - SchemaObject { - instance_type: Some(InstanceType::String.into()), - format: Some($format.to_owned()), - ..Default::default() - } - .into() - } + fn json_schema(_: &mut SchemaGenerator) -> Schema { + SchemaObject { + instance_type: Some(InstanceType::String.into()), + format: Some("uri".to_owned()), + ..Default::default() } - }; + .into() + } } - -formatted_string_impl!(Url, "uri"); diff --git a/schemars/src/lib.rs b/schemars/src/lib.rs index 16d8d8c..711a2d5 100644 --- a/schemars/src/lib.rs +++ b/schemars/src/lib.rs @@ -269,6 +269,7 @@ Schemars can implement `JsonSchema` on types from several popular crates, enable - [`uuid`](https://crates.io/crates/uuid) (^0.8) - [`smallvec`](https://crates.io/crates/smallvec) (^1.0) - [`arrayvec`](https://crates.io/crates/arrayvec) (^0.5) +- [`url`](https://crates.io/crates/url) (^2.0) */ /// The map type used by schemars types.