| """ | |
| Some (initially private) typing helpers for jsonschema's types. | |
| """ | |
| from typing import Any, Callable, Iterable, Protocol, Tuple, Union | |
| import referencing.jsonschema | |
| from jsonschema.protocols import Validator | |
| class SchemaKeywordValidator(Protocol): | |
| def __call__( | |
| self, | |
| validator: Validator, | |
| value: Any, | |
| instance: Any, | |
| schema: referencing.jsonschema.Schema, | |
| ) -> None: | |
| ... | |
| id_of = Callable[[referencing.jsonschema.Schema], Union[str, None]] | |
| ApplicableValidators = Callable[ | |
| [referencing.jsonschema.Schema], | |
| Iterable[Tuple[str, Any]], | |
| ] | |