use crate::TranslationRegistry;
use hamelin_lib::{
func::defs::{GetArray, GetMap},
sql::expression::IndexLookup,
};
pub fn register(registry: &mut TranslationRegistry) {
registry.register::<GetArray>(|_, mut bindings| {
let array = bindings.take_by_name("array")?;
let index = bindings.take_by_name("index")?;
Ok(IndexLookup::new(array.sql, index.sql).into())
});
registry.register::<GetMap>(|_, mut bindings| {
let map = bindings.take_by_name("map")?;
let key = bindings.take_by_name("key")?;
Ok(IndexLookup::new(map.sql, key.sql).into())
});
}