use crate::boundary::contains_standalone_module_token;
use crate::import::{ModuleImportKind, parse_module_import_head};
#[must_use]
pub fn line_references_module_import(line: &str, module_name: &str) -> bool {
if line.is_empty() || module_name.is_empty() {
return false;
}
line.split(';').any(|statement| {
let statement = statement.trim();
if statement.is_empty() {
return false;
}
let Some(parsed) = parse_module_import_head(statement) else {
return false;
};
match parsed.kind {
ModuleImportKind::Use | ModuleImportKind::Require => parsed.token == module_name,
ModuleImportKind::UseParent | ModuleImportKind::UseBase => {
contains_standalone_module_token(statement, module_name)
}
}
})
}