mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 13:04:46 +08:00
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:
@@ -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: ...
|
||||
|
||||
Reference in New Issue
Block a user