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.

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;
}