You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
599 B
JavaScript
23 lines
599 B
JavaScript
10 months ago
|
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();
|
||
|
}
|
||
|
}
|