json_utils/schema/
schema_node_from.rs

1use super::*;
2
3macro_rules! valid_node_from {
4    ($e: ident) => {
5        enum_variant_from!(ValidNode, $e, $e);
6    };
7}
8
9macro_rules! schema_node_via_valid_node_from {
10    ($e: ident) => {
11        impl From<$e> for SchemaNode {
12            fn from(inner: $e) -> Self {
13                SchemaNode::ValidNode(inner.into())
14            }
15        }
16    };
17}
18
19impl From<ValidNode> for SchemaNode {
20    fn from(inner: ValidNode) -> Self {
21        SchemaNode::ValidNode(inner)
22    }
23}
24
25valid_node_from!(AnyNode);
26valid_node_from!(NullNode);
27valid_node_from!(BooleanNode);
28valid_node_from!(StringNode);
29valid_node_from!(IntegerNode);
30valid_node_from!(NumberNode);
31valid_node_from!(ArrayNode);
32valid_node_from!(ObjectNode);
33
34schema_node_via_valid_node_from!(AnyNode);
35schema_node_via_valid_node_from!(NullNode);
36schema_node_via_valid_node_from!(BooleanNode);
37schema_node_via_valid_node_from!(StringNode);
38schema_node_via_valid_node_from!(IntegerNode);
39schema_node_via_valid_node_from!(NumberNode);
40schema_node_via_valid_node_from!(ArrayNode);
41schema_node_via_valid_node_from!(ObjectNode);