diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-12-11 18:49:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-11 18:49:26 +0100 |
commit | 65e72b68acf57da8462b8e7b057e7adb9393b698 (patch) | |
tree | 00e955e1186b9512b009acbb6ee80feb8a3f1733 /cli/ops/errors.rs | |
parent | 9414dee9e56a9f42c07ada4f8e1be864a1a1b936 (diff) |
refactor(cli): decouple ops from ProgramState and Flags (#8659)
This commit does major refactor of "Worker" and "WebWorker",
in order to decouple them from "ProgramState" and "Flags".
The main points of interest are "create_main_worker()" and
"create_web_worker_callback()" functions which are responsible
for creating "Worker" and "WebWorker" in CLI context.
As a result it is now possible to factor out common "runtime"
functionality into a separate crate.
Diffstat (limited to 'cli/ops/errors.rs')
-rw-r--r-- | cli/ops/errors.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cli/ops/errors.rs b/cli/ops/errors.rs index dbb72139d..d9893b0ef 100644 --- a/cli/ops/errors.rs +++ b/cli/ops/errors.rs @@ -1,6 +1,7 @@ // Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. use crate::diagnostics::Diagnostics; +use crate::program_state::ProgramState; use crate::source_maps::get_orig_position; use crate::source_maps::CachedMaps; use deno_core::error::AnyError; @@ -11,6 +12,7 @@ use deno_core::OpState; use deno_core::ZeroCopyBuf; use serde::Deserialize; use std::collections::HashMap; +use std::sync::Arc; pub fn init(rt: &mut deno_core::JsRuntime) { super::reg_json_sync(rt, "op_apply_source_map", op_apply_source_map); @@ -33,13 +35,15 @@ fn op_apply_source_map( let args: ApplySourceMap = serde_json::from_value(args)?; let mut mappings_map: CachedMaps = HashMap::new(); + let program_state = state.borrow::<Arc<ProgramState>>().clone(); + let (orig_file_name, orig_line_number, orig_column_number) = get_orig_position( args.file_name, args.line_number.into(), args.column_number.into(), &mut mappings_map, - super::program_state(state), + program_state, ); Ok(json!({ |