You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
3.2 KiB

4 years ago
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const NormalizedMessage_1 = require("./NormalizedMessage");
exports.makeCreateNormalizedMessageFromDiagnostic = (typescript) => {
const createNormalizedMessageFromDiagnostic = (diagnostic) => {
let file;
let line;
let character;
if (diagnostic.file) {
file = diagnostic.file.fileName;
if (diagnostic.start === undefined) {
throw new Error('Expected diagnostics to have start');
}
const position = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
line = position.line + 1;
character = position.character + 1;
}
return new NormalizedMessage_1.NormalizedMessage({
type: NormalizedMessage_1.NormalizedMessage.TYPE_DIAGNOSTIC,
code: diagnostic.code,
severity: typescript.DiagnosticCategory[diagnostic.category].toLowerCase(),
content: typescript.flattenDiagnosticMessageText(diagnostic.messageText, '\n'),
file,
line,
character
});
};
return createNormalizedMessageFromDiagnostic;
};
exports.makeCreateNormalizedMessageFromRuleFailure = () => {
const createNormalizedMessageFromRuleFailure = (lint) => {
const position = lint.getStartPosition().getLineAndCharacter();
return new NormalizedMessage_1.NormalizedMessage({
type: NormalizedMessage_1.NormalizedMessage.TYPE_LINT,
code: lint.getRuleName(),
severity: lint.getRuleSeverity(),
content: lint.getFailure(),
file: lint.getFileName(),
line: position.line + 1,
character: position.character + 1
});
};
return createNormalizedMessageFromRuleFailure;
};
exports.makeCreateNormalizedMessageFromEsLintFailure = () => {
const createNormalizedMessageFromEsLintFailure = (lint, filePath) => {
return new NormalizedMessage_1.NormalizedMessage({
type: NormalizedMessage_1.NormalizedMessage.TYPE_LINT,
code: lint.ruleId,
severity: lint.severity === 1
? NormalizedMessage_1.NormalizedMessage.SEVERITY_WARNING
: NormalizedMessage_1.NormalizedMessage.SEVERITY_ERROR,
content: lint.message,
file: filePath,
line: lint.line,
character: lint.column
});
};
return createNormalizedMessageFromEsLintFailure;
};
exports.makeCreateNormalizedMessageFromInternalError = () => {
const createNormalizedMessageFromInternalError = (error) => {
return new NormalizedMessage_1.NormalizedMessage({
type: NormalizedMessage_1.NormalizedMessage.TYPE_DIAGNOSTIC,
severity: NormalizedMessage_1.NormalizedMessage.SEVERITY_ERROR,
code: NormalizedMessage_1.NormalizedMessage.ERROR_CODE_INTERNAL,
content: typeof error.message === 'string' ? error.message : error.toString(),
stack: typeof error.stack === 'string' ? error.stack : undefined,
file: '[internal]'
});
};
return createNormalizedMessageFromInternalError;
};
//# sourceMappingURL=NormalizedMessageFactories.js.map