testnumbat_wasm_node/api/
error_api_node.rs1use 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}