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> { ... }
}schema only.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§
Sourcefn 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.
Sourcefn 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§
Sourcefn 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.
Sourcefn 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§
Source§impl JsonSchema for ()
impl JsonSchema for ()
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§impl JsonSchema for IpAddr
impl JsonSchema for IpAddr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for Ipv4Addr
impl JsonSchema for Ipv4Addr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for Ipv6Addr
impl JsonSchema for Ipv6Addr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§impl JsonSchema for Number
impl JsonSchema for Number
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§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
Source§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
Source§impl JsonSchema for Path
impl JsonSchema for Path
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for PathBuf
impl JsonSchema for PathBuf
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for SocketAddr
impl JsonSchema for SocketAddr
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for SocketAddrV4
impl JsonSchema for SocketAddrV4
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for SocketAddrV6
impl JsonSchema for SocketAddrV6
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for String
impl JsonSchema for String
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§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
Source§impl JsonSchema for Value
impl JsonSchema for Value
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for bool
impl JsonSchema for bool
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§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
Source§impl JsonSchema for f32
impl JsonSchema for f32
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for f64
impl JsonSchema for f64
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for i8
impl JsonSchema for i8
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for i16
impl JsonSchema for i16
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for i32
impl JsonSchema for i32
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for i64
impl JsonSchema for i64
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for i128
impl JsonSchema for i128
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for isize
impl JsonSchema for isize
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for str
impl JsonSchema for str
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for u8
impl JsonSchema for u8
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for u16
impl JsonSchema for u16
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for u32
impl JsonSchema for u32
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for u64
impl JsonSchema for u64
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for u128
impl JsonSchema for u128
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§impl JsonSchema for usize
impl JsonSchema for usize
fn inline_schema() -> bool
fn schema_name() -> Cow<'static, str>
fn json_schema(_: &mut SchemaGenerator) -> Schema
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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
Source§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};
use serde::{Deserialize, Serialize};
#[derive(Serialize, 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(_)));