diff options
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( |