diff options
author | Julian Berman <Julian@GrayVines.com> | 2023-03-15 14:01:08 -0400 |
---|---|---|
committer | Julian Berman <Julian@GrayVines.com> | 2023-03-15 14:01:08 -0400 |
commit | 69fc7b4eaf5ab622ac9cb7a20cd1039f0620184d (patch) | |
tree | 802928e9b3642c13a5d77289e89dc0bd23913c83 /jsonschema/_typing.py | |
parent | 8bdec0635103833dcb90fdef28d2ca070b6c97a3 (diff) | |
download | jsonschema-69fc7b4eaf5ab622ac9cb7a20cd1039f0620184d.tar.gz |
Newer attrs API in validators.py and some type hints for create.
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]], +] |