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

1from dataclasses import dataclass 

2from typing import List, Optional 

3from enum import Enum 

4 

5 

6class FieldType(Enum): 

7 STRING = "string" 

8 NUMBER = "number" 

9 INTEGER = "integer" 

10 BOOLEAN = "boolean" 

11 

12 

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 

23 

24 

25@dataclass 

26class Schema: 

27 name: str 

28 description: Optional[str] = None 

29 fields: List[FieldSchema] 

30 

31 

32@dataclass 

33class ValidationResult: 

34 is_valid: bool 

35 errors: List[str] 

36 warnings: List[str]