From 212349e74c979e0161a1b749edc7aa14241ee546 Mon Sep 17 00:00:00 2001 From: F001 Date: Thu, 15 Dec 2022 13:45:29 +0800 Subject: [PATCH 1/3] add "run_script" for "Env" --- crates/napi/src/env.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/napi/src/env.rs b/crates/napi/src/env.rs index 20849d7758..748c07d9b2 100644 --- a/crates/napi/src/env.rs +++ b/crates/napi/src/env.rs @@ -1020,6 +1020,13 @@ impl Env { check_status!(unsafe { sys::napi_close_handle_scope(self.0, handle_scope) })?; result } + + pub fn run_script(&self, script: &str)->Result { + let s = self.create_string(script)?; + let mut raw_value = ptr::null_mut(); + check_status!(unsafe { sys::napi_run_script(self.0, s.raw(), &mut raw_value) })?; + Ok(unsafe { JsObject::from_raw_unchecked(self.0, raw_value) }) + } pub fn get_napi_version(&self) -> Result { let global = self.get_global()?; From c275aed46d08f63f9587c19d76122233f56573fc Mon Sep 17 00:00:00 2001 From: F001 Date: Fri, 16 Dec 2022 12:16:29 +0800 Subject: [PATCH 2/3] Apply suggestions from code review use `AsRef` instead of `&str` Co-authored-by: LongYinan --- crates/napi/src/env.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/napi/src/env.rs b/crates/napi/src/env.rs index 748c07d9b2..180d80b9ce 100644 --- a/crates/napi/src/env.rs +++ b/crates/napi/src/env.rs @@ -1021,7 +1021,7 @@ impl Env { result } - pub fn run_script(&self, script: &str)->Result { + pub fn run_script>(&self, script: S)->Result { let s = self.create_string(script)?; let mut raw_value = ptr::null_mut(); check_status!(unsafe { sys::napi_run_script(self.0, s.raw(), &mut raw_value) })?; From ce57e5ae54446650de1f516c7fcfcf2a276bb952 Mon Sep 17 00:00:00 2001 From: F001 Date: Fri, 16 Dec 2022 12:20:45 +0800 Subject: [PATCH 3/3] use `AsRef` instead of `&str` --- crates/napi/src/env.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/napi/src/env.rs b/crates/napi/src/env.rs index 180d80b9ce..8b8568fc53 100644 --- a/crates/napi/src/env.rs +++ b/crates/napi/src/env.rs @@ -1022,7 +1022,7 @@ impl Env { } pub fn run_script>(&self, script: S)->Result { - let s = self.create_string(script)?; + let s = self.create_string(script.as_ref())?; let mut raw_value = ptr::null_mut(); check_status!(unsafe { sys::napi_run_script(self.0, s.raw(), &mut raw_value) })?; Ok(unsafe { JsObject::from_raw_unchecked(self.0, raw_value) })