Coverage for genschema / comparators / template.py: 91%

23 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-14 22:23 +0000

1from dataclasses import dataclass 

2from typing import Any, Optional 

3 

4 

5@dataclass 

6class ToDelete: 

7 content: int | float | str | list | dict = "" 

8 comparator_trigger: Optional["Comparator"] = None 

9 

10 

11@dataclass 

12class Resource: 

13 id: str 

14 type: str 

15 content: Any 

16 

17 

18@dataclass 

19class ProcessingContext: 

20 schemas: list[Resource] 

21 jsons: list[Resource] 

22 sealed: bool = False 

23 

24 

25ComparatorResult = tuple[Optional[dict[str, ToDelete | Any | bool]], Optional[list[dict]]] 

26 

27 

28class Comparator: 

29 name = "base" 

30 

31 def can_process(self, ctx: ProcessingContext, env: str, prev_result: dict) -> bool: 

32 return False 

33 

34 def process(self, ctx: ProcessingContext, env: str, prev_result: dict) -> ComparatorResult: 

35 return None, None