""" 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]], ]