Set format
property on integers
This commit is contained in:
parent
a236d7aee0
commit
6cf9343657
10 changed files with 52 additions and 32 deletions
|
@ -5,6 +5,12 @@ use serde_json::json;
|
|||
|
||||
macro_rules! simple_impl {
|
||||
($type:tt => $instance_type:ident) => {
|
||||
simple_impl!($type => $instance_type, None);
|
||||
};
|
||||
($type:tt => $instance_type:ident, $format: literal) => {
|
||||
simple_impl!($type => $instance_type, Some($format.to_owned()));
|
||||
};
|
||||
($type:tt => $instance_type:ident, $($format:tt)+) => {
|
||||
impl JsonSchema for $type {
|
||||
no_ref_schema!();
|
||||
|
||||
|
@ -15,6 +21,7 @@ macro_rules! simple_impl {
|
|||
fn json_schema(_: &mut SchemaGenerator) -> Result {
|
||||
Ok(SchemaObject {
|
||||
instance_type: Some(InstanceType::$instance_type.into()),
|
||||
format: $($format)+,
|
||||
..Default::default()
|
||||
}
|
||||
.into())
|
||||
|
@ -26,20 +33,20 @@ macro_rules! simple_impl {
|
|||
simple_impl!(str => String);
|
||||
simple_impl!(String => String);
|
||||
simple_impl!(bool => Boolean);
|
||||
simple_impl!(f32 => Number);
|
||||
simple_impl!(f64 => Number);
|
||||
simple_impl!(i8 => Integer);
|
||||
simple_impl!(i16 => Integer);
|
||||
simple_impl!(i32 => Integer);
|
||||
simple_impl!(i64 => Integer);
|
||||
simple_impl!(i128 => Integer);
|
||||
simple_impl!(isize => Integer);
|
||||
simple_impl!(u8 => Integer);
|
||||
simple_impl!(u16 => Integer);
|
||||
simple_impl!(u32 => Integer);
|
||||
simple_impl!(u64 => Integer);
|
||||
simple_impl!(u128 => Integer);
|
||||
simple_impl!(usize => Integer);
|
||||
simple_impl!(f32 => Number, "float");
|
||||
simple_impl!(f64 => Number, "double");
|
||||
simple_impl!(i8 => Integer, "int8");
|
||||
simple_impl!(i16 => Integer, "int16");
|
||||
simple_impl!(i32 => Integer, "int32");
|
||||
simple_impl!(i64 => Integer, "int64");
|
||||
simple_impl!(i128 => Integer, "int128");
|
||||
simple_impl!(isize => Integer, "int");
|
||||
simple_impl!(u8 => Integer, "uint8");
|
||||
simple_impl!(u16 => Integer, "uint16");
|
||||
simple_impl!(u32 => Integer, "uint32");
|
||||
simple_impl!(u64 => Integer, "uint64");
|
||||
simple_impl!(u128 => Integer, "uint128");
|
||||
simple_impl!(usize => Integer, "uint");
|
||||
simple_impl!(() => Null);
|
||||
|
||||
impl JsonSchema for char {
|
||||
|
|
|
@ -32,7 +32,8 @@
|
|||
"type": "boolean"
|
||||
},
|
||||
"foo": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
@ -52,7 +53,8 @@
|
|||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
|
|
|
@ -36,17 +36,18 @@
|
|||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"bar": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"foo": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"typeProperty": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Struct"
|
||||
]
|
||||
},
|
||||
"bar": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"foo": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
"type": "boolean"
|
||||
},
|
||||
"foo": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
@ -30,7 +31,8 @@
|
|||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
|
|
|
@ -4,13 +4,16 @@
|
|||
"type": "object",
|
||||
"properties": {
|
||||
"camelCase": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"new_name_1": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"new_name_2": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
"$ref": "#/definitions/another-new-name"
|
||||
},
|
||||
"t": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"u": {
|
||||
"type": "null"
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
"$ref": "#/definitions/MySimpleStruct"
|
||||
},
|
||||
"t": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"u": {
|
||||
"type": "null"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Newtype",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
|
@ -7,7 +7,8 @@
|
|||
"type": "boolean"
|
||||
},
|
||||
"foo": {
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue