diff options
Diffstat (limited to 'jsonschema/_typing.py')
-rw-r--r-- | jsonschema/_typing.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/jsonschema/_typing.py b/jsonschema/_typing.py new file mode 100644 index 0000000..d283dc4 --- /dev/null +++ b/jsonschema/_typing.py @@ -0,0 +1,28 @@ +""" +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]], +] |