From d0d78f65e971d49999e4cdb41369333c425f6f73 Mon Sep 17 00:00:00 2001 From: Hussain Nagaria Date: Sun, 17 Dec 2023 14:48:45 +0530 Subject: [PATCH] docs: typing overloads for get_first_day_of_week/last_day_of_week --- frappe/utils/data.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/frappe/utils/data.py b/frappe/utils/data.py index 40e8685484..261996a5ee 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -475,6 +475,16 @@ def get_quarter_start(dt, as_str: bool = False) -> str | datetime.date: return first_date_of_quarter.strftime(DATE_FORMAT) if as_str else first_date_of_quarter +@typing.overload +def get_first_day_of_week(dt: DateTimeLikeObject, as_str: Literal[False] = False) -> datetime.date: + ... + + +@typing.overload +def get_first_day_of_week(dt: DateTimeLikeObject, as_str: Literal[True] = False) -> str: + ... + + def get_first_day_of_week(dt: DateTimeLikeObject, as_str=False) -> datetime.date | str: """Returns the first day of the week (as per System Settings or Sunday by default) for the given datetime like object (`dt`). @@ -507,6 +517,16 @@ def get_year_start(dt: DateTimeLikeObject, as_str=False) -> str | datetime.date: return date.strftime(DATE_FORMAT) if as_str else date +@typing.overload +def get_last_day_of_week(dt: DateTimeLikeObject, as_str: Literal[False] = False) -> datetime.date: + ... + + +@typing.overload +def get_last_day_of_week(dt: DateTimeLikeObject, as_str: Literal[True] = False) -> str: + ... + + def get_last_day_of_week(dt: DateTimeLikeObject, as_str=False) -> datetime.date | str: """Returns the last day of the week (first day is taken from System Settings or Sunday by default) for the given datetime like object (`dt`).