turbopack/module_options/custom_module_type.rs
1use turbo_tasks::Vc;
2use turbopack_core::{module::Module, resolve::ModulePart, source::Source};
3
4use crate::ModuleAssetContext;
5
6#[turbo_tasks::value_trait]
7pub trait CustomModuleType {
8 #[turbo_tasks::function]
9 fn create_module(
10 self: Vc<Self>,
11 source: Vc<Box<dyn Source>>,
12 module_asset_context: Vc<ModuleAssetContext>,
13 part: Option<ModulePart>,
14 ) -> Vc<Box<dyn Module>>;
15}