mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 04:54:47 +08:00
WTForms: Fix incorrect Form constructor return type for pyright (#12875)
This commit is contained in:
16
stubs/WTForms/@tests/test_cases/check_form.py
Normal file
16
stubs/WTForms/@tests/test_cases/check_form.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing_extensions import assert_type
|
||||
|
||||
from wtforms import Form, StringField
|
||||
from wtforms.fields.core import UnboundField
|
||||
|
||||
|
||||
class MyForm(Form):
|
||||
name = StringField()
|
||||
|
||||
|
||||
form = MyForm()
|
||||
assert_type(form, MyForm)
|
||||
assert_type(form.name, StringField)
|
||||
assert_type(MyForm.name, UnboundField[StringField])
|
||||
@@ -1,11 +1,12 @@
|
||||
from _typeshed import SupportsItems
|
||||
from collections.abc import Iterable, Iterator, Mapping, Sequence
|
||||
from typing import Any, ClassVar, Protocol, overload
|
||||
from typing import Any, ClassVar, Protocol, TypeVar, overload
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
from wtforms.fields.core import Field, UnboundField
|
||||
from wtforms.meta import DefaultMeta, _MultiDictLike
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_FormErrors: TypeAlias = dict[str | None, Sequence[str] | _FormErrors]
|
||||
|
||||
# _unbound_fields will always be a list on an instance, but on a
|
||||
@@ -55,7 +56,7 @@ class BaseForm:
|
||||
|
||||
class FormMeta(type):
|
||||
def __init__(cls, name: str, bases: Sequence[type[object]], attrs: Mapping[str, Any]) -> None: ...
|
||||
def __call__(cls, *args: Any, **kwargs: Any) -> Any: ...
|
||||
def __call__(cls: type[_T], *args: Any, **kwargs: Any) -> _T: ...
|
||||
def __setattr__(cls, name: str, value: object) -> None: ...
|
||||
def __delattr__(cls, name: str) -> None: ...
|
||||
|
||||
|
||||
Reference in New Issue
Block a user