use crate::TranslationRegistry;
use crate::{range_builder::RangeBuilder, utils::direct_unary_operator_translation};
use hamelin_lib::func::defs::{UnaryMinus, UnaryPlus, UnaryRangePostfix, UnaryRangePrefix};
pub fn register(registry: &mut TranslationRegistry) {
registry.register::<UnaryMinus>(direct_unary_operator_translation);
registry.register::<UnaryPlus>(direct_unary_operator_translation);
registry.register::<UnaryRangePrefix>(|_, mut bindings| {
let x = bindings.take()?;
let rb = RangeBuilder::default()
.with_end(x.sql, x.typ.to_sql()?)
.build();
Ok(rb)
});
registry.register::<UnaryRangePostfix>(|_, mut bindings| {
let x = bindings.take()?;
let rb = RangeBuilder::default()
.with_begin(x.sql, x.typ.to_sql()?)
.build();
Ok(rb)
});
}