summaryrefslogtreecommitdiff
path: root/node_modules/sucrase/dist/esm/util/isExportFrom.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/sucrase/dist/esm/util/isExportFrom.js')
-rw-r--r--node_modules/sucrase/dist/esm/util/isExportFrom.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/sucrase/dist/esm/util/isExportFrom.js b/node_modules/sucrase/dist/esm/util/isExportFrom.js
new file mode 100644
index 0000000..fd33665
--- /dev/null
+++ b/node_modules/sucrase/dist/esm/util/isExportFrom.js
@@ -0,0 +1,18 @@
+import {ContextualKeyword} from "../parser/tokenizer/keywords";
+import {TokenType as tt} from "../parser/tokenizer/types";
+
+
+/**
+ * Starting at `export {`, look ahead and return `true` if this is an
+ * `export {...} from` statement and `false` if this is a plain multi-export.
+ */
+export default function isExportFrom(tokens) {
+ let closeBraceIndex = tokens.currentIndex();
+ while (!tokens.matches1AtIndex(closeBraceIndex, tt.braceR)) {
+ closeBraceIndex++;
+ }
+ return (
+ tokens.matchesContextualAtIndex(closeBraceIndex + 1, ContextualKeyword._from) &&
+ tokens.matches1AtIndex(closeBraceIndex + 2, tt.string)
+ );
+}