Coverage for src/csv_schema_validator/types.py: 0%
28 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-18 20:14 +0200
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-18 20:14 +0200
1from dataclasses import dataclass
2from typing import List, Optional
3from enum import Enum
6class FieldType(Enum):
7 STRING = "string"
8 NUMBER = "number"
9 INTEGER = "integer"
10 BOOLEAN = "boolean"
13@dataclass
14class FieldSchema:
15 name: str
16 type: FieldType
17 required: Optional[bool] = False
18 description: Optional[str] = None
19 enum: Optional[List[str]] = None
20 pattern: Optional[str] = None
21 min_value: Optional[float] = None
22 max_value: Optional[float] = None
25@dataclass
26class Schema:
27 name: str
28 description: Optional[str] = None
29 fields: List[FieldSchema]
32@dataclass
33class ValidationResult:
34 is_valid: bool
35 errors: List[str]
36 warnings: List[str]