diff --git a/CHANGES.rst b/CHANGES.rst index 8b5040c01..4500c858e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,7 +10,7 @@ Change log Minor changes ~~~~~~~~~~~~~ -- ... +- Add type hints to :class:`~icalendar.prop.recur.frequency.vFrequency`. :issue:`938` Breaking changes ~~~~~~~~~~~~~~~~ diff --git a/src/icalendar/prop/recur/frequency.py b/src/icalendar/prop/recur/frequency.py index 91b13b5c5..d72e7239c 100644 --- a/src/icalendar/prop/recur/frequency.py +++ b/src/icalendar/prop/recur/frequency.py @@ -29,11 +29,11 @@ class vFrequency(str): def __new__( cls, - value, - encoding=DEFAULT_ENCODING, + value: Any, + encoding: str = DEFAULT_ENCODING, /, params: dict[str, Any] | None = None, - ): + ) -> Self: value = to_unicode(value, encoding=encoding) self = super().__new__(cls, value) if self not in vFrequency.frequencies: @@ -41,11 +41,11 @@ def __new__( self.params = Parameters(params) return self - def to_ical(self): + def to_ical(self) -> bytes: return self.encode(DEFAULT_ENCODING).upper() @classmethod - def from_ical(cls, ical): + def from_ical(cls, ical: Any) -> Self: try: return cls(ical.upper()) except Exception as e: