summaryrefslogtreecommitdiff
path: root/cli/ops/runtime_compiler.rs
diff options
context:
space:
mode:
authorLeo K <crowlkats@toaxl.com>2021-10-05 22:38:27 +0200
committerGitHub <noreply@github.com>2021-10-05 22:38:27 +0200
commit77a00ce1fb4ae2523e22b9b84ae09a0200502e38 (patch)
tree0027a2ff3dbff1e2b0c3afa7ce0f0e54805c7d62 /cli/ops/runtime_compiler.rs
parentd67e85850688117e116bbf7054e80f30fe07afe6 (diff)
chore: various op cleanup (#12329)
Diffstat (limited to 'cli/ops/runtime_compiler.rs')
-rw-r--r--cli/ops/runtime_compiler.rs29
1 files changed, 18 insertions, 11 deletions
diff --git a/cli/ops/runtime_compiler.rs b/cli/ops/runtime_compiler.rs
index e77f4d1e7..d63d97f58 100644
--- a/cli/ops/runtime_compiler.rs
+++ b/cli/ops/runtime_compiler.rs
@@ -14,13 +14,12 @@ use deno_core::error::AnyError;
use deno_core::error::Context;
use deno_core::parking_lot::Mutex;
use deno_core::resolve_url_or_path;
-use deno_core::serde_json;
-use deno_core::serde_json::json;
use deno_core::serde_json::Value;
use deno_core::OpState;
use deno_runtime::permissions::Permissions;
use import_map::ImportMap;
use serde::Deserialize;
+use serde::Serialize;
use std::cell::RefCell;
use std::collections::HashMap;
use std::rc::Rc;
@@ -50,13 +49,21 @@ struct EmitArgs {
sources: Option<HashMap<String, Arc<String>>>,
}
+#[derive(Serialize)]
+#[serde(rename_all = "camelCase")]
+struct EmitResult {
+ diagnostics: crate::diagnostics::Diagnostics,
+ files: HashMap<String, String>,
+ ignored_options: Option<crate::config_file::IgnoredCompilerOptions>,
+ stats: crate::module_graph::Stats,
+}
+
async fn op_emit(
state: Rc<RefCell<OpState>>,
- args: Value,
+ args: EmitArgs,
_: (),
-) -> Result<Value, AnyError> {
+) -> Result<EmitResult, AnyError> {
deno_runtime::ops::check_unstable2(&state, "Deno.emit");
- let args: EmitArgs = serde_json::from_value(args)?;
let root_specifier = args.root_specifier;
let ps = state.borrow().borrow::<ProcState>().clone();
let mut runtime_permissions = {
@@ -127,10 +134,10 @@ async fn op_emit(
})?;
result_info.diagnostics.extend_graph_errors(graph_errors);
- Ok(json!({
- "diagnostics": result_info.diagnostics,
- "files": files,
- "ignoredOptions": result_info.maybe_ignored_options,
- "stats": result_info.stats,
- }))
+ Ok(EmitResult {
+ diagnostics: result_info.diagnostics,
+ files,
+ ignored_options: result_info.maybe_ignored_options,
+ stats: result_info.stats,
+ })
}