23 lines
599 B
JavaScript
23 lines
599 B
JavaScript
import {ContextualKeyword} from "../parser/tokenizer/keywords";
|
|
import {TokenType as tt} from "../parser/tokenizer/types";
|
|
|
|
|
|
/**
|
|
* Starting at a potential `with` or (legacy) `assert` token, remove the import
|
|
* attributes if they exist.
|
|
*/
|
|
export function removeMaybeImportAttributes(tokens) {
|
|
if (
|
|
tokens.matches2(tt._with, tt.braceL) ||
|
|
(tokens.matches2(tt.name, tt.braceL) && tokens.matchesContextual(ContextualKeyword._assert))
|
|
) {
|
|
// assert
|
|
tokens.removeToken();
|
|
// {
|
|
tokens.removeToken();
|
|
tokens.removeBalancedCode();
|
|
// }
|
|
tokens.removeToken();
|
|
}
|
|
}
|