use crate::{module::ModuleType, HashMap};
use std::sync::Arc;
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PluginTransformHookParam<'a> {
pub module_id: String,
pub content: String,
pub module_type: ModuleType,
pub resolved_path: &'a str,
pub query: Vec<(String, String)>,
pub meta: HashMap<String, String>,
pub source_map_chain: Vec<Arc<String>>,
}
#[derive(Debug, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase", default)]
pub struct PluginTransformHookResult {
pub content: String,
pub module_type: Option<ModuleType>,
pub source_map: Option<String>,
pub ignore_previous_source_map: bool,
}