11import datetime
22import re
3- from _typeshed import Incomplete
43from collections import OrderedDict
54from collections .abc import Callable , Iterable , Iterator
65from io import StringIO
7- from typing import Final , Literal , overload
6+ from typing import ClassVar , Final , Literal , TypeAlias , overload
87
98from dateparser .conf import Settings
109
10+ _TokenType : TypeAlias = Literal [0 , 1 , 2 ]
11+ _Component : TypeAlias = Literal ["year" , "month" , "day" ]
12+
1113NSP_COMPATIBLE : Final [re .Pattern [str ]]
1214MERIDIAN : Final [re .Pattern [str ]]
1315MICROSECOND : Final [re .Pattern [str ]]
@@ -17,12 +19,12 @@ HOUR_MINUTE_REGEX: Final[re.Pattern[str]]
1719def no_space_parser_eligibile (datestring : str ) -> bool : ...
1820def get_unresolved_attrs (
1921 parser_object : object ,
20- ) -> tuple [list [Literal [ "year" , "month" , "day" ]] , list [Literal [ "year" , "month" , "day" ] ]]: ...
22+ ) -> tuple [list [_Component ] , list [_Component ]]: ...
2123
22- date_order_chart : Final [dict [str , str ]]
24+ date_order_chart : Final [dict [_Component , str ]]
2325
2426@overload
25- def resolve_date_order (order : str , lst : Literal [True ]) -> list [str ]: ...
27+ def resolve_date_order (order : str , lst : Literal [True ]) -> list [_Component ]: ...
2628@overload
2729def resolve_date_order (order : str , lst : Literal [False ] | None = None ) -> str : ...
2830
@@ -40,19 +42,21 @@ class _no_spaces_parser:
4042 def parse (cls , datestring : str , settings : Settings ) -> tuple [datetime .datetime , str ]: ...
4143
4244class _parser :
43- alpha_directives : OrderedDict [str , list [str ]]
44- num_directives : dict [str , list [str ]]
45+ alpha_directives : ClassVar [dict [str , list [str ]]]
46+ num_directives : ClassVar [dict [str , list [str ]]]
47+
4548 settings : Settings
46- tokens : list [tuple [Incomplete , Incomplete ]]
47- filtered_tokens : list [tuple [Incomplete , Incomplete , int ]]
48- unset_tokens : list [tuple [Incomplete , Incomplete , Incomplete ]]
49+ tokens : list [tuple [str , _TokenType ]]
50+ filtered_tokens : list [tuple [str , _TokenType , int ]]
51+ unset_tokens : list [tuple [str , _TokenType , _Component ]]
4952 day : int | None
5053 month : int | None
5154 year : int | None
5255 time : Callable [[], datetime .time ] | None
5356 auto_order : list [str ]
5457 ordered_num_directives : OrderedDict [str , list [str ]]
55- def __init__ (self , tokens : Iterable [Incomplete ], settings : Settings ) -> None : ...
58+
59+ def __init__ (self , tokens : Iterable [tuple [str , _TokenType ]], settings : Settings ) -> None : ...
5660 @classmethod
5761 def parse (
5862 cls , datestring : str , settings : Settings , tz : datetime .tzinfo | None = None
@@ -63,4 +67,4 @@ class tokenizer:
6367 letters : Literal ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ]
6468 instream : StringIO
6569 def __init__ (self , ds : str ) -> None : ...
66- def tokenize (self ) -> Iterator [tuple [str , Literal [ 0 , 1 , 2 ] ]]: ...
70+ def tokenize (self ) -> Iterator [tuple [str , _TokenType ]]: ...
0 commit comments