diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-09-29 20:07:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-29 20:07:50 -0400 |
commit | 183130ff31d49d4774dc9c6ca1098567b04b1bcf (patch) | |
tree | cfc99a308bd0493e72b15a18ee823f6ed915d459 /runtime/examples | |
parent | 5faf769ac61b627d14710cdf487de7cd4eb3f9d3 (diff) |
refactor: cleanup for creating worker structs (#25933)
Diffstat (limited to 'runtime/examples')
-rw-r--r-- | runtime/examples/extension/main.rs | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/runtime/examples/extension/main.rs b/runtime/examples/extension/main.rs index 6f4f02508..71fbdfd6a 100644 --- a/runtime/examples/extension/main.rs +++ b/runtime/examples/extension/main.rs @@ -16,6 +16,7 @@ use deno_runtime::deno_permissions::PermissionsContainer; use deno_runtime::permissions::RuntimePermissionDescriptorParser; use deno_runtime::worker::MainWorker; use deno_runtime::worker::WorkerOptions; +use deno_runtime::worker::WorkerServiceOptions; #[op2(fast)] fn op_hello(#[string] text: &str) { @@ -35,13 +36,29 @@ async fn main() -> Result<(), AnyError> { Path::new(env!("CARGO_MANIFEST_DIR")).join("examples/extension/main.js"); let main_module = ModuleSpecifier::from_file_path(js_path).unwrap(); eprintln!("Running {main_module}..."); + let fs = Arc::new(RealFs); + let permission_desc_parser = + Arc::new(RuntimePermissionDescriptorParser::new(fs.clone())); let mut worker = MainWorker::bootstrap_from_options( main_module.clone(), - PermissionsContainer::allow_all(Arc::new( - RuntimePermissionDescriptorParser::new(Arc::new(RealFs)), - )), - WorkerOptions { + WorkerServiceOptions { module_loader: Rc::new(FsModuleLoader), + permissions: PermissionsContainer::allow_all( + permission_desc_parser.clone(), + ), + blob_store: Default::default(), + broadcast_channel: Default::default(), + feature_checker: Default::default(), + node_services: Default::default(), + npm_process_state_provider: Default::default(), + permission_desc_parser, + root_cert_store_provider: Default::default(), + shared_array_buffer_store: Default::default(), + compiled_wasm_module_store: Default::default(), + v8_code_cache: Default::default(), + fs, + }, + WorkerOptions { extensions: vec![hello_runtime::init_ops_and_esm()], ..Default::default() }, |