pub trait Transition:
Send
+ Sync
+ NonLocalValue
+ ValueDebug {
// Provided methods
fn process_source(
self: Vc<Self>,
asset: Vc<Box<dyn Source>>,
) -> Vc<Box<dyn Source>>
where Self: Sized { ... }
fn process_compile_time_info(
self: Vc<Self>,
compile_time_info: Vc<CompileTimeInfo>,
) -> Vc<CompileTimeInfo>
where Self: Sized { ... }
fn process_module_options_context(
self: Vc<Self>,
module_options_context: Vc<ModuleOptionsContext>,
) -> Vc<ModuleOptionsContext>
where Self: Sized { ... }
fn process_resolve_options_context(
self: Vc<Self>,
resolve_options_context: Vc<ResolveOptionsContext>,
) -> Vc<ResolveOptionsContext>
where Self: Sized { ... }
fn process_transition_options(
self: Vc<Self>,
transition_options: Vc<TransitionOptions>,
) -> Vc<TransitionOptions>
where Self: Sized { ... }
fn process_module(
self: Vc<Self>,
module: Vc<Box<dyn Module>>,
_context: Vc<ModuleAssetContext>,
) -> Vc<Box<dyn Module>>
where Self: Sized { ... }
fn process_context(
self: Vc<Self>,
module_asset_context: Vc<ModuleAssetContext>,
) -> Vc<ModuleAssetContext>
where Self: Sized { ... }
fn process(
self: Vc<Self>,
source: Vc<Box<dyn Source>>,
module_asset_context: Vc<ModuleAssetContext>,
reference_type: ReferenceType,
) -> Vc<ProcessResult>
where Self: Sized { ... }
}Expand description
Some kind of operation that is executed during reference processing. e. g. you can transition to a different environment on a specific import (reference).
Provided Methods§
Sourcefn process_source(
self: Vc<Self>,
asset: Vc<Box<dyn Source>>,
) -> Vc<Box<dyn Source>>where
Self: Sized,
fn process_source(
self: Vc<Self>,
asset: Vc<Box<dyn Source>>,
) -> Vc<Box<dyn Source>>where
Self: Sized,
Apply modifications/wrapping to the source asset
Sourcefn process_compile_time_info(
self: Vc<Self>,
compile_time_info: Vc<CompileTimeInfo>,
) -> Vc<CompileTimeInfo>where
Self: Sized,
fn process_compile_time_info(
self: Vc<Self>,
compile_time_info: Vc<CompileTimeInfo>,
) -> Vc<CompileTimeInfo>where
Self: Sized,
Apply modifications to the compile-time information
Sourcefn process_module_options_context(
self: Vc<Self>,
module_options_context: Vc<ModuleOptionsContext>,
) -> Vc<ModuleOptionsContext>where
Self: Sized,
fn process_module_options_context(
self: Vc<Self>,
module_options_context: Vc<ModuleOptionsContext>,
) -> Vc<ModuleOptionsContext>where
Self: Sized,
Apply modifications/wrapping to the module options context
Sourcefn process_resolve_options_context(
self: Vc<Self>,
resolve_options_context: Vc<ResolveOptionsContext>,
) -> Vc<ResolveOptionsContext>where
Self: Sized,
fn process_resolve_options_context(
self: Vc<Self>,
resolve_options_context: Vc<ResolveOptionsContext>,
) -> Vc<ResolveOptionsContext>where
Self: Sized,
Apply modifications/wrapping to the resolve options context
Sourcefn process_transition_options(
self: Vc<Self>,
transition_options: Vc<TransitionOptions>,
) -> Vc<TransitionOptions>where
Self: Sized,
fn process_transition_options(
self: Vc<Self>,
transition_options: Vc<TransitionOptions>,
) -> Vc<TransitionOptions>where
Self: Sized,
Apply modifications/wrapping to the transition options
Sourcefn process_module(
self: Vc<Self>,
module: Vc<Box<dyn Module>>,
_context: Vc<ModuleAssetContext>,
) -> Vc<Box<dyn Module>>where
Self: Sized,
fn process_module(
self: Vc<Self>,
module: Vc<Box<dyn Module>>,
_context: Vc<ModuleAssetContext>,
) -> Vc<Box<dyn Module>>where
Self: Sized,
Apply modifications/wrapping to the final asset
Sourcefn process_context(
self: Vc<Self>,
module_asset_context: Vc<ModuleAssetContext>,
) -> Vc<ModuleAssetContext>where
Self: Sized,
fn process_context(
self: Vc<Self>,
module_asset_context: Vc<ModuleAssetContext>,
) -> Vc<ModuleAssetContext>where
Self: Sized,
Apply modifications to the context
Sourcefn process(
self: Vc<Self>,
source: Vc<Box<dyn Source>>,
module_asset_context: Vc<ModuleAssetContext>,
reference_type: ReferenceType,
) -> Vc<ProcessResult>where
Self: Sized,
fn process(
self: Vc<Self>,
source: Vc<Box<dyn Source>>,
module_asset_context: Vc<ModuleAssetContext>,
reference_type: ReferenceType,
) -> Vc<ProcessResult>where
Self: Sized,
Apply modification on the processing of the asset
Trait Implementations§
Source§impl TraitVtablePrototype for Box<dyn Transition>
impl TraitVtablePrototype for Box<dyn Transition>
Source§impl VcValueTrait for Box<dyn Transition>
impl VcValueTrait for Box<dyn Transition>
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 Transition
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 Transition>> for Box<dyn Transition>
impl Dynamic<Box<dyn ValueDebug>> for Box<dyn Transition>
Available on debug-assertions enabled only.
impl Upcast<Box<dyn Transition>> for Box<dyn Transition>
impl Upcast<Box<dyn ValueDebug>> for Box<dyn Transition>
Available on debug-assertions enabled only.
impl UpcastStrict<Box<dyn ValueDebug>> for Box<dyn Transition>
Available on debug-assertions enabled only.