pub struct SourceModulePolicy { /* private fields */ }Expand description
Codec-bound source-module policy shared by guest-language adapters.
The policy owns exactly one loader, and therefore one cache and ordered evidence stream. Roots and authority remain request inputs: this shared type deliberately supplies neither an ambient root nor guest defaults.
Implementations§
Source§impl SourceModulePolicy
impl SourceModulePolicy
Sourcepub fn new(
codec: Symbol,
specifier_policy: Arc<dyn ModuleSpecifierPolicy>,
) -> Self
pub fn new( codec: Symbol, specifier_policy: Arc<dyn ModuleSpecifierPolicy>, ) -> Self
Creates a policy for an installed codec and explicit specifier policy.
Sourcepub fn load(
&self,
cx: &mut Cx,
root_id: Symbol,
root: Arc<dyn Dir>,
specifier: impl Into<String>,
authority: SourceAuthority,
) -> Result<ModuleInstance>
pub fn load( &self, cx: &mut Cx, root_id: Symbol, root: Arc<dyn Dir>, specifier: impl Into<String>, authority: SourceAuthority, ) -> Result<ModuleInstance>
Loads a root-relative module through the caller-supplied root and authority.
Sourcepub fn load_from(
&self,
cx: &mut Cx,
root_id: Symbol,
root: Arc<dyn Dir>,
importer: Option<ModuleIdentity>,
specifier: impl Into<String>,
authority: SourceAuthority,
) -> Result<ModuleInstance>
pub fn load_from( &self, cx: &mut Cx, root_id: Symbol, root: Arc<dyn Dir>, importer: Option<ModuleIdentity>, specifier: impl Into<String>, authority: SourceAuthority, ) -> Result<ModuleInstance>
Loads a module, optionally resolving it relative to an importer.
Sourcepub fn dynamic_import(
&self,
cx: &mut Cx,
root_id: Symbol,
root: Arc<dyn Dir>,
importer: Option<ModuleIdentity>,
specifier: impl Into<String>,
authority: SourceAuthority,
) -> Result<ModuleInstance>
pub fn dynamic_import( &self, cx: &mut Cx, root_id: Symbol, root: Arc<dyn Dir>, importer: Option<ModuleIdentity>, specifier: impl Into<String>, authority: SourceAuthority, ) -> Result<ModuleInstance>
Dynamically imports through the same cache and authority boundary as static loads.
Sourcepub fn reload(
&self,
cx: &mut Cx,
root_id: Symbol,
root: Arc<dyn Dir>,
importer: Option<ModuleIdentity>,
specifier: impl Into<String>,
authority: SourceAuthority,
) -> Result<ModuleInstance>
pub fn reload( &self, cx: &mut Cx, root_id: Symbol, root: Arc<dyn Dir>, importer: Option<ModuleIdentity>, specifier: impl Into<String>, authority: SourceAuthority, ) -> Result<ModuleInstance>
Re-evaluates a module while preserving its existing live binding edge.
Sourcepub fn receipts(&self) -> Result<Vec<ModuleResolutionReceipt>>
pub fn receipts(&self) -> Result<Vec<ModuleResolutionReceipt>>
Snapshot of ordered module lifecycle receipts.
Auto Trait Implementations§
impl !Freeze for SourceModulePolicy
impl !RefUnwindSafe for SourceModulePolicy
impl !UnwindSafe for SourceModulePolicy
impl Send for SourceModulePolicy
impl Sync for SourceModulePolicy
impl Unpin for SourceModulePolicy
impl UnsafeUnpin for SourceModulePolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more