Trait deno_core::ModuleLoader [−][src]
pub trait ModuleLoader { fn resolve(
&self,
op_state: Rc<RefCell<OpState>>,
specifier: &str,
referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>; fn load(
&self,
op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>,
is_dyn_import: bool
) -> Pin<Box<ModuleSourceFuture>>; fn prepare_load(
&self,
_op_state: Rc<RefCell<OpState>>,
_load_id: ModuleLoadId,
_module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<String>,
_is_dyn_import: bool
) -> Pin<Box<dyn Future<Output = Result<(), AnyError>>>> { ... } }
Required methods
fn resolve(
&self,
op_state: Rc<RefCell<OpState>>,
specifier: &str,
referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>
[src]
&self,
op_state: Rc<RefCell<OpState>>,
specifier: &str,
referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>
Expand description
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,
op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>,
is_dyn_import: bool
) -> Pin<Box<ModuleSourceFuture>>
[src]
&self,
op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>,
is_dyn_import: bool
) -> Pin<Box<ModuleSourceFuture>>
Expand description
Given ModuleSpecifier, load its source code.
is_dyn_import
can be used to check permissions or deny
dynamic imports altogether.
Provided methods
fn prepare_load(
&self,
_op_state: Rc<RefCell<OpState>>,
_load_id: ModuleLoadId,
_module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<String>,
_is_dyn_import: bool
) -> Pin<Box<dyn Future<Output = Result<(), AnyError>>>>
[src]
&self,
_op_state: Rc<RefCell<OpState>>,
_load_id: ModuleLoadId,
_module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<String>,
_is_dyn_import: bool
) -> Pin<Box<dyn Future<Output = Result<(), AnyError>>>>
Expand description
This hook can be used by implementors to do some preparation work before starting loading of modules.
For example implementor might download multiple modules in parallel and transpile them to final JS sources before yielding control back to the runtime.
It’s not required to implement this method.
Implementors
impl ModuleLoader for FsModuleLoader
[src]
impl ModuleLoader for FsModuleLoader
[src]fn resolve(
&self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str,
referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>
[src]
&self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str,
referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>
fn load(
&self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>,
_is_dynamic: bool
) -> Pin<Box<ModuleSourceFuture>>
[src]
&self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>,
_is_dynamic: bool
) -> Pin<Box<ModuleSourceFuture>>
impl ModuleLoader for NoopModuleLoader
[src]
impl ModuleLoader for NoopModuleLoader
[src]fn resolve(
&self,
_op_state: Rc<RefCell<OpState>>,
_specifier: &str,
_referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>
[src]
&self,
_op_state: Rc<RefCell<OpState>>,
_specifier: &str,
_referrer: &str,
_is_main: bool
) -> Result<ModuleSpecifier, AnyError>
fn load(
&self,
_op_state: Rc<RefCell<OpState>>,
_module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool
) -> Pin<Box<ModuleSourceFuture>>
[src]
&self,
_op_state: Rc<RefCell<OpState>>,
_module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool
) -> Pin<Box<ModuleSourceFuture>>