Add metaclasses for string.Template and dataclasses.InitVar (#8852)

This commit is contained in:
Nikita Sobolev
2022-10-06 00:41:24 +03:00
committed by GitHub
parent ae1cca13c1
commit 6e84b56016
2 changed files with 18 additions and 4 deletions

View File

@@ -3,7 +3,7 @@ from _typeshed import StrOrLiteralStr
from collections.abc import Iterable, Mapping, Sequence
from re import Pattern, RegexFlag
from typing import Any, ClassVar, overload
from typing_extensions import LiteralString
from typing_extensions import LiteralString, TypeAlias
__all__ = [
"ascii_letters",
@@ -32,7 +32,14 @@ whitespace: LiteralString
def capwords(s: StrOrLiteralStr, sep: StrOrLiteralStr | None = ...) -> StrOrLiteralStr: ...
class Template:
if sys.version_info >= (3, 9):
_TemplateMetaclass: TypeAlias = type
else:
class _TemplateMetaclass(type):
pattern: ClassVar[str]
def __init__(cls, name: str, bases: tuple[type, ...], dct: dict[str, Any]) -> None: ...
class Template(metaclass=_TemplateMetaclass):
template: str
delimiter: ClassVar[str]
idpattern: ClassVar[str]