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,
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§
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.
Source§impl TraitVtablePrototype for Box<dyn EcmascriptChunkPlaceable>
impl TraitVtablePrototype for Box<dyn EcmascriptChunkPlaceable>
impl Upcast<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for AsyncLoaderModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for Box<dyn EcmascriptChunkPlaceable>
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ManifestAsyncModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ManifestLoaderModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModulePartAsset
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for SideEffectsModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for CachedExternalModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ImportMetaGlobAsset
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for RequireContextAsset
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ServiceWorkerEntryModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleRenameModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleFacadeModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleLocalsModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for WorkerLoaderModule
impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleAsset
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 EcmascriptChunkPlaceable>> for AsyncLoaderModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ManifestAsyncModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ManifestLoaderModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModulePartAsset
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for SideEffectsModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for CachedExternalModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ImportMetaGlobAsset
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for RequireContextAsset
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ServiceWorkerEntryModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleRenameModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleFacadeModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleLocalsModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for WorkerLoaderModule
impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleAsset
impl UpcastStrict<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>
impl UpcastStrict<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>
Available on debug-assertions enabled only.
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 by [crate::value_type::register_all_trait_methods] Read more
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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".