#[doc(hidden)]
pub mod helper;
#[doc(hidden)]
pub use ::tlua::ffi as lua;
#[doc(hidden)]
pub mod datetime;
#[doc(hidden)]
pub mod decimal;
#[doc(hidden)]
pub mod sql;
#[doc(hidden)]
pub mod tarantool;
#[doc(hidden)]
pub mod uuid;
pub fn has_decimal() -> bool {
true
}
pub fn has_fiber_channel() -> bool {
unsafe {
let name = crate::c_str!("fiber_channel_new");
helper::tnt_internal_symbol::<*const ()>(name).is_some() || helper::has_dyn_symbol(name)
}
}
pub fn has_tuple_field_by_path() -> bool {
let c_str = std::ffi::CStr::from_bytes_with_nul_unchecked;
unsafe {
helper::has_dyn_symbol(c_str(tarantool::TUPLE_FIELD_BY_PATH_NEW_API.as_bytes()))
| helper::has_dyn_symbol(c_str(tarantool::TUPLE_FIELD_BY_PATH_OLD_API.as_bytes()))
}
}
pub fn has_datetime() -> bool {
unsafe { helper::has_dyn_symbol(crate::c_str!("tnt_mp_encode_datetime")) }
}
#[inline]
pub unsafe fn has_fiber_set_ctx() -> bool {
static mut RESULT: Option<bool> = None;
if RESULT.is_none() {
RESULT = Some(helper::has_dyn_symbol(crate::c_str!("fiber_set_ctx")));
}
RESULT.unwrap()
}