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 fn create_module(
9 self: Vc<Self>,
10 source: Vc<Box<dyn Source>>,
11 module_asset_context: Vc<ModuleAssetContext>,
12 part: Option<ModulePart>,
13 ) -> Vc<Box<dyn Module>>;
14}