Reduce the doctest lease duration...
[python_utils.git] / type_utils.py
index c2f432a2306fee2a828eaf8b9d0de41c224d3380..e760dba90412355579ea042bf0fa760960d644c5 100644 (file)
@@ -1,5 +1,7 @@
 #!/usr/bin/env python3
 
+# © Copyright 2021-2022, Scott Gasch
+
 """Utility functions for dealing with typing."""
 
 import logging
@@ -10,9 +12,16 @@ logger = logging.getLogger(__name__)
 
 def unwrap_optional(x: Optional[Any]) -> Any:
     """Unwrap an Optional[Type] argument returning a Type value back.
-    If the Optional[Type] argument is None, however, raise an exception.
-    Use this to satisfy most type checkers that a value that could
-    be None isn't so as to drop the Optional typing hint.
+    Use this to satisfy most type checkers that a value that could be
+    None isn't so as to drop the Optional typing hint.
+
+    Args:
+        x: an Optional[Type] argument
+
+    Returns:
+        If the Optional[Type] argument is non-None, return it.
+        If the Optional[Type] argument is None, however, raise an
+        exception.
 
     >>> x: Optional[bool] = True
     >>> unwrap_optional(x)
@@ -23,7 +32,6 @@ def unwrap_optional(x: Optional[Any]) -> Any:
     Traceback (most recent call last):
     ...
     AssertionError: Argument to unwrap_optional was unexpectedly None
-
     """
     if x is None:
         msg = 'Argument to unwrap_optional was unexpectedly None'