summaryrefslogtreecommitdiff
path: root/cli/js/diagnostics.ts
blob: d8a3f2a3c0ca620732e607c3a4d3ba81d2aca026 (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.

// Diagnostic provides an abstraction for advice/errors received from a
// compiler, which is strongly influenced by the format of TypeScript
// diagnostics.

export enum DiagnosticCategory {
  Log = 0,
  Debug = 1,
  Info = 2,
  Error = 3,
  Warning = 4,
  Suggestion = 5,
}

export interface DiagnosticMessageChain {
  message: string;
  category: DiagnosticCategory;
  code: number;
  next?: DiagnosticMessageChain[];
}

export interface DiagnosticItem {
  message: string;

  messageChain?: DiagnosticMessageChain;

  relatedInformation?: DiagnosticItem[];

  sourceLine?: string;

  lineNumber?: number;

  scriptResourceName?: string;

  startPosition?: number;

  endPosition?: number;

  category: DiagnosticCategory;

  code: number;

  startColumn?: number;

  endColumn?: number;
}

export interface Diagnostic {
  items: DiagnosticItem[];
}