diff options
Diffstat (limited to 'cli/ops/runtime_compiler.rs')
-rw-r--r-- | cli/ops/runtime_compiler.rs | 29 |
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, + }) } |