Trait JsonSchema
pub trait JsonSchema {
// Required methods
fn schema_name() -> Cow<'static, str>;
fn json_schema(generator: &mut SchemaGenerator) -> Schema;
// Provided methods
fn inline_schema() -> bool { ... }
fn schema_id() -> Cow<'static, str> { ... }
}Expand description
Re-export of the schemars derive macro and trait. Deriving
JsonSchema on your Rust type is what makes
schema_for / schema_for_yaml produce a schema for it.
§Downstream Cargo.toml
The proc-macro that powers #[derive(JsonSchema)] expands to
code that references ::schemars::... paths in the call
site’s dep graph. That means downstream crates that derive
JsonSchema must add schemars to their own
Cargo.toml alongside noyalib:
[dependencies]
noyalib = { version = "0.0.7", features = ["schema"] }
schemars = "1.2"(Same precedent as serde::Deserialize — derive macros that
re-export through a wrapper crate cannot rewrite the
generated paths without an explicit
#[schemars(crate = "...")] attribute on every type.)
§Examples
use noyalib::JsonSchema;
#[derive(JsonSchema)]
struct Cfg { port: u16 }A type which can be described as a JSON Schema document.
This is implemented for many Rust primitive and standard library types.
This can also be automatically derived on most custom types with #[derive(JsonSchema)] by
enabling the derive feature flag (which is enabled by default).
For more info on deriving JsonSchema, see the derive macro documentation.
§Examples
Deriving an implementation:
use schemars::{schema_for, JsonSchema};
#[derive(JsonSchema)]
struct MyStruct {
foo: i32,
}
let my_schema = schema_for!(MyStruct);When manually implementing JsonSchema, as well as determining an appropriate schema,
you will need to determine an appropriate name and ID for the type.
For non-generic types, the type name/path are suitable for this:
use schemars::{SchemaGenerator, Schema, JsonSchema, json_schema};
use std::borrow::Cow;
struct NonGenericType;
impl JsonSchema for NonGenericType {
fn schema_name() -> Cow<'static, str> {
// Exclude the module path to make the name in generated schemas clearer.
"NonGenericType".into()
}
fn schema_id() -> Cow<'static, str> {
// Include the module, in case a type with the same name is in another module/crate
concat!(module_path!(), "::NonGenericType").into()
}
fn json_schema(_gen: &mut SchemaGenerator) -> Schema {
json_schema!({
"foo": "bar"
})
}
}
assert_eq!(NonGenericType::schema_id(), <&mut NonGenericType>::schema_id());But generic type parameters which may affect the generated schema should typically be included in the name/ID:
use schemars::{SchemaGenerator, Schema, JsonSchema, json_schema};
use std::{borrow::Cow, marker::PhantomData};
struct GenericType<T>(PhantomData<T>);
impl<T: JsonSchema> JsonSchema for GenericType<T> {
fn schema_name() -> Cow<'static, str> {
format!("GenericType_{}", T::schema_name()).into()
}
fn schema_id() -> Cow<'static, str> {
format!(
"{}::GenericType<{}>",
module_path!(),
T::schema_id()
).into()
}
fn json_schema(_gen: &mut SchemaGenerator) -> Schema {
json_schema!({
"foo": "bar"
})
}
}
assert_eq!(<GenericType<i32>>::schema_id(), <&mut GenericType<&i32>>::schema_id());Required Methods§
fn schema_name() -> Cow<'static, str>
fn schema_name() -> Cow<'static, str>
The name of the generated JSON Schema.
This is used as the title for root schemas, and the key within the root’s definitions
property for subschemas.
fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type.
If the returned schema depends on any non-inlined
schemas, then this method will add them to the [SchemaGenerator]’s schema definitions.
This should not return a $ref schema.
Provided Methods§
fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the $ref keyword.
For trivial types (such as primitives), this should return true. For more complex types,
it should return false. For recursive types, this must return false to prevent
infinite cycles when generating schemas.
By default, this returns false.
fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type.
This does not have to be a human-readable string, and the value will not itself be included
in generated schemas. If two types produce different schemas, then they must have
different schema_id()s, but two types that produce identical schemas should ideally
have the same schema_id().
The default implementation returns the same value as
schema_name().
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
§impl JsonSchema for ()
impl JsonSchema for ()
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<bool>
impl JsonSchema for Atomic<bool>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<i8>
impl JsonSchema for Atomic<i8>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<i16>
impl JsonSchema for Atomic<i16>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<i32>
impl JsonSchema for Atomic<i32>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<i64>
impl JsonSchema for Atomic<i64>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<isize>
impl JsonSchema for Atomic<isize>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<u8>
impl JsonSchema for Atomic<u8>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<u16>
impl JsonSchema for Atomic<u16>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<u32>
impl JsonSchema for Atomic<u32>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<u64>
impl JsonSchema for Atomic<u64>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Atomic<usize>
impl JsonSchema for Atomic<usize>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for CStr
impl JsonSchema for CStr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for CString
impl JsonSchema for CString
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Duration
impl JsonSchema for Duration
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for IpAddr
impl JsonSchema for IpAddr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Ipv4Addr
impl JsonSchema for Ipv4Addr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Ipv6Addr
impl JsonSchema for Ipv6Addr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Map<String, Value>
impl JsonSchema for Map<String, Value>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<i8>
impl JsonSchema for NonZero<i8>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<i16>
impl JsonSchema for NonZero<i16>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<i32>
impl JsonSchema for NonZero<i32>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<i64>
impl JsonSchema for NonZero<i64>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<i128>
impl JsonSchema for NonZero<i128>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<isize>
impl JsonSchema for NonZero<isize>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<u8>
impl JsonSchema for NonZero<u8>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<u16>
impl JsonSchema for NonZero<u16>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<u32>
impl JsonSchema for NonZero<u32>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<u64>
impl JsonSchema for NonZero<u64>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<u128>
impl JsonSchema for NonZero<u128>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for NonZero<usize>
impl JsonSchema for NonZero<usize>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Number
impl JsonSchema for Number
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for OsStr
impl JsonSchema for OsStr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for OsString
impl JsonSchema for OsString
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Path
impl JsonSchema for Path
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for PathBuf
impl JsonSchema for PathBuf
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for SocketAddr
impl JsonSchema for SocketAddr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for SocketAddrV4
impl JsonSchema for SocketAddrV4
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for SocketAddrV6
impl JsonSchema for SocketAddrV6
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for String
impl JsonSchema for String
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for SystemTime
Available on crate feature std only.
impl JsonSchema for SystemTime
std only.fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl JsonSchema for Value
impl JsonSchema for Value
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for bool
impl JsonSchema for bool
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for char
impl JsonSchema for char
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for f32
impl JsonSchema for f32
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for f64
impl JsonSchema for f64
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for i8
impl JsonSchema for i8
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for i16
impl JsonSchema for i16
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for i32
impl JsonSchema for i32
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for i64
impl JsonSchema for i64
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for i128
impl JsonSchema for i128
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for isize
impl JsonSchema for isize
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for str
impl JsonSchema for str
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for u8
impl JsonSchema for u8
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for u16
impl JsonSchema for u16
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for u32
impl JsonSchema for u32
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for u64
impl JsonSchema for u64
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for u128
impl JsonSchema for u128
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl JsonSchema for usize
impl JsonSchema for usize
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl<'a, T> JsonSchema for &'a Twhere
T: JsonSchema + ?Sized,
impl<'a, T> JsonSchema for &'a Twhere
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<'a, T> JsonSchema for &'a mut Twhere
T: JsonSchema + ?Sized,
impl<'a, T> JsonSchema for &'a mut Twhere
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<'a, T> JsonSchema for Cow<'a, T>
impl<'a, T> JsonSchema for Cow<'a, T>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<'a> JsonSchema for Arguments<'a>
impl<'a> JsonSchema for Arguments<'a>
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<K, V, H> JsonSchema for HashMap<K, V, H>where
K: JsonSchema,
V: JsonSchema,
impl<K, V, H> JsonSchema for HashMap<K, V, H>where
K: JsonSchema,
V: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<K, V> JsonSchema for BTreeMap<K, V>where
K: JsonSchema,
V: JsonSchema,
impl<K, V> JsonSchema for BTreeMap<K, V>where
K: JsonSchema,
V: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
T13: JsonSchema,
T14: JsonSchema,
T15: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
T13: JsonSchema,
T14: JsonSchema,
T15: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
T13: JsonSchema,
T14: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
T13: JsonSchema,
T14: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
T13: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
T13: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
T12: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
T11: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
T10: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
T9: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
T8: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6, T7> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6, T7> JsonSchema for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
T7: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5, T6> JsonSchema for (T0, T1, T2, T3, T4, T5, T6)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
impl<T0, T1, T2, T3, T4, T5, T6> JsonSchema for (T0, T1, T2, T3, T4, T5, T6)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
T6: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4, T5> JsonSchema for (T0, T1, T2, T3, T4, T5)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
impl<T0, T1, T2, T3, T4, T5> JsonSchema for (T0, T1, T2, T3, T4, T5)where
T0: JsonSchema,
T1: JsonSchema,
T2: JsonSchema,
T3: JsonSchema,
T4: JsonSchema,
T5: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3, T4> JsonSchema for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4> JsonSchema for (T0, T1, T2, T3, T4)
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2, T3> JsonSchema for (T0, T1, T2, T3)
impl<T0, T1, T2, T3> JsonSchema for (T0, T1, T2, T3)
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1, T2> JsonSchema for (T0, T1, T2)
impl<T0, T1, T2> JsonSchema for (T0, T1, T2)
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0, T1> JsonSchema for (T0, T1)where
T0: JsonSchema,
T1: JsonSchema,
impl<T0, T1> JsonSchema for (T0, T1)where
T0: JsonSchema,
T1: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T0> JsonSchema for (T0,)where
T0: JsonSchema,
impl<T0> JsonSchema for (T0,)where
T0: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T, E> JsonSchema for Result<T, E>where
T: JsonSchema,
E: JsonSchema,
impl<T, E> JsonSchema for Result<T, E>where
T: JsonSchema,
E: JsonSchema,
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T, H> JsonSchema for HashSet<T, H>where
T: JsonSchema,
impl<T, H> JsonSchema for HashSet<T, H>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Arc<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Arc<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for BTreeSet<T>where
T: JsonSchema,
impl<T> JsonSchema for BTreeSet<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for BinaryHeap<T>where
T: JsonSchema,
impl<T> JsonSchema for BinaryHeap<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Bound<T>where
T: JsonSchema,
impl<T> JsonSchema for Bound<T>where
T: JsonSchema,
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Box<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Box<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Cell<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Cell<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for LinkedList<T>where
T: JsonSchema,
impl<T> JsonSchema for LinkedList<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Mutex<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Mutex<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Option<T>where
T: JsonSchema,
impl<T> JsonSchema for Option<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for PhantomData<T>where
T: ?Sized,
impl<T> JsonSchema for PhantomData<T>where
T: ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Range<T>where
T: JsonSchema,
impl<T> JsonSchema for Range<T>where
T: JsonSchema,
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for RangeInclusive<T>where
T: JsonSchema,
impl<T> JsonSchema for RangeInclusive<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Rc<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Rc<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for RefCell<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for RefCell<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Reverse<T>where
T: JsonSchema,
impl<T> JsonSchema for Reverse<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for RwLock<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for RwLock<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Vec<T>where
T: JsonSchema,
impl<T> JsonSchema for Vec<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for VecDeque<T>where
T: JsonSchema,
impl<T> JsonSchema for VecDeque<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Weak<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Weak<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Weak<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Weak<T>where
T: JsonSchema + ?Sized,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for Wrapping<T>where
T: JsonSchema,
impl<T> JsonSchema for Wrapping<T>where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 0]
impl<T> JsonSchema for [T; 0]
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 1]where
T: JsonSchema,
impl<T> JsonSchema for [T; 1]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 2]where
T: JsonSchema,
impl<T> JsonSchema for [T; 2]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 3]where
T: JsonSchema,
impl<T> JsonSchema for [T; 3]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 4]where
T: JsonSchema,
impl<T> JsonSchema for [T; 4]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 5]where
T: JsonSchema,
impl<T> JsonSchema for [T; 5]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 6]where
T: JsonSchema,
impl<T> JsonSchema for [T; 6]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 7]where
T: JsonSchema,
impl<T> JsonSchema for [T; 7]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 8]where
T: JsonSchema,
impl<T> JsonSchema for [T; 8]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 9]where
T: JsonSchema,
impl<T> JsonSchema for [T; 9]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 10]where
T: JsonSchema,
impl<T> JsonSchema for [T; 10]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 11]where
T: JsonSchema,
impl<T> JsonSchema for [T; 11]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 12]where
T: JsonSchema,
impl<T> JsonSchema for [T; 12]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 13]where
T: JsonSchema,
impl<T> JsonSchema for [T; 13]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 14]where
T: JsonSchema,
impl<T> JsonSchema for [T; 14]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 15]where
T: JsonSchema,
impl<T> JsonSchema for [T; 15]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 16]where
T: JsonSchema,
impl<T> JsonSchema for [T; 16]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 17]where
T: JsonSchema,
impl<T> JsonSchema for [T; 17]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 18]where
T: JsonSchema,
impl<T> JsonSchema for [T; 18]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 19]where
T: JsonSchema,
impl<T> JsonSchema for [T; 19]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 20]where
T: JsonSchema,
impl<T> JsonSchema for [T; 20]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 21]where
T: JsonSchema,
impl<T> JsonSchema for [T; 21]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 22]where
T: JsonSchema,
impl<T> JsonSchema for [T; 22]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 23]where
T: JsonSchema,
impl<T> JsonSchema for [T; 23]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 24]where
T: JsonSchema,
impl<T> JsonSchema for [T; 24]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 25]where
T: JsonSchema,
impl<T> JsonSchema for [T; 25]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 26]where
T: JsonSchema,
impl<T> JsonSchema for [T; 26]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 27]where
T: JsonSchema,
impl<T> JsonSchema for [T; 27]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 28]where
T: JsonSchema,
impl<T> JsonSchema for [T; 28]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 29]where
T: JsonSchema,
impl<T> JsonSchema for [T; 29]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 30]where
T: JsonSchema,
impl<T> JsonSchema for [T; 30]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 31]where
T: JsonSchema,
impl<T> JsonSchema for [T; 31]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T; 32]where
T: JsonSchema,
impl<T> JsonSchema for [T; 32]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§impl<T> JsonSchema for [T]where
T: JsonSchema,
impl<T> JsonSchema for [T]where
T: JsonSchema,
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Implementors§
impl JsonSchema for Schema
impl JsonSchema for noyalib::Value
JsonSchema for crate::Value — the dynamic value tree
admits any JSON-expressible shape, so the schema we emit is
the JSON Schema 2020-12 idiom for “any value”: {"oneOf": [...]} enumerating null, boolean, number, string, array,
and object. Object values use a recursive additionalProperties
reference so deeply-nested Value payloads typecheck without
a depth bound.
This impl lets users derive JsonSchema on a struct that
has a noyalib::Value field — e.g. when the field’s type is
“any user-supplied YAML scalar / mapping / sequence” and the
caller still wants a published schema for the surrounding
shape.
§Examples
use noyalib::{schema_for, JsonSchema, Value};
#[derive(serde::Serialize, serde::Deserialize, JsonSchema)]
struct Envelope {
id: String,
payload: Value,
}
let schema = schema_for::<Envelope>().unwrap();
// The `payload` field is described by the `Value` schema —
// a oneOf union covering every JSON-expressible shape.
assert_eq!(schema["type"].as_str(), Some("object"));
assert!(matches!(schema["properties"]["payload"], Value::Mapping(_)));