diff options
Diffstat (limited to 'test_napi/src')
-rw-r--r-- | test_napi/src/lib.rs | 3 | ||||
-rw-r--r-- | test_napi/src/mem.rs | 34 |
2 files changed, 37 insertions, 0 deletions
diff --git a/test_napi/src/lib.rs b/test_napi/src/lib.rs index 78a8248dc..71258ee7f 100644 --- a/test_napi/src/lib.rs +++ b/test_napi/src/lib.rs @@ -13,6 +13,7 @@ pub mod callback; pub mod coerce; pub mod date; pub mod error; +pub mod mem; pub mod numbers; pub mod object_wrap; pub mod primitives; @@ -152,6 +153,8 @@ unsafe extern "C" fn napi_register_module_v1( r#async::init(env, exports); date::init(env, exports); tsfn::init(env, exports); + mem::init(env, exports); + init_cleanup_hook(env, exports); exports diff --git a/test_napi/src/mem.rs b/test_napi/src/mem.rs new file mode 100644 index 000000000..dde4418cb --- /dev/null +++ b/test_napi/src/mem.rs @@ -0,0 +1,34 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +use crate::assert_napi_ok; +use crate::napi_new_property; +use napi_sys::*; +use std::ptr; + +extern "C" fn adjust_external_memory( + env: napi_env, + _: napi_callback_info, +) -> napi_value { + let mut adjusted_value = 0; + + assert_napi_ok!(napi_adjust_external_memory(env, 1024, &mut adjusted_value)); + + let mut result = ptr::null_mut(); + assert_napi_ok!(napi_create_int64(env, adjusted_value, &mut result)); + result +} + +pub fn init(env: napi_env, exports: napi_value) { + let properties = &[napi_new_property!( + env, + "adjust_external_memory", + adjust_external_memory + )]; + + assert_napi_ok!(napi_define_properties( + env, + exports, + properties.len(), + properties.as_ptr() + )); +} |