(
language: TsLanguageKind,
tree: &Tree,
lines: &LineIndex<'_>,
source: &str,
file_path: &str,
)
| 130 | } |
| 131 | |
| 132 | fn extract_imports_from_tree( |
| 133 | language: TsLanguageKind, |
| 134 | tree: &Tree, |
| 135 | lines: &LineIndex<'_>, |
| 136 | source: &str, |
| 137 | file_path: &str, |
| 138 | ) -> Vec<ImportRow> { |
| 139 | let mut rows = Vec::new(); |
| 140 | |
| 141 | match language { |
| 142 | TsLanguageKind::TypeScript | TsLanguageKind::Tsx => { |
| 143 | rows.extend(extract_ts_like_imports( |
| 144 | language, |
| 145 | tree, |
| 146 | lines, |
| 147 | source, |
| 148 | file_path, |
| 149 | )); |
| 150 | } |
| 151 | TsLanguageKind::JavaScript | TsLanguageKind::Jsx => { |
| 152 | rows.extend(extract_ts_like_imports( |
| 153 | language, |
| 154 | tree, |
| 155 | lines, |
| 156 | source, |
| 157 | file_path, |
| 158 | )); |
| 159 | } |
| 160 | _ => {} |
| 161 | } |
| 162 | |
| 163 | rows |
| 164 | } |
| 165 | |
| 166 | fn extract_ts_like_imports( |
| 167 | language: TsLanguageKind, |
no test coverage detected