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>
Source§const IMPL_VTABLES: &'static VTableRegistry<Self::ValueTrait>
const IMPL_VTABLES: &'static VTableRegistry<Self::ValueTrait>
The per-trait vtable registry, populated at program load by
#[ctor::ctor]
functions emitted by each #[turbo_tasks::value_impl] expansion. Read moretype ValueTrait = dyn EcmascriptChunkPlaceable
Source§fn get_trait_type_id() -> TraitTypeId
fn get_trait_type_id() -> TraitTypeId
Returns the type id of the trait object.
impl Dynamic<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>
impl Dynamic<Box<dyn EcmascriptChunkPlaceable>> for Box<dyn EcmascriptChunkPlaceable>
impl Dynamic<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>
impl Dynamic<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>
Available on debug-assertions enabled only.
impl Upcast<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for Box<dyn EcmascriptChunkPlaceable>
impl Upcast<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>
impl Upcast<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>
Available on debug-assertions enabled only.
impl UpcastStrict<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>
impl UpcastStrict<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>
impl UpcastStrict<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>
Available on debug-assertions enabled only.