mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-04 22:09:31 +08:00
28 lines
No EOL
1.4 KiB
Text
28 lines
No EOL
1.4 KiB
Text
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getParserServices = void 0;
|
|
const ERROR_MESSAGE = 'You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.';
|
|
/**
|
|
* Try to retrieve typescript parser service from context
|
|
*/
|
|
function getParserServices(context, allowWithoutFullTypeInformation = false) {
|
|
var _a;
|
|
// backwards compatibility check
|
|
// old versions of the parser would not return any parserServices unless parserOptions.project was set
|
|
if (!context.parserServices ||
|
|
!context.parserServices.program ||
|
|
!context.parserServices.esTreeNodeToTSNodeMap ||
|
|
!context.parserServices.tsNodeToESTreeNodeMap) {
|
|
throw new Error(ERROR_MESSAGE);
|
|
}
|
|
const hasFullTypeInformation = (_a = context.parserServices.hasFullTypeInformation) !== null && _a !== void 0 ? _a :
|
|
/* backwards compatible */ true;
|
|
// if a rule requires full type information, then hard fail if it doesn't exist
|
|
// this forces the user to supply parserOptions.project
|
|
if (!hasFullTypeInformation && !allowWithoutFullTypeInformation) {
|
|
throw new Error(ERROR_MESSAGE);
|
|
}
|
|
return context.parserServices;
|
|
}
|
|
exports.getParserServices = getParserServices;
|
|
//# sourceMappingURL=getParserServices.js.map |