tinychain 0.1.7

A next-gen database + application server
Documentation
use tcgeneric::PathSegment;

use crate::scalar::Scalar;

use super::{Handler, Route};

mod op;
mod value;

impl Route for Scalar {
    fn route<'a>(&'a self, path: &'a [PathSegment]) -> Option<Box<dyn Handler<'a> + 'a>> {
        match self {
            Self::Map(map) => map.route(path),
            Self::Op(op_def) => op_def.route(path),
            Self::Ref(_) => None,
            Self::Value(value) => value.route(path),
            Self::Tuple(tuple) => tuple.route(path),
        }
    }
}