'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parse = void 0;
// This module is suitable for passing as options.parser when calling
// recast.parse to process JavaScript code with Acorn:
//
//   const ast = recast.parse(source, {
//     parser: require("recast/parsers/acorn")
//   });
//
var util_1 = require("../lib/util");
function parse(source, options) {
    var comments = [];
    var tokens = [];
    var ast = require("acorn").parse(source, {
        allowHashBang: true,
        allowImportExportEverywhere: true,
        allowReturnOutsideFunction: true,
        ecmaVersion: (0, util_1.getOption)(options, "ecmaVersion", 8),
        sourceType: (0, util_1.getOption)(options, "sourceType", "module"),
        locations: true,
        onComment: comments,
        onToken: tokens,
    });
    if (!ast.comments) {
        ast.comments = comments;
    }
    if (!ast.tokens) {
        ast.tokens = tokens;
    }
    return ast;
}
exports.parse = parse;