summaryrefslogtreecommitdiff
path: root/runtime/ops/os/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ops/os/mod.rs')
-rw-r--r--runtime/ops/os/mod.rs86
1 files changed, 43 insertions, 43 deletions
diff --git a/runtime/ops/os/mod.rs b/runtime/ops/os/mod.rs
index b2c67db5c..87181654b 100644
--- a/runtime/ops/os/mod.rs
+++ b/runtime/ops/os/mod.rs
@@ -8,8 +8,6 @@ use deno_core::error::AnyError;
use deno_core::op;
use deno_core::url::Url;
use deno_core::v8;
-use deno_core::Extension;
-use deno_core::ExtensionBuilder;
use deno_core::OpState;
use deno_node::NODE_ENV_VAR_ALLOWLIST;
use serde::Serialize;
@@ -18,47 +16,49 @@ use std::env;
mod sys_info;
-fn init_ops(builder: &mut ExtensionBuilder) -> &mut ExtensionBuilder {
- builder.ops(vec![
- op_env::decl(),
- op_exec_path::decl(),
- op_exit::decl(),
- op_delete_env::decl(),
- op_get_env::decl(),
- op_gid::decl(),
- op_hostname::decl(),
- op_loadavg::decl(),
- op_network_interfaces::decl(),
- op_os_release::decl(),
- op_os_uptime::decl(),
- op_node_unstable_os_uptime::decl(),
- op_set_env::decl(),
- op_set_exit_code::decl(),
- op_system_memory_info::decl(),
- op_uid::decl(),
- op_runtime_memory_usage::decl(),
- ])
-}
-
-pub fn init(exit_code: ExitCode) -> Extension {
- let mut builder = Extension::builder("deno_os");
- init_ops(&mut builder)
- .state(move |state| {
- state.put::<ExitCode>(exit_code.clone());
- })
- .build()
-}
-
-pub fn init_for_worker() -> Extension {
- let mut builder = Extension::builder("deno_os_worker");
- init_ops(&mut builder)
- .middleware(|op| match op.name {
- "op_exit" => noop_op::decl(),
- "op_set_exit_code" => noop_op::decl(),
- _ => op,
- })
- .build()
-}
+deno_core::ops!(
+ deno_ops,
+ [
+ op_env,
+ op_exec_path,
+ op_exit,
+ op_delete_env,
+ op_get_env,
+ op_gid,
+ op_hostname,
+ op_loadavg,
+ op_network_interfaces,
+ op_os_release,
+ op_os_uptime,
+ op_node_unstable_os_uptime,
+ op_set_env,
+ op_set_exit_code,
+ op_system_memory_info,
+ op_uid,
+ op_runtime_memory_usage,
+ ]
+);
+
+deno_core::extension!(
+ deno_os,
+ ops_fn = deno_ops,
+ config = {
+ exit_code: ExitCode,
+ },
+ state = |state, exit_code| {
+ state.put::<ExitCode>(exit_code);
+ },
+);
+
+deno_core::extension!(
+ deno_os_worker,
+ ops_fn = deno_ops,
+ middleware = |op| match op.name {
+ "op_exit" => noop_op::decl(),
+ "op_set_exit_code" => noop_op::decl(),
+ _ => op,
+ },
+);
#[op]
fn noop_op() -> Result<(), AnyError> {