From 77a00ce1fb4ae2523e22b9b84ae09a0200502e38 Mon Sep 17 00:00:00 2001 From: Leo K Date: Tue, 5 Oct 2021 22:38:27 +0200 Subject: chore: various op cleanup (#12329) --- cli/ops/errors.rs | 25 ++++++++++++++++--------- cli/ops/runtime_compiler.rs | 29 ++++++++++++++++++----------- 2 files changed, 34 insertions(+), 20 deletions(-) (limited to 'cli') diff --git a/cli/ops/errors.rs b/cli/ops/errors.rs index ea6a5ae5a..14d21ee84 100644 --- a/cli/ops/errors.rs +++ b/cli/ops/errors.rs @@ -11,6 +11,7 @@ use deno_core::serde_json::json; use deno_core::serde_json::Value; use deno_core::OpState; use serde::Deserialize; +use serde::Serialize; use std::collections::HashMap; pub fn init(rt: &mut deno_core::JsRuntime) { @@ -27,13 +28,19 @@ struct ApplySourceMap { column_number: i32, } +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct AppliedSourceMap { + file_name: String, + line_number: u32, + column_number: u32, +} + fn op_apply_source_map( state: &mut OpState, - args: Value, + args: ApplySourceMap, _: (), -) -> Result { - let args: ApplySourceMap = serde_json::from_value(args)?; - +) -> Result { let mut mappings_map: CachedMaps = HashMap::new(); let ps = state.borrow::().clone(); @@ -46,11 +53,11 @@ fn op_apply_source_map( ps, ); - Ok(json!({ - "fileName": orig_file_name, - "lineNumber": orig_line_number as u32, - "columnNumber": orig_column_number as u32, - })) + Ok(AppliedSourceMap { + file_name: orig_file_name, + line_number: orig_line_number as u32, + column_number: orig_column_number as u32, + }) } fn op_format_diagnostic( 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>>, } +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct EmitResult { + diagnostics: crate::diagnostics::Diagnostics, + files: HashMap, + ignored_options: Option, + stats: crate::module_graph::Stats, +} + async fn op_emit( state: Rc>, - args: Value, + args: EmitArgs, _: (), -) -> Result { +) -> Result { 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::().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, + }) } -- cgit v1.2.3