1- from collections .abc import Iterable , Mapping
1+ from _typeshed import SupportsItems , SupportsKeysAndGetItem
2+ from collections .abc import Container , Iterable
23from types import GenericAlias
34from typing import Any , Generic , TypeVar , overload
4- from typing_extensions import TypeAlias
55
66__all__ = ["CookieError" , "BaseCookie" , "SimpleCookie" ]
77
8- _DataType : TypeAlias = str | Mapping [str , str | Morsel [Any ]]
98_T = TypeVar ("_T" )
109
1110@overload
@@ -30,27 +29,24 @@ class Morsel(dict[str, Any], Generic[_T]):
3029 def set (self , key : str , val : str , coded_val : _T ) -> None : ...
3130 def setdefault (self , key : str , val : str | None = None ) -> str : ...
3231 # The dict update can also get a keywords argument so this is incompatible
33- @overload # type: ignore[override]
34- def update (self , values : Mapping [str , str ]) -> None : ...
35- @overload
36- def update (self , values : Iterable [tuple [str , str ]]) -> None : ...
32+ def update (self , values : Iterable [tuple [str , str ]] | SupportsKeysAndGetItem [str , str ]) -> None : ... # type: ignore[override]
3733 def isReservedKey (self , K : str ) -> bool : ...
38- def output (self , attrs : list [str ] | None = None , header : str = "Set-Cookie:" ) -> str : ...
34+ def output (self , attrs : Container [str ] | None = None , header : str = "Set-Cookie:" ) -> str : ...
3935 __str__ = output
40- def js_output (self , attrs : list [str ] | None = None ) -> str : ...
41- def OutputString (self , attrs : list [str ] | None = None ) -> str : ...
36+ def js_output (self , attrs : Container [str ] | None = None ) -> str : ...
37+ def OutputString (self , attrs : Container [str ] | None = None ) -> str : ...
4238 def __eq__ (self , morsel : object ) -> bool : ...
4339 def __setitem__ (self , K : str , V : Any ) -> None : ...
4440 def __class_getitem__ (cls , item : Any , / ) -> GenericAlias : ...
4541
4642class BaseCookie (dict [str , Morsel [_T ]], Generic [_T ]):
47- def __init__ (self , input : _DataType | None = None ) -> None : ...
43+ def __init__ (self , input : str | SupportsItems [ str , str | Morsel [ Any ]] | None = None ) -> None : ...
4844 def value_decode (self , val : str ) -> tuple [_T , str ]: ...
4945 def value_encode (self , val : _T ) -> tuple [_T , str ]: ...
50- def output (self , attrs : list [str ] | None = None , header : str = "Set-Cookie:" , sep : str = "\r \n " ) -> str : ...
46+ def output (self , attrs : Container [str ] | None = None , header : str = "Set-Cookie:" , sep : str = "\r \n " ) -> str : ...
5147 __str__ = output
52- def js_output (self , attrs : list [str ] | None = None ) -> str : ...
53- def load (self , rawdata : _DataType ) -> None : ...
48+ def js_output (self , attrs : Container [str ] | None = None ) -> str : ...
49+ def load (self , rawdata : str | SupportsItems [ str , str | Morsel [ Any ]] ) -> None : ...
5450 def __setitem__ (self , key : str , value : str | Morsel [_T ]) -> None : ...
5551
5652class SimpleCookie (BaseCookie [str ]): ...
0 commit comments