Skip to main content

luaur_require/methods/
runtime_navigation_context_to_alias_override.rs

1use crate::enums::navigate_result::NavigateResult;
2use crate::functions::convert_navigate_result::convert_navigate_result;
3use crate::records::runtime_navigation_context::RuntimeNavigationContext;
4
5impl RuntimeNavigationContext {
6    pub fn to_alias_override(&mut self, alias_unprefixed: &str) -> NavigateResult {
7        if self.config.is_null() {
8            return NavigateResult::NotFound;
9        }
10        let config = unsafe { &*self.config };
11        if config.to_alias_override.is_none() {
12            return NavigateResult::NotFound;
13        }
14        let result = unsafe {
15            (config.to_alias_override.unwrap())(
16                self.l,
17                self.ctx,
18                alias_unprefixed.as_ptr() as *const core::ffi::c_char,
19            )
20        };
21        convert_navigate_result(result as i32)
22    }
23}