json-utils 0.3.5

An utility crate for working with JSON and JSON-schemas
Documentation
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);