use ahash::AHashMap;
#[derive(Debug, Clone, Eq, PartialEq)]
pub struct MethodData<T> {
pub data: T,
pub params_map: Option<Vec<ParamEntry>>,
}
impl<T: Clone> MethodData<T> {
pub fn new(data: T, params_map: Option<Vec<ParamEntry>>) -> Self {
Self { data, params_map }
}
}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub enum ParamEntry {
Index(usize, String, bool),
Wildcard(usize, String, bool),
}
#[derive(Debug, Clone, Eq, PartialEq)]
pub struct MatchedRoute<T: Eq> {
pub data: T,
pub params: Option<AHashMap<String, String>>,
}