29 lines
610 B
Python
29 lines
610 B
Python
|
"""
|
||
|
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]],
|
||
|
]
|