devsite/node_modules/sucrase/dist/esm/parser/index.js
2024-07-07 18:49:38 -07:00

32 lines
624 B
JavaScript

import {augmentError, initParser, state} from "./traverser/base";
import {parseFile} from "./traverser/index";
export class File {
constructor(tokens, scopes) {
this.tokens = tokens;
this.scopes = scopes;
}
}
export function parse(
input,
isJSXEnabled,
isTypeScriptEnabled,
isFlowEnabled,
) {
if (isFlowEnabled && isTypeScriptEnabled) {
throw new Error("Cannot combine flow and typescript plugins.");
}
initParser(input, isJSXEnabled, isTypeScriptEnabled, isFlowEnabled);
const result = parseFile();
if (state.error) {
throw augmentError(state.error);
}
return result;
}