mirror of
https://github.com/denoland/deno.git
synced 2025-08-02 18:12:39 +00:00
refactor: Modules and Loader trait (#3791)
* move is_dyn_import argument from Loader::resolve to Loader::load - it was always kind of strange that resolve() checks permissions. * change argument type from &str to &ModuleSpecifier where applicable
This commit is contained in:
parent
37a7b01d5c
commit
c824eb5817
7 changed files with 122 additions and 127 deletions
13
cli/state.rs
13
cli/state.rs
|
@ -167,7 +167,6 @@ impl Loader for ThreadSafeState {
|
|||
specifier: &str,
|
||||
referrer: &str,
|
||||
is_main: bool,
|
||||
is_dyn_import: bool,
|
||||
) -> Result<ModuleSpecifier, ErrBox> {
|
||||
if !is_main {
|
||||
if let Some(import_map) = &self.import_map {
|
||||
|
@ -180,10 +179,6 @@ impl Loader for ThreadSafeState {
|
|||
let module_specifier =
|
||||
ModuleSpecifier::resolve_import(specifier, referrer)?;
|
||||
|
||||
if is_dyn_import {
|
||||
self.check_dyn_import(&module_specifier)?;
|
||||
}
|
||||
|
||||
Ok(module_specifier)
|
||||
}
|
||||
|
||||
|
@ -192,7 +187,15 @@ impl Loader for ThreadSafeState {
|
|||
&self,
|
||||
module_specifier: &ModuleSpecifier,
|
||||
maybe_referrer: Option<ModuleSpecifier>,
|
||||
is_dyn_import: bool,
|
||||
) -> Pin<Box<deno_core::SourceCodeInfoFuture>> {
|
||||
if is_dyn_import {
|
||||
if let Err(e) = self.check_dyn_import(&module_specifier) {
|
||||
return async move { Err(e) }.boxed();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(bartlomieju): incrementing resolve_count here has no sense...
|
||||
self.metrics.resolve_count.fetch_add(1, Ordering::SeqCst);
|
||||
let module_url_specified = module_specifier.to_string();
|
||||
let fut = self
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue