Coverage for genschema / comparators / schema_version.py: 100%

9 statements  

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

1from .template import Comparator, ComparatorResult, ProcessingContext 

2 

3 

4class SchemaVersionComparator(Comparator): 

5 """ 

6 Компаратор для установки версии JSON Schema на верхнем уровне. 

7 """ 

8 

9 name = "schema_version" 

10 

11 def __init__(self, version: str = "https://json-schema.org/draft/2020-12/schema"): 

12 self._version = version 

13 

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

15 return env == "/" and "$schema" not in prev_result 

16 

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

18 return {"$schema": self._version}, None