summaryrefslogtreecommitdiff
path: root/cli/ops/mod.rs
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2021-12-29 14:30:08 +0100
committerGitHub <noreply@github.com>2021-12-29 14:30:08 +0100
commit42081994902bab89e24c5f7cd9adf12a158ed5f5 (patch)
treec12facbabb6973063ebe4877fcdea574d96ce5a7 /cli/ops/mod.rs
parent6d017d42aaa5a04002af4c224dc8c3997e39293a (diff)
cleanup(cli): use op Extensions (#13223)
Enabling op-middleware for overrides in lieu of imperative .replace_op() etc... Impacts #13219, #12938, #13122
Diffstat (limited to 'cli/ops/mod.rs')
-rw-r--r--cli/ops/mod.rs28
1 files changed, 25 insertions, 3 deletions
diff --git a/cli/ops/mod.rs b/cli/ops/mod.rs
index a3df77fac..3584bdbef 100644
--- a/cli/ops/mod.rs
+++ b/cli/ops/mod.rs
@@ -1,7 +1,29 @@
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-pub mod errors;
-pub mod runtime_compiler;
+use crate::proc_state::ProcState;
+use deno_core::Extension;
+
+mod errors;
+mod runtime_compiler;
pub mod testing;
-pub use deno_runtime::ops::{reg_async, reg_sync};
+pub fn cli_exts(ps: ProcState, enable_compiler: bool) -> Vec<Extension> {
+ if enable_compiler {
+ vec![
+ init_proc_state(ps),
+ errors::init(),
+ runtime_compiler::init(),
+ ]
+ } else {
+ vec![init_proc_state(ps), errors::init()]
+ }
+}
+
+fn init_proc_state(ps: ProcState) -> Extension {
+ Extension::builder()
+ .state(move |state| {
+ state.put(ps.clone());
+ Ok(())
+ })
+ .build()
+}