1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
use crate::{conversion::BorrowFromGValue, GremlinError, List, Map};

pub fn unwrap_map<'a, T>(map: &'a Map, key: &str, index: usize) -> Result<&'a T, GremlinError>
where
    T: BorrowFromGValue,
{
    match key {
        "id" | "label" => map[key].get::<T>(),
        _ => map[key].get::<List>().unwrap()[index].get::<T>(),
    }
}