summaryrefslogtreecommitdiff
path: root/node_modules/sucrase/dist/esm/util/isExportFrom.js
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:54:57 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:57:48 +0100
commitb1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch)
tree49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/sucrase/dist/esm/util/isExportFrom.js
Docs
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)
+ );
+}