diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-05-03 01:22:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-02 19:22:57 -0400 |
commit | 8377957666d6ca80d48d6fa78afd3e16bf3f7aa8 (patch) | |
tree | 071564d391846624c18b81cdccf3350c2e73ed13 /runtime/ops/runtime.rs | |
parent | 40961cda583faaba128b555caebf284fd6298bb1 (diff) |
refactor(runtime): use Extensions (#10461)
Diffstat (limited to 'runtime/ops/runtime.rs')
-rw-r--r-- | runtime/ops/runtime.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/runtime/ops/runtime.rs b/runtime/ops/runtime.rs index 7d84fadff..6c9f02784 100644 --- a/runtime/ops/runtime.rs +++ b/runtime/ops/runtime.rs @@ -3,17 +3,20 @@ use crate::permissions::Permissions; use deno_core::error::AnyError; use deno_core::error::Context; +use deno_core::op_sync; +use deno_core::Extension; use deno_core::ModuleSpecifier; use deno_core::OpState; use deno_core::ZeroCopyBuf; -pub fn init(rt: &mut deno_core::JsRuntime, main_module: ModuleSpecifier) { - { - let op_state = rt.op_state(); - let mut state = op_state.borrow_mut(); - state.put::<ModuleSpecifier>(main_module); - } - super::reg_sync(rt, "op_main_module", op_main_module); +pub fn init(main_module: ModuleSpecifier) -> Extension { + Extension::builder() + .ops(vec![("op_main_module", op_sync(op_main_module))]) + .state(move |state| { + state.put::<ModuleSpecifier>(main_module.clone()); + Ok(()) + }) + .build() } fn op_main_module( |