File size: 1,140 Bytes
bc20498 |
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 34 |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getParserForLang = getParserForLang;
exports.getParser = getParser;
const espree_1 = require("./espree");
const parser_object_1 = require("./parser-object");
/** Get parser for script lang */
function getParserForLang(lang, parser) {
if (parser) {
if (typeof parser === "string" || (0, parser_object_1.isParserObject)(parser)) {
return parser;
}
if (typeof parser === "object") {
const value = parser[lang || "js"];
if (typeof value === "string" || (0, parser_object_1.isParserObject)(value)) {
return value;
}
}
}
return "espree";
}
/** Get parser */
function getParser(attrs, parser) {
const parserValue = getParserForLang(attrs.lang, parser);
if ((0, parser_object_1.isParserObject)(parserValue)) {
return parserValue;
}
if (parserValue !== "espree") {
// eslint-disable-next-line @typescript-eslint/no-require-imports -- ignore
return require(parserValue);
}
return (0, espree_1.getEspree)();
}
|