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_layer(self: Vc<Self>, layer: Vc<RcStr>) -> Vc<RcStr>
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>,
asset: Vc<Box<dyn Source>>,
module_asset_context: Vc<ModuleAssetContext>,
reference_type: Value<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_layer(self: Vc<Self>, layer: Vc<RcStr>) -> Vc<RcStr>where
Self: Sized,
fn process_layer(self: Vc<Self>, layer: Vc<RcStr>) -> Vc<RcStr>where
Self: Sized,
Apply modifications to the layer
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>,
asset: Vc<Box<dyn Source>>,
module_asset_context: Vc<ModuleAssetContext>,
reference_type: Value<ReferenceType>,
) -> Vc<ProcessResult>where
Self: Sized,
fn process(
self: Vc<Self>,
asset: Vc<Box<dyn Source>>,
module_asset_context: Vc<ModuleAssetContext>,
reference_type: Value<ReferenceType>,
) -> Vc<ProcessResult>where
Self: Sized,
Apply modification on the processing of the asset