1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const NormalizedMessage_1 = require("./NormalizedMessage");
|
4 | exports.makeCreateNormalizedMessageFromDiagnostic = (typescript) => {
|
5 | const createNormalizedMessageFromDiagnostic = (diagnostic) => {
|
6 | let file;
|
7 | let line;
|
8 | let character;
|
9 | if (diagnostic.file) {
|
10 | file = diagnostic.file.fileName;
|
11 | if (diagnostic.start === undefined) {
|
12 | throw new Error('Expected diagnostics to have start');
|
13 | }
|
14 | const position = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
|
15 | line = position.line + 1;
|
16 | character = position.character + 1;
|
17 | }
|
18 | return new NormalizedMessage_1.NormalizedMessage({
|
19 | type: NormalizedMessage_1.NormalizedMessage.TYPE_DIAGNOSTIC,
|
20 | code: diagnostic.code,
|
21 | severity: typescript.DiagnosticCategory[diagnostic.category].toLowerCase(),
|
22 | content: typescript.flattenDiagnosticMessageText(diagnostic.messageText, '\n'),
|
23 | file,
|
24 | line,
|
25 | character
|
26 | });
|
27 | };
|
28 | return createNormalizedMessageFromDiagnostic;
|
29 | };
|
30 | exports.makeCreateNormalizedMessageFromRuleFailure = () => {
|
31 | const createNormalizedMessageFromRuleFailure = (lint) => {
|
32 | const position = lint.getStartPosition().getLineAndCharacter();
|
33 | return new NormalizedMessage_1.NormalizedMessage({
|
34 | type: NormalizedMessage_1.NormalizedMessage.TYPE_LINT,
|
35 | code: lint.getRuleName(),
|
36 | severity: lint.getRuleSeverity(),
|
37 | content: lint.getFailure(),
|
38 | file: lint.getFileName(),
|
39 | line: position.line + 1,
|
40 | character: position.character + 1
|
41 | });
|
42 | };
|
43 | return createNormalizedMessageFromRuleFailure;
|
44 | };
|
45 | exports.makeCreateNormalizedMessageFromEsLintFailure = () => {
|
46 | const createNormalizedMessageFromEsLintFailure = (lint, filePath) => {
|
47 | return new NormalizedMessage_1.NormalizedMessage({
|
48 | type: NormalizedMessage_1.NormalizedMessage.TYPE_LINT,
|
49 | code: lint.ruleId,
|
50 | severity: lint.severity === 1
|
51 | ? NormalizedMessage_1.NormalizedMessage.SEVERITY_WARNING
|
52 | : NormalizedMessage_1.NormalizedMessage.SEVERITY_ERROR,
|
53 | content: lint.message,
|
54 | file: filePath,
|
55 | line: lint.line,
|
56 | character: lint.column
|
57 | });
|
58 | };
|
59 | return createNormalizedMessageFromEsLintFailure;
|
60 | };
|
61 | exports.makeCreateNormalizedMessageFromInternalError = () => {
|
62 | const createNormalizedMessageFromInternalError = (error) => {
|
63 | return new NormalizedMessage_1.NormalizedMessage({
|
64 | type: NormalizedMessage_1.NormalizedMessage.TYPE_DIAGNOSTIC,
|
65 | severity: NormalizedMessage_1.NormalizedMessage.SEVERITY_ERROR,
|
66 | code: NormalizedMessage_1.NormalizedMessage.ERROR_CODE_INTERNAL,
|
67 | content: typeof error.message === 'string' ? error.message : error.toString(),
|
68 | stack: typeof error.stack === 'string' ? error.stack : undefined,
|
69 | file: '[internal]'
|
70 | });
|
71 | };
|
72 | return createNormalizedMessageFromInternalError;
|
73 | };
|
74 |
|
\ | No newline at end of file |