pub trait EcmascriptChunkPlaceable:
ChunkableModule
+ Module
+ Send
+ Sync
+ NonLocalValue
+ ValueDebug {
// Required methods
fn get_exports(self: Vc<Self>) -> Vc<EcmascriptExports>
where Self: Sized;
fn chunk_item_content(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
_async_module_info: Option<Vc<AsyncModuleInfo>>,
_estimated: bool,
) -> Vc<EcmascriptChunkItemContent>
where Self: Sized;
// Provided methods
fn get_async_module(self: Vc<Self>) -> Vc<OptionAsyncModule>
where Self: Sized { ... }
fn chunk_item_content_ident(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
) -> Vc<AssetIdent>
where Self: Sized { ... }
fn chunk_item_output_assets(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
) -> Vc<OutputAssetsWithReferenced>
where Self: Sized { ... }
}Required Methods§
fn get_exports(self: Vc<Self>) -> Vc<EcmascriptExports>where
Self: Sized,
Sourcefn chunk_item_content(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
_async_module_info: Option<Vc<AsyncModuleInfo>>,
_estimated: bool,
) -> Vc<EcmascriptChunkItemContent>where
Self: Sized,
fn chunk_item_content(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
_async_module_info: Option<Vc<AsyncModuleInfo>>,
_estimated: bool,
) -> Vc<EcmascriptChunkItemContent>where
Self: Sized,
Generate chunk item content directly on the module.
This replaces the need for separate ChunkItem wrapper structs.
The estimated parameter is used during size estimation - when true, implementations
should avoid calling chunking context APIs that would cause cycles.
Provided Methods§
fn get_async_module(self: Vc<Self>) -> Vc<OptionAsyncModule>where
Self: Sized,
Sourcefn chunk_item_content_ident(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
) -> Vc<AssetIdent>where
Self: Sized,
fn chunk_item_content_ident(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
) -> Vc<AssetIdent>where
Self: Sized,
Returns the content identity for cache invalidation. Override this for modules whose content depends on more than just the module source (e.g., async loaders that depend on available modules).
Sourcefn chunk_item_output_assets(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
) -> Vc<OutputAssetsWithReferenced>where
Self: Sized,
fn chunk_item_output_assets(
self: Vc<Self>,
_chunking_context: Vc<Box<dyn ChunkingContext>>,
_module_graph: Vc<ModuleGraph>,
) -> Vc<OutputAssetsWithReferenced>where
Self: Sized,
Returns output assets that this chunk item depends on. Override this for modules that reference static assets, manifests, etc.
Trait Implementations§
Source§impl TraitVtablePrototype for Box<dyn EcmascriptChunkPlaceable>
impl TraitVtablePrototype for Box<dyn EcmascriptChunkPlaceable>
Source§impl VcValueTrait for Box<dyn EcmascriptChunkPlaceable>
impl VcValueTrait for Box<dyn EcmascriptChunkPlaceable>
type ValueTrait = dyn EcmascriptChunkPlaceable
Source§fn get_trait_type_id() -> TraitTypeId
fn get_trait_type_id() -> TraitTypeId
Returns the type id of the trait object.
Source§fn get_impl_vtables() -> &'static VTableRegistry<Self::ValueTrait>
fn get_impl_vtables() -> &'static VTableRegistry<Self::ValueTrait>
Returns the vtable for an implementation of this trait.
Panics if ValueTypeId does not implement the trait.