testnumbat_wasm_node/api/
error_api_node.rs

1use crate::{error_hook, AndesApiImpl};
2use testnumbat_wasm::api::{ErrorApi, Handle};
3
4extern "C" {
5    #[cfg(not(feature = "unmanaged-ei"))]
6    fn managedSignalError(messageHandle: i32) -> !;
7}
8
9impl ErrorApi for AndesApiImpl {
10    #[inline(always)]
11    fn signal_error(&self, message: &[u8]) -> ! {
12        error_hook::signal_error(message)
13    }
14
15    #[cfg(feature = "unmanaged-ei")]
16    fn signal_error_from_buffer(&self, message_handle: Handle) -> ! {
17        use testnumbat_wasm::api::ManagedBufferApi;
18        let message = self.mb_to_boxed_bytes(message_handle);
19        self.signal_error(message.as_slice())
20    }
21
22    #[inline(always)]
23    #[cfg(not(feature = "unmanaged-ei"))]
24    fn signal_error_from_buffer(&self, message_handle: Handle) -> ! {
25        unsafe { managedSignalError(message_handle) }
26    }
27}