Skip to main content

EcmascriptChunkPlaceable

Trait EcmascriptChunkPlaceable 

Source
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§

Source

fn get_exports(self: Vc<Self>) -> Vc<EcmascriptExports>
where Self: Sized,

Source

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§

Source

fn get_async_module(self: Vc<Self>) -> Vc<OptionAsyncModule>
where Self: Sized,

Source

fn chunk_item_content_ident( self: Vc<Self>, _chunking_context: Vc<Box<dyn ChunkingContext>>, _module_graph: Vc<ModuleGraph>, ) -> Vc<AssetIdent>
where Self: Sized,

Source

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 Dynamic<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl Dynamic<Box<dyn EcmascriptChunkPlaceable>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl Dynamic<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl Dynamic<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>

Available on debug-assertions enabled only.
Source§

impl TraitVtablePrototype for Box<dyn EcmascriptChunkPlaceable>

Source§

const LEN: usize = 5usize

Source§

const DEFAULTS: &[Option<&NativeFunction>]

Source§

impl Upcast<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for AsyncLoaderModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ManifestAsyncModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ManifestLoaderModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModulePartAsset

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for SideEffectsModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for CachedExternalModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ImportMetaGlobAsset

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for RequireContextAsset

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for ServiceWorkerEntryModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleRenameModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleFacadeModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleLocalsModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for WorkerLoaderModule

Source§

impl Upcast<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleAsset

Source§

impl Upcast<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl Upcast<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>

Available on debug-assertions enabled only.
Source§

impl UpcastStrict<Box<dyn ChunkableModule>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for AsyncLoaderModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ManifestAsyncModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ManifestLoaderModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModulePartAsset

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for SideEffectsModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for CachedExternalModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ImportMetaGlobAsset

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for RequireContextAsset

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for ServiceWorkerEntryModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleRenameModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleFacadeModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleLocalsModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for WorkerLoaderModule

Source§

impl UpcastStrict<Box<dyn EcmascriptChunkPlaceable>> for EcmascriptModuleAsset

Source§

impl UpcastStrict<Box<dyn Module>> for Box<dyn EcmascriptChunkPlaceable>

Source§

impl UpcastStrict<Box<dyn ValueDebug>> for Box<dyn EcmascriptChunkPlaceable>

Available on debug-assertions enabled only.
Source§

impl VcValueTrait for Box<dyn EcmascriptChunkPlaceable>

Source§

const IMPL_VTABLES: &'static VTableRegistry<Self::ValueTrait>

The per-trait vtable registry, populated by [crate::value_type::register_all_trait_methods] Read more
Source§

type ValueTrait = dyn EcmascriptChunkPlaceable

Source§

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".

Implementors§