1#[derive(Debug, Clone, PartialEq, Eq)]
2pub enum RouteKind {
3 Static,
4 Dynamic,
5 CatchAll,
6 Fallback,
7}
8
9#[derive(Debug, Clone, PartialEq, Eq)]
10pub enum ParamKind {
11 Single,
12 CatchAll,
13}
14
15#[derive(Debug, Clone, PartialEq, Eq)]
16pub struct ParamSpec {
17 pub name: String,
18 pub kind: ParamKind,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq)]
22pub struct RouteSpec {
23 pub id: u64,
24 pub path: String,
25 pub kind: RouteKind,
26 pub params: Vec<ParamSpec>,
27 pub source: String,
28}