summaryrefslogblamecommitdiff
path: root/node_modules/sucrase/dist/esm/parser/traverser/index.js
blob: eb8c990a01e7ba8adc9cb35a399b046fc5f62774 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                              

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