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