[][src]Trait deno_core::Loader

pub trait Loader {
    fn resolve(
        &self,
        specifier: &str,
        referrer: &str,
        is_main: bool
    ) -> Result<ModuleSpecifier, ErrBox>;
fn load(
        &self,
        module_specifier: &ModuleSpecifier,
        maybe_referrer: Option<ModuleSpecifier>,
        is_dyn_import: bool
    ) -> Pin<Box<SourceCodeInfoFuture>>; }

Required methods

fn resolve(
    &self,
    specifier: &str,
    referrer: &str,
    is_main: bool
) -> Result<ModuleSpecifier, ErrBox>

Returns an absolute URL. When implementing an spec-complaint VM, this should be exactly the algorithm described here: https://html.spec.whatwg.org/multipage/webappapis.html#resolve-a-module-specifier

is_main can be used to resolve from current working directory or apply import map for child imports.

fn load(
    &self,
    module_specifier: &ModuleSpecifier,
    maybe_referrer: Option<ModuleSpecifier>,
    is_dyn_import: bool
) -> Pin<Box<SourceCodeInfoFuture>>

Given ModuleSpecifier, load its source code.

is_dyn_import can be used to check permissions or deny dynamic imports altogether.

Loading content...

Implementors

Loading content...