devsite/node_modules/sucrase/dist/esm/parser/traverser/index.js

19 lines
478 B
JavaScript
Raw Permalink Normal View History

2024-07-08 01:49:38 +00:00
import {nextToken, skipLineComment} from "../tokenizer/index";
import {charCodes} from "../util/charcodes";
import {input, state} from "./base";
import {parseTopLevel} from "./statement";
export function parseFile() {
// If enabled, skip leading hashbang line.
if (
state.pos === 0 &&
input.charCodeAt(0) === charCodes.numberSign &&
input.charCodeAt(1) === charCodes.exclamationMark
) {
skipLineComment(2);
}
nextToken();
return parseTopLevel();
}