schemars/json_schema_impls/
mod.rs
1macro_rules! no_ref_schema {
2 () => {
3 fn is_referenceable() -> bool {
4 false
5 }
6 };
7}
8
9macro_rules! forward_impl {
10 (($($impl:tt)+) => $target:ty) => {
11 impl $($impl)+ {
12 fn is_referenceable() -> bool {
13 <$target>::is_referenceable()
14 }
15
16 fn schema_name() -> String {
17 <$target>::schema_name()
18 }
19
20 fn json_schema(gen: &mut SchemaGenerator) -> Schema {
21 <$target>::json_schema(gen)
22 }
23
24 fn _schemars_private_non_optional_json_schema(gen: &mut SchemaGenerator) -> Schema {
25 <$target>::_schemars_private_non_optional_json_schema(gen)
26 }
27
28 fn _schemars_private_is_option() -> bool {
29 <$target>::_schemars_private_is_option()
30 }
31 }
32 };
33 ($ty:ty => $target:ty) => {
34 forward_impl!((JsonSchema for $ty) => $target);
35 };
36}
37
38mod array;
39#[cfg(feature = "arrayvec05")]
40mod arrayvec05;
41#[cfg(feature = "arrayvec07")]
42mod arrayvec07;
43#[cfg(std_atomic)]
44mod atomic;
45#[cfg(feature = "bytes")]
46mod bytes;
47#[cfg(feature = "chrono")]
48mod chrono;
49mod core;
50#[cfg(any(feature = "rust_decimal", feature = "bigdecimal"))]
51mod decimal;
52#[cfg(feature = "either")]
53mod either;
54#[cfg(feature = "enumset")]
55mod enumset;
56mod ffi;
57#[cfg(feature = "indexmap")]
58mod indexmap;
59mod maps;
60mod nonzero_signed;
61mod nonzero_unsigned;
62mod primitives;
63mod sequences;
64mod serdejson;
65#[cfg(feature = "smallvec")]
66mod smallvec;
67mod time;
68mod tuple;
69#[cfg(feature = "url")]
70mod url;
71#[cfg(feature = "uuid08")]
72mod uuid08;
73#[cfg(feature = "uuid1")]
74mod uuid1;
75mod wrapper;