Update jsonschema protocols.pyi (#9295)

These take in an instance, which need not be a JSON object. 
They could for example be arrays. 
See [this example](https://python-jsonschema.readthedocs.io/en/stable/api/jsonschema/protocols/#jsonschema.protocols.Validator.iter_errors) on the jsonschema docs.

```python
>>> schema = {"maxItems" : 2}
>>> Draft202012Validator(schema).is_valid([2, 3, 4])
False
```
This commit is contained in:
Eddie Darling
2022-12-06 13:08:11 -08:00
committed by GitHub
parent fc69819a89
commit 0880741ba3

View File

@@ -1,11 +1,14 @@
from collections.abc import Iterator
from collections.abc import Iterator, Mapping, Sequence
from typing import Any, ClassVar, Protocol
from typing_extensions import TypeAlias
from jsonschema._format import FormatChecker
from jsonschema._types import TypeChecker
from jsonschema.exceptions import ValidationError
from jsonschema.validators import RefResolver
_JsonParameter: TypeAlias = str | int | float | bool | None | Mapping[str, _JsonParameter] | Sequence[_JsonParameter]
class Validator(Protocol):
META_SCHEMA: ClassVar[dict[Any, Any]]
VALIDATORS: ClassVar[dict[Any, Any]]
@@ -17,8 +20,8 @@ class Validator(Protocol):
) -> None: ...
@classmethod
def check_schema(cls, schema: dict[Any, Any]) -> None: ...
def is_type(self, instance: Any, type: str) -> bool: ...
def is_valid(self, instance: dict[Any, Any]) -> bool: ...
def iter_errors(self, instance: dict[Any, Any]) -> Iterator[ValidationError]: ...
def validate(self, instance: dict[Any, Any]) -> None: ...
def is_type(self, instance: _JsonParameter, type: str) -> bool: ...
def is_valid(self, instance: _JsonParameter) -> bool: ...
def iter_errors(self, instance: _JsonParameter) -> Iterator[ValidationError]: ...
def validate(self, instance: _JsonParameter) -> None: ...
def evolve(self, **kwargs) -> Validator: ...