diff --git a/changelogs/fragments/0.1.1.yml b/changelogs/fragments/0.1.1.yml index f9c6dab..6bcef84 100644 --- a/changelogs/fragments/0.1.1.yml +++ b/changelogs/fragments/0.1.1.yml @@ -1,3 +1,4 @@ --- minor_changes: - Added an type hint to the update_doc function + - Added Type hint to the dictionary argument of the diff method diff --git a/plugins/module_utils/module.py b/plugins/module_utils/module.py index d62372f..a42ad78 100644 --- a/plugins/module_utils/module.py +++ b/plugins/module_utils/module.py @@ -1,6 +1,6 @@ import pathlib from copy import deepcopy -from typing import Any, Callable, ClassVar, Dict, NoReturn, Optional, Type, TypeVar, Union, overload +from typing import Any, Callable, ClassVar, Dict, NoReturn, Optional, Type, TypeVar, Union, overload, TypedDict from ansible.utils.display import Display import ansible.module_utils.basic as basic @@ -18,6 +18,13 @@ __all__ = ( T = TypeVar("T") +class TypedDiff(TypedDict): + before: str + after: str + before_header: Optional[str] = None + after_header: Optional[str] = None + + def docify(input: Union[dict, AnsibleParameter]) -> dict: options = dict() for name, help in input.items(): @@ -82,7 +89,7 @@ class AnsibleModule(object): self.result[key] = value @overload - def diff(self, diff: Dict[str, str]): # pragma: nocover + def diff(self, diff: TypedDiff): # pragma: nocover pass @overload