Coverage for lintro / parsers / tsc / tsc_issue.py: 100%
9 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Models for tsc (TypeScript Compiler) issues."""
3from __future__ import annotations
5from dataclasses import dataclass, field
7from lintro.parsers.base_issue import BaseIssue
10@dataclass
11class TscIssue(BaseIssue):
12 """Represents a TypeScript compiler issue.
14 This class extends BaseIssue with tsc-specific fields for type checking
15 errors and warnings. All fields are optional to handle cases where
16 tsc doesn't provide complete location information.
18 Attributes:
19 code: TypeScript error code (e.g., "TS2322", "TS1234").
20 Empty string if tsc doesn't provide an error code.
21 severity: Severity level reported by tsc (e.g., "error", "warning").
22 None if severity is not specified.
23 end_line: Optional end line number for multi-line issues.
24 None if the issue is on a single line or end position is unknown.
25 end_column: Optional end column number for issues spanning multiple columns.
26 None if the issue is at a single column or end position is unknown.
28 Examples:
29 >>> issue = TscIssue(
30 ... file="src/main.ts",
31 ... line=10,
32 ... column=5,
33 ... code="TS2322",
34 ... severity="error",
35 ... message="Type 'string' is not assignable to type 'number'.",
36 ... )
37 """
39 code: str = field(default="")
40 severity: str | None = field(default=None)
41 end_line: int | None = field(default=None)
42 end_column: int | None = field(default=None)