jiuyiUniapp/service/node_modules/recast/parsers/esprima.js

31 lines
987 B
JavaScript

"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 ECMAScript code with Esprima:
//
// const ast = recast.parse(source, {
// parser: require("recast/parsers/esprima")
// });
//
var util_1 = require("../lib/util");
function parse(source, options) {
var comments = [];
var ast = require("esprima").parse(source, {
loc: true,
locations: true,
comment: true,
onComment: comments,
range: (0, util_1.getOption)(options, "range", false),
tolerant: (0, util_1.getOption)(options, "tolerant", true),
tokens: true,
jsx: (0, util_1.getOption)(options, "jsx", false),
sourceType: (0, util_1.getOption)(options, "sourceType", "module"),
});
if (!Array.isArray(ast.comments)) {
ast.comments = comments;
}
return ast;
}
exports.parse = parse;