about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/marshmallow/types.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/marshmallow/types.py')
-rw-r--r--.venv/lib/python3.12/site-packages/marshmallow/types.py40
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: ...