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;