| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import types
- from _typeshed import SupportsLenAndGetItem
- from collections.abc import Callable, Mapping
- from typing import Any, Final, TypeAlias, TypeVar, overload
- from typing_extensions import TypeIs
- __all__ = ["formatargspec", "getargspec"]
- ###
- _T = TypeVar("_T")
- _RT = TypeVar("_RT")
- _StrSeq: TypeAlias = SupportsLenAndGetItem[str]
- _NestedSeq: TypeAlias = list[_T | _NestedSeq[_T]] | tuple[_T | _NestedSeq[_T], ...]
- _JoinFunc: TypeAlias = Callable[[list[_T]], _T]
- _FormatFunc: TypeAlias = Callable[[_T], str]
- ###
- CO_OPTIMIZED: Final = 1
- CO_NEWLOCALS: Final = 2
- CO_VARARGS: Final = 4
- CO_VARKEYWORDS: Final = 8
- ###
- def ismethod(object: object) -> TypeIs[types.MethodType]: ...
- def isfunction(object: object) -> TypeIs[types.FunctionType]: ...
- def iscode(object: object) -> TypeIs[types.CodeType]: ...
- ###
- def getargs(co: types.CodeType) -> tuple[list[str], str | None, str | None]: ...
- def getargspec(func: types.MethodType | types.FunctionType) -> tuple[list[str], str | None, str | None, tuple[Any, ...]]: ...
- def getargvalues(frame: types.FrameType) -> tuple[list[str], str | None, str | None, dict[str, Any]]: ...
- #
- def joinseq(seq: _StrSeq) -> str: ...
- #
- @overload
- def strseq(object: _NestedSeq[str], convert: Callable[[Any], Any], join: _JoinFunc[str] = ...) -> str: ...
- @overload
- def strseq(object: _NestedSeq[_T], convert: Callable[[_T], _RT], join: _JoinFunc[_RT]) -> _RT: ...
- #
- def formatargspec(
- args: _StrSeq,
- varargs: str | None = None,
- varkw: str | None = None,
- defaults: SupportsLenAndGetItem[object] | None = None,
- formatarg: _FormatFunc[str] = ..., # str
- formatvarargs: _FormatFunc[str] = ..., # "*{}".format
- formatvarkw: _FormatFunc[str] = ..., # "**{}".format
- formatvalue: _FormatFunc[object] = ..., # "={!r}".format
- join: _JoinFunc[str] = ..., # joinseq
- ) -> str: ...
- def formatargvalues(
- args: _StrSeq,
- varargs: str | None,
- varkw: str | None,
- locals: Mapping[str, object] | None,
- formatarg: _FormatFunc[str] = ..., # str
- formatvarargs: _FormatFunc[str] = ..., # "*{}".format
- formatvarkw: _FormatFunc[str] = ..., # "**{}".format
- formatvalue: _FormatFunc[object] = ..., # "={!r}".format
- join: _JoinFunc[str] = ..., # joinseq
- ) -> str: ...
|