30 lines
627 B
JavaScript
30 lines
627 B
JavaScript
|
import {TokenType as tt} from "../parser/tokenizer/types";
|
||
|
|
||
|
|
||
|
export default function elideImportEquals(tokens) {
|
||
|
// import
|
||
|
tokens.removeInitialToken();
|
||
|
// name
|
||
|
tokens.removeToken();
|
||
|
// =
|
||
|
tokens.removeToken();
|
||
|
// name or require
|
||
|
tokens.removeToken();
|
||
|
// Handle either `import A = require('A')` or `import A = B.C.D`.
|
||
|
if (tokens.matches1(tt.parenL)) {
|
||
|
// (
|
||
|
tokens.removeToken();
|
||
|
// path string
|
||
|
tokens.removeToken();
|
||
|
// )
|
||
|
tokens.removeToken();
|
||
|
} else {
|
||
|
while (tokens.matches1(tt.dot)) {
|
||
|
// .
|
||
|
tokens.removeToken();
|
||
|
// name
|
||
|
tokens.removeToken();
|
||
|
}
|
||
|
}
|
||
|
}
|