summaryrefslogtreecommitdiff
path: root/runtime/examples
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-09-29 20:07:50 -0400
committerGitHub <noreply@github.com>2024-09-29 20:07:50 -0400
commit183130ff31d49d4774dc9c6ca1098567b04b1bcf (patch)
treecfc99a308bd0493e72b15a18ee823f6ed915d459 /runtime/examples
parent5faf769ac61b627d14710cdf487de7cd4eb3f9d3 (diff)
refactor: cleanup for creating worker structs (#25933)
Diffstat (limited to 'runtime/examples')
-rw-r--r--runtime/examples/extension/main.rs25
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()
},