aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/docx/types.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/docx/types.py')
-rw-r--r--.venv/lib/python3.12/site-packages/docx/types.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/docx/types.py b/.venv/lib/python3.12/site-packages/docx/types.py
new file mode 100644
index 00000000..00bc100a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docx/types.py
@@ -0,0 +1,36 @@
+"""Abstract types used by `python-docx`."""
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+from typing_extensions import Protocol
+
+if TYPE_CHECKING:
+ from docx.opc.part import XmlPart
+ from docx.parts.story import StoryPart
+
+
+class ProvidesStoryPart(Protocol):
+ """An object that provides access to the StoryPart.
+
+ This type is for objects that have a story part like document or header as their
+ root part.
+ """
+
+ @property
+ def part(self) -> StoryPart:
+ ...
+
+
+class ProvidesXmlPart(Protocol):
+ """An object that provides access to its XmlPart.
+
+ This type is for objects that need access to their part but it either isn't a
+ StoryPart or they don't care, possibly because they just need access to the package
+ or related parts.
+ """
+
+ @property
+ def part(self) -> XmlPart:
+ ...