From 831f026edc5704d76cda15d72f1aff027cc44876 Mon Sep 17 00:00:00 2001 From: zhenfeng-zhu Date: Sat, 17 Dec 2022 12:07:18 +0800 Subject: [PATCH 1/5] feat: add execute_script_with_return function --- runtime/worker.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/runtime/worker.rs b/runtime/worker.rs index b184ac3fa851c..cc81392d01ad0 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -293,6 +293,15 @@ impl MainWorker { Ok(()) } + /// See [JsRuntime::execute_script](deno_core::JsRuntime::execute_script) + pub fn execute_script_with_return( + &mut self, + script_name: &str, + source_code: &str, + ) -> Result, AnyError> { + self.js_runtime.execute_script(script_name, source_code) + } + /// Loads and instantiates specified JavaScript module as "main" module. pub async fn preload_main_module( &mut self, From 576a47c96d9de29cf18250c64de530b862801f85 Mon Sep 17 00:00:00 2001 From: zhenfeng-zhu Date: Sat, 17 Dec 2022 23:29:47 +0800 Subject: [PATCH 2/5] fix: return a value in execute_script instead of adding a new api --- runtime/worker.rs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/runtime/worker.rs b/runtime/worker.rs index cc81392d01ad0..9b7b37429660b 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -288,16 +288,6 @@ impl MainWorker { &mut self, script_name: &str, source_code: &str, - ) -> Result<(), AnyError> { - self.js_runtime.execute_script(script_name, source_code)?; - Ok(()) - } - - /// See [JsRuntime::execute_script](deno_core::JsRuntime::execute_script) - pub fn execute_script_with_return( - &mut self, - script_name: &str, - source_code: &str, ) -> Result, AnyError> { self.js_runtime.execute_script(script_name, source_code) } From 8055bc5d8fb779a7feb75aeb67fb96966e1a3387 Mon Sep 17 00:00:00 2001 From: zhenfeng-zhu Date: Sat, 17 Dec 2022 23:54:02 +0800 Subject: [PATCH 3/5] fix: add v8 dependence and fix tests --- Cargo.lock | 1 + runtime/Cargo.toml | 1 + runtime/worker.rs | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 48972fa8f3c3b..1924b5a881294 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1214,6 +1214,7 @@ dependencies = [ "test_util", "tokio", "uuid", + "v8", "winapi 0.3.9", "winres", ] diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index cc7710dfe7192..cb994c457e320 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -91,6 +91,7 @@ signal-hook-registry = "1.4.0" termcolor = "1.1.3" tokio.workspace = true uuid.workspace = true +v8.workspace = true [target.'cfg(windows)'.dependencies] fwdansi.workspace = true diff --git a/runtime/worker.rs b/runtime/worker.rs index 9b7b37429660b..101a8588c092a 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -430,7 +430,8 @@ impl MainWorker { // it. Instead we're using global `dispatchEvent` function which will // used a saved reference to global scope. "dispatchEvent(new Event('load'))", - ) + )?; + Ok(()) } /// Dispatches "unload" event to the JavaScript runtime. @@ -446,7 +447,8 @@ impl MainWorker { // it. Instead we're using global `dispatchEvent` function which will // used a saved reference to global scope. "dispatchEvent(new Event('unload'))", - ) + )?; + Ok(()) } /// Dispatches "beforeunload" event to the JavaScript runtime. Returns a boolean From 58472c254fcdb95f4505f20004ff04e526079d5f Mon Sep 17 00:00:00 2001 From: zhenfeng-zhu Date: Sun, 18 Dec 2022 14:54:18 +0800 Subject: [PATCH 4/5] fix: use deno_core::v8 --- Cargo.lock | 1 - runtime/Cargo.toml | 1 - runtime/worker.rs | 1 + 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1924b5a881294..48972fa8f3c3b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1214,7 +1214,6 @@ dependencies = [ "test_util", "tokio", "uuid", - "v8", "winapi 0.3.9", "winres", ] diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index cb994c457e320..cc7710dfe7192 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -91,7 +91,6 @@ signal-hook-registry = "1.4.0" termcolor = "1.1.3" tokio.workspace = true uuid.workspace = true -v8.workspace = true [target.'cfg(windows)'.dependencies] fwdansi.workspace = true diff --git a/runtime/worker.rs b/runtime/worker.rs index 101a8588c092a..b9713d804cd1c 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -26,6 +26,7 @@ use deno_core::RuntimeOptions; use deno_core::SharedArrayBufferStore; use deno_core::Snapshot; use deno_core::SourceMapGetter; +use deno_core::v8; use deno_node::RequireNpmResolver; use deno_tls::rustls::RootCertStore; use deno_web::BlobStore; From 1ef3a383ab474a90164022f71f19c7de4314b1fa Mon Sep 17 00:00:00 2001 From: zhenfeng-zhu Date: Sun, 18 Dec 2022 18:13:04 +0800 Subject: [PATCH 5/5] fix: cargo fmt worker.rs --- runtime/worker.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/worker.rs b/runtime/worker.rs index b9713d804cd1c..41da8588b28cc 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -13,6 +13,7 @@ use deno_core::error::AnyError; use deno_core::error::JsError; use deno_core::futures::Future; use deno_core::located_script_name; +use deno_core::v8; use deno_core::CompiledWasmModuleStore; use deno_core::Extension; use deno_core::FsModuleLoader; @@ -26,7 +27,6 @@ use deno_core::RuntimeOptions; use deno_core::SharedArrayBufferStore; use deno_core::Snapshot; use deno_core::SourceMapGetter; -use deno_core::v8; use deno_node::RequireNpmResolver; use deno_tls::rustls::RootCertStore; use deno_web::BlobStore;