wasm_rust_utils/utils/mod.rs
1use std::ffi::{CString, CStr};
2use std::os::raw::{c_char};
3
4pub type JsString = *mut c_char;
5
6pub fn js_string_output<T: Into<Vec<u8>>>(t: T) -> JsString {
7 let c_string = CString::new(t).unwrap();
8 c_string.into_raw()
9}
10
11pub fn js_string_input(ptr: JsString) -> String {
12 let s: String;
13
14 unsafe {
15 let cstr = CStr::from_ptr(ptr);
16 let tmp: &str = cstr.to_str().unwrap();
17 s = tmp.to_owned();
18 };
19
20 s
21}