summaryrefslogtreecommitdiff
path: root/node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js')
-rw-r--r--node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js b/node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js
new file mode 100644
index 0000000..abced0e
--- /dev/null
+++ b/node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js
@@ -0,0 +1,22 @@
+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();
+ }
+}