use rolldown_common::{ImportRecordIdx, NamedImport, NormalModule, Specifier};
pub fn specifier_needs_interop(specifier: &Specifier) -> bool {
matches!(specifier, Specifier::Star)
|| matches!(specifier, Specifier::Literal(name) if name.as_str() == "default")
}
pub fn external_import_needs_interop(
named_imports: &[(rolldown_common::ModuleIdx, NamedImport)],
) -> bool {
named_imports.iter().any(|(_, import)| specifier_needs_interop(&import.imported))
}
pub fn import_record_needs_interop(module: &NormalModule, rec_idx: ImportRecordIdx) -> bool {
module
.named_imports
.values()
.any(|import| import.record_idx == rec_idx && specifier_needs_interop(&import.imported))
}