diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/ops/errors.rs | 25 | ||||
-rw-r--r-- | cli/ops/runtime_compiler.rs | 29 |
2 files changed, 34 insertions, 20 deletions
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<Value, AnyError> { - let args: ApplySourceMap = serde_json::from_value(args)?; - +) -> Result<AppliedSourceMap, AnyError> { let mut mappings_map: CachedMaps = HashMap::new(); let ps = state.borrow::<ProcState>().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<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, + }) } |