diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/marshmallow/types.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/marshmallow/types.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/marshmallow/types.py b/.venv/lib/python3.12/site-packages/marshmallow/types.py new file mode 100644 index 00000000..599f6b49 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/marshmallow/types.py @@ -0,0 +1,40 @@ +"""Type aliases. + +.. warning:: + + This module is provisional. Types may be modified, added, and removed between minor releases. +""" + +from __future__ import annotations + +import typing + +#: A type that can be either a sequence of strings or a set of strings +StrSequenceOrSet = typing.Union[typing.Sequence[str], typing.AbstractSet[str]] + +#: Type for validator functions +Validator = typing.Callable[[typing.Any], typing.Any] + + +class SchemaValidator(typing.Protocol): + def __call__( + self, + output: typing.Any, + original_data: typing.Any = ..., + *, + partial: bool | StrSequenceOrSet | None = None, + many: bool = False, + ) -> None: ... + + +class RenderModule(typing.Protocol): + def dumps( + self, obj: typing.Any, *args: typing.Any, **kwargs: typing.Any + ) -> str: ... + + def loads( + self, + json_data: str | bytes | bytearray, + *args: typing.Any, + **kwargs: typing.Any, + ) -> typing.Any: ... |