diff options
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r-- | runtime/worker.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs index 15f41fe56..23fe8e4c0 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -8,12 +8,12 @@ use crate::permissions::Permissions; use crate::BootstrapOptions; use deno_broadcast_channel::InMemoryBroadcastChannel; use deno_core::error::AnyError; +use deno_core::error::JsError; use deno_core::futures::Future; use deno_core::located_script_name; use deno_core::CompiledWasmModuleStore; use deno_core::Extension; use deno_core::GetErrorClassFn; -use deno_core::JsErrorCreateFn; use deno_core::JsRuntime; use deno_core::LocalInspectorSession; use deno_core::ModuleId; @@ -33,6 +33,8 @@ use std::sync::Arc; use std::task::Context; use std::task::Poll; +pub type FormatJsErrorFn = dyn Fn(&JsError) -> String + Sync + Send; + /// This worker is created and used by almost all /// subcommands in Deno executable. /// @@ -56,8 +58,8 @@ pub struct WorkerOptions { // Callbacks invoked when creating new instance of WebWorker pub create_web_worker_cb: Arc<ops::worker_host::CreateWebWorkerCb>, pub web_worker_preload_module_cb: Arc<ops::worker_host::PreloadModuleCb>, + pub format_js_error_fn: Option<Arc<FormatJsErrorFn>>, pub source_map_getter: Option<Box<dyn SourceMapGetter>>, - pub js_error_create_fn: Option<Rc<JsErrorCreateFn>>, pub maybe_inspector_server: Option<Arc<InspectorServer>>, pub should_break_on_first_statement: bool, pub get_error_class_fn: Option<GetErrorClassFn>, @@ -133,6 +135,7 @@ impl MainWorker { ops::worker_host::init( options.create_web_worker_cb.clone(), options.web_worker_preload_module_cb.clone(), + options.format_js_error_fn.clone(), ), ops::spawn::init(), ops::fs_events::init(), @@ -161,7 +164,6 @@ impl MainWorker { module_loader: Some(options.module_loader.clone()), startup_snapshot: Some(js::deno_isolate_init()), source_map_getter: options.source_map_getter, - js_error_create_fn: options.js_error_create_fn.clone(), get_error_class_fn: options.get_error_class_fn, shared_array_buffer_store: options.shared_array_buffer_store.clone(), compiled_wasm_module_store: options.compiled_wasm_module_store.clone(), @@ -379,8 +381,8 @@ mod tests { unsafely_ignore_certificate_errors: None, root_cert_store: None, seed: None, + format_js_error_fn: None, source_map_getter: None, - js_error_create_fn: None, web_worker_preload_module_cb: Arc::new(|_| unreachable!()), create_web_worker_cb: Arc::new(|_| unreachable!()), maybe_inspector_server: None, |