mirror of
https://github.com/denoland/deno.git
synced 2025-02-01 20:25:12 -05:00
refactor: Remove op_state parameter (#12202)
This commit is contained in:
parent
01da1d0adc
commit
9705efd419
4 changed files with 19 additions and 67 deletions
|
@ -65,7 +65,6 @@ impl CliModuleLoader {
|
||||||
impl ModuleLoader for CliModuleLoader {
|
impl ModuleLoader for CliModuleLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
is_main: bool,
|
is_main: bool,
|
||||||
|
@ -77,6 +76,9 @@ impl ModuleLoader for CliModuleLoader {
|
||||||
referrer
|
referrer
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO(ry) I think we can remove this conditional. At the time of writing
|
||||||
|
// we don't have any tests that fail if it was removed.
|
||||||
|
// https://github.com/WICG/import-maps/issues/157
|
||||||
if !is_main {
|
if !is_main {
|
||||||
if let Some(import_map) = &self.import_map {
|
if let Some(import_map) = &self.import_map {
|
||||||
return import_map
|
return import_map
|
||||||
|
@ -92,7 +94,6 @@ impl ModuleLoader for CliModuleLoader {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
module_specifier: &ModuleSpecifier,
|
module_specifier: &ModuleSpecifier,
|
||||||
maybe_referrer: Option<ModuleSpecifier>,
|
maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dynamic: bool,
|
_is_dynamic: bool,
|
||||||
|
|
|
@ -20,7 +20,6 @@ use deno_core::url::Url;
|
||||||
use deno_core::v8_set_flags;
|
use deno_core::v8_set_flags;
|
||||||
use deno_core::ModuleLoader;
|
use deno_core::ModuleLoader;
|
||||||
use deno_core::ModuleSpecifier;
|
use deno_core::ModuleSpecifier;
|
||||||
use deno_core::OpState;
|
|
||||||
use deno_runtime::deno_broadcast_channel::InMemoryBroadcastChannel;
|
use deno_runtime::deno_broadcast_channel::InMemoryBroadcastChannel;
|
||||||
use deno_runtime::deno_web::BlobStore;
|
use deno_runtime::deno_web::BlobStore;
|
||||||
use deno_runtime::permissions::Permissions;
|
use deno_runtime::permissions::Permissions;
|
||||||
|
@ -29,7 +28,6 @@ use deno_runtime::worker::MainWorker;
|
||||||
use deno_runtime::worker::WorkerOptions;
|
use deno_runtime::worker::WorkerOptions;
|
||||||
use deno_tls::create_default_root_cert_store;
|
use deno_tls::create_default_root_cert_store;
|
||||||
use log::Level;
|
use log::Level;
|
||||||
use std::cell::RefCell;
|
|
||||||
use std::convert::TryInto;
|
use std::convert::TryInto;
|
||||||
use std::env::current_exe;
|
use std::env::current_exe;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
@ -127,7 +125,6 @@ struct EmbeddedModuleLoader(String);
|
||||||
impl ModuleLoader for EmbeddedModuleLoader {
|
impl ModuleLoader for EmbeddedModuleLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
_referrer: &str,
|
_referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -146,7 +143,6 @@ impl ModuleLoader for EmbeddedModuleLoader {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
module_specifier: &ModuleSpecifier,
|
module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dynamic: bool,
|
_is_dynamic: bool,
|
||||||
|
|
|
@ -71,7 +71,6 @@ pub trait ModuleLoader {
|
||||||
/// apply import map for child imports.
|
/// apply import map for child imports.
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -83,7 +82,6 @@ pub trait ModuleLoader {
|
||||||
/// dynamic imports altogether.
|
/// dynamic imports altogether.
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
op_state: Rc<RefCell<OpState>>,
|
|
||||||
module_specifier: &ModuleSpecifier,
|
module_specifier: &ModuleSpecifier,
|
||||||
maybe_referrer: Option<ModuleSpecifier>,
|
maybe_referrer: Option<ModuleSpecifier>,
|
||||||
is_dyn_import: bool,
|
is_dyn_import: bool,
|
||||||
|
@ -116,7 +114,6 @@ pub struct NoopModuleLoader;
|
||||||
impl ModuleLoader for NoopModuleLoader {
|
impl ModuleLoader for NoopModuleLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
_specifier: &str,
|
_specifier: &str,
|
||||||
_referrer: &str,
|
_referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -126,7 +123,6 @@ impl ModuleLoader for NoopModuleLoader {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
_module_specifier: &ModuleSpecifier,
|
_module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
@ -146,7 +142,6 @@ pub struct FsModuleLoader;
|
||||||
impl ModuleLoader for FsModuleLoader {
|
impl ModuleLoader for FsModuleLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -156,7 +151,6 @@ impl ModuleLoader for FsModuleLoader {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
module_specifier: &ModuleSpecifier,
|
module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dynamic: bool,
|
_is_dynamic: bool,
|
||||||
|
@ -269,18 +263,14 @@ impl RecursiveModuleLoad {
|
||||||
pub fn resolve_root(&self) -> Result<ModuleSpecifier, AnyError> {
|
pub fn resolve_root(&self) -> Result<ModuleSpecifier, AnyError> {
|
||||||
match self.init {
|
match self.init {
|
||||||
LoadInit::Main(ref specifier) => {
|
LoadInit::Main(ref specifier) => {
|
||||||
self
|
self.loader.resolve(specifier, ".", true)
|
||||||
.loader
|
|
||||||
.resolve(self.op_state.clone(), specifier, ".", true)
|
|
||||||
}
|
}
|
||||||
LoadInit::Side(ref specifier) => {
|
LoadInit::Side(ref specifier) => {
|
||||||
self
|
self.loader.resolve(specifier, ".", false)
|
||||||
.loader
|
}
|
||||||
.resolve(self.op_state.clone(), specifier, ".", false)
|
LoadInit::DynamicImport(ref specifier, ref referrer) => {
|
||||||
|
self.loader.resolve(specifier, referrer, false)
|
||||||
}
|
}
|
||||||
LoadInit::DynamicImport(ref specifier, ref referrer) => self
|
|
||||||
.loader
|
|
||||||
.resolve(self.op_state.clone(), specifier, referrer, false),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,24 +278,15 @@ impl RecursiveModuleLoad {
|
||||||
let op_state = self.op_state.clone();
|
let op_state = self.op_state.clone();
|
||||||
let (module_specifier, maybe_referrer) = match self.init {
|
let (module_specifier, maybe_referrer) = match self.init {
|
||||||
LoadInit::Main(ref specifier) => {
|
LoadInit::Main(ref specifier) => {
|
||||||
let spec =
|
let spec = self.loader.resolve(specifier, ".", true)?;
|
||||||
self
|
|
||||||
.loader
|
|
||||||
.resolve(op_state.clone(), specifier, ".", true)?;
|
|
||||||
(spec, None)
|
(spec, None)
|
||||||
}
|
}
|
||||||
LoadInit::Side(ref specifier) => {
|
LoadInit::Side(ref specifier) => {
|
||||||
let spec =
|
let spec = self.loader.resolve(specifier, ".", false)?;
|
||||||
self
|
|
||||||
.loader
|
|
||||||
.resolve(op_state.clone(), specifier, ".", false)?;
|
|
||||||
(spec, None)
|
(spec, None)
|
||||||
}
|
}
|
||||||
LoadInit::DynamicImport(ref specifier, ref referrer) => {
|
LoadInit::DynamicImport(ref specifier, ref referrer) => {
|
||||||
let spec =
|
let spec = self.loader.resolve(specifier, referrer, false)?;
|
||||||
self
|
|
||||||
.loader
|
|
||||||
.resolve(op_state.clone(), specifier, referrer, false)?;
|
|
||||||
(spec, Some(referrer.to_string()))
|
(spec, Some(referrer.to_string()))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -389,7 +370,6 @@ impl RecursiveModuleLoad {
|
||||||
already_registered.push_back((module_id, specifier.clone()));
|
already_registered.push_back((module_id, specifier.clone()));
|
||||||
} else {
|
} else {
|
||||||
let fut = self.loader.load(
|
let fut = self.loader.load(
|
||||||
self.op_state.clone(),
|
|
||||||
&specifier,
|
&specifier,
|
||||||
Some(referrer.clone()),
|
Some(referrer.clone()),
|
||||||
self.is_dynamic_import(),
|
self.is_dynamic_import(),
|
||||||
|
@ -454,12 +434,7 @@ impl Stream for RecursiveModuleLoad {
|
||||||
};
|
};
|
||||||
inner
|
inner
|
||||||
.loader
|
.loader
|
||||||
.load(
|
.load(&module_specifier, maybe_referrer, inner.is_dynamic_import())
|
||||||
inner.op_state.clone(),
|
|
||||||
&module_specifier,
|
|
||||||
maybe_referrer,
|
|
||||||
inner.is_dynamic_import(),
|
|
||||||
)
|
|
||||||
.boxed_local()
|
.boxed_local()
|
||||||
};
|
};
|
||||||
inner.pending.push(load_fut);
|
inner.pending.push(load_fut);
|
||||||
|
@ -586,12 +561,8 @@ impl ModuleMap {
|
||||||
let import_specifier = module_request
|
let import_specifier = module_request
|
||||||
.get_specifier()
|
.get_specifier()
|
||||||
.to_rust_string_lossy(tc_scope);
|
.to_rust_string_lossy(tc_scope);
|
||||||
let module_specifier = self.loader.resolve(
|
let module_specifier =
|
||||||
self.op_state.clone(),
|
self.loader.resolve(&import_specifier, name, false)?;
|
||||||
&import_specifier,
|
|
||||||
name,
|
|
||||||
false,
|
|
||||||
)?;
|
|
||||||
import_specifiers.push(module_specifier);
|
import_specifiers.push(module_specifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -700,12 +671,10 @@ impl ModuleMap {
|
||||||
.borrow_mut()
|
.borrow_mut()
|
||||||
.dynamic_import_map
|
.dynamic_import_map
|
||||||
.insert(load.id, resolver_handle);
|
.insert(load.id, resolver_handle);
|
||||||
let resolve_result = module_map_rc.borrow().loader.resolve(
|
let resolve_result = module_map_rc
|
||||||
module_map_rc.borrow().op_state.clone(),
|
.borrow()
|
||||||
specifier,
|
.loader
|
||||||
referrer,
|
.resolve(specifier, referrer, false);
|
||||||
false,
|
|
||||||
);
|
|
||||||
let fut = match resolve_result {
|
let fut = match resolve_result {
|
||||||
Ok(module_specifier) => {
|
Ok(module_specifier) => {
|
||||||
if module_map_rc.borrow().is_registered(&module_specifier) {
|
if module_map_rc.borrow().is_registered(&module_specifier) {
|
||||||
|
@ -737,7 +706,7 @@ impl ModuleMap {
|
||||||
) -> Option<v8::Local<'s, v8::Module>> {
|
) -> Option<v8::Local<'s, v8::Module>> {
|
||||||
let resolved_specifier = self
|
let resolved_specifier = self
|
||||||
.loader
|
.loader
|
||||||
.resolve(self.op_state.clone(), specifier, referrer, false)
|
.resolve(specifier, referrer, false)
|
||||||
.expect("Module should have been already resolved");
|
.expect("Module should have been already resolved");
|
||||||
|
|
||||||
if let Some(id) = self.get_id(resolved_specifier.as_str()) {
|
if let Some(id) = self.get_id(resolved_specifier.as_str()) {
|
||||||
|
@ -864,7 +833,6 @@ mod tests {
|
||||||
impl ModuleLoader for MockLoader {
|
impl ModuleLoader for MockLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_root: bool,
|
_is_root: bool,
|
||||||
|
@ -891,7 +859,6 @@ mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
module_specifier: &ModuleSpecifier,
|
module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
@ -1010,7 +977,6 @@ mod tests {
|
||||||
impl ModuleLoader for ModsLoader {
|
impl ModuleLoader for ModsLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -1024,7 +990,6 @@ mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
_module_specifier: &ModuleSpecifier,
|
_module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
@ -1130,7 +1095,6 @@ mod tests {
|
||||||
impl ModuleLoader for DynImportErrLoader {
|
impl ModuleLoader for DynImportErrLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -1144,7 +1108,6 @@ mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
_module_specifier: &ModuleSpecifier,
|
_module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
@ -1192,7 +1155,6 @@ mod tests {
|
||||||
impl ModuleLoader for DynImportOkLoader {
|
impl ModuleLoader for DynImportOkLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -1207,7 +1169,6 @@ mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &ModuleSpecifier,
|
specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
@ -1330,7 +1291,6 @@ mod tests {
|
||||||
impl ModuleLoader for DynImportCircularLoader {
|
impl ModuleLoader for DynImportCircularLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -1342,7 +1302,6 @@ mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &ModuleSpecifier,
|
specifier: &ModuleSpecifier,
|
||||||
maybe_referrer: Option<ModuleSpecifier>,
|
maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
@ -1674,7 +1633,6 @@ mod tests {
|
||||||
impl ModuleLoader for ModsLoader {
|
impl ModuleLoader for ModsLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -1685,7 +1643,6 @@ mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
module_specifier: &ModuleSpecifier,
|
module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
|
|
@ -2064,7 +2064,6 @@ pub mod tests {
|
||||||
impl ModuleLoader for ModsLoader {
|
impl ModuleLoader for ModsLoader {
|
||||||
fn resolve(
|
fn resolve(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
specifier: &str,
|
specifier: &str,
|
||||||
referrer: &str,
|
referrer: &str,
|
||||||
_is_main: bool,
|
_is_main: bool,
|
||||||
|
@ -2077,7 +2076,6 @@ pub mod tests {
|
||||||
|
|
||||||
fn load(
|
fn load(
|
||||||
&self,
|
&self,
|
||||||
_op_state: Rc<RefCell<OpState>>,
|
|
||||||
_module_specifier: &ModuleSpecifier,
|
_module_specifier: &ModuleSpecifier,
|
||||||
_maybe_referrer: Option<ModuleSpecifier>,
|
_maybe_referrer: Option<ModuleSpecifier>,
|
||||||
_is_dyn_import: bool,
|
_is_dyn_import: bool,
|
||||||
|
|
Loading…
Add table
Reference in a new issue