improve var create typing (#4701)
This commit is contained in:
parent
58f87a6aa7
commit
5beea25b31
@ -196,8 +196,9 @@ class AccordionItem(AccordionComponent):
|
|||||||
|
|
||||||
# The header of the accordion item.
|
# The header of the accordion item.
|
||||||
header: Var[Union[Component, str]]
|
header: Var[Union[Component, str]]
|
||||||
|
|
||||||
# The content of the accordion item.
|
# The content of the accordion item.
|
||||||
content: Var[Union[Component, str]] = Var.create(None)
|
content: Var[Union[Component, str, None]] = Var.create(None)
|
||||||
|
|
||||||
_valid_children: List[str] = [
|
_valid_children: List[str] = [
|
||||||
"AccordionHeader",
|
"AccordionHeader",
|
||||||
|
@ -308,7 +308,9 @@ class AccordionItem(AccordionComponent):
|
|||||||
value: Optional[Union[Var[str], str]] = None,
|
value: Optional[Union[Var[str], str]] = None,
|
||||||
disabled: Optional[Union[Var[bool], bool]] = None,
|
disabled: Optional[Union[Var[bool], bool]] = None,
|
||||||
header: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
|
header: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
|
||||||
content: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
|
content: Optional[
|
||||||
|
Union[Component, Var[Optional[Union[Component, str]]], str]
|
||||||
|
] = None,
|
||||||
color_scheme: Optional[
|
color_scheme: Optional[
|
||||||
Union[
|
Union[
|
||||||
Literal[
|
Literal[
|
||||||
|
@ -80,6 +80,7 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
VAR_TYPE = TypeVar("VAR_TYPE", covariant=True)
|
VAR_TYPE = TypeVar("VAR_TYPE", covariant=True)
|
||||||
OTHER_VAR_TYPE = TypeVar("OTHER_VAR_TYPE")
|
OTHER_VAR_TYPE = TypeVar("OTHER_VAR_TYPE")
|
||||||
|
STRING_T = TypeVar("STRING_T", bound=str)
|
||||||
|
|
||||||
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
||||||
|
|
||||||
@ -550,12 +551,60 @@ class Var(Generic[VAR_TYPE]):
|
|||||||
|
|
||||||
return value_with_replaced
|
return value_with_replaced
|
||||||
|
|
||||||
|
@overload
|
||||||
|
@classmethod
|
||||||
|
def create( # type: ignore[override]
|
||||||
|
cls,
|
||||||
|
value: bool,
|
||||||
|
_var_data: VarData | None = None,
|
||||||
|
) -> BooleanVar: ...
|
||||||
|
|
||||||
|
@overload
|
||||||
|
@classmethod
|
||||||
|
def create( # type: ignore[override]
|
||||||
|
cls,
|
||||||
|
value: int,
|
||||||
|
_var_data: VarData | None = None,
|
||||||
|
) -> NumberVar[int]: ...
|
||||||
|
|
||||||
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(
|
def create(
|
||||||
cls,
|
cls,
|
||||||
value: Any,
|
value: float,
|
||||||
_var_data: VarData | None = None,
|
_var_data: VarData | None = None,
|
||||||
) -> Var:
|
) -> NumberVar[float]: ...
|
||||||
|
|
||||||
|
@overload
|
||||||
|
@classmethod
|
||||||
|
def create(
|
||||||
|
cls,
|
||||||
|
value: STRING_T,
|
||||||
|
_var_data: VarData | None = None,
|
||||||
|
) -> StringVar[STRING_T]: ...
|
||||||
|
|
||||||
|
@overload
|
||||||
|
@classmethod
|
||||||
|
def create(
|
||||||
|
cls,
|
||||||
|
value: None,
|
||||||
|
_var_data: VarData | None = None,
|
||||||
|
) -> NoneVar: ...
|
||||||
|
|
||||||
|
@overload
|
||||||
|
@classmethod
|
||||||
|
def create(
|
||||||
|
cls,
|
||||||
|
value: OTHER_VAR_TYPE,
|
||||||
|
_var_data: VarData | None = None,
|
||||||
|
) -> Var[OTHER_VAR_TYPE]: ...
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create(
|
||||||
|
cls,
|
||||||
|
value: OTHER_VAR_TYPE,
|
||||||
|
_var_data: VarData | None = None,
|
||||||
|
) -> Var[OTHER_VAR_TYPE]:
|
||||||
"""Create a var from a value.
|
"""Create a var from a value.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -31,7 +31,7 @@ from .base import (
|
|||||||
var_operation_return,
|
var_operation_return,
|
||||||
)
|
)
|
||||||
|
|
||||||
NUMBER_T = TypeVar("NUMBER_T", int, float, Union[int, float], bool)
|
NUMBER_T = TypeVar("NUMBER_T", int, float, bool)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .sequence import ArrayVar
|
from .sequence import ArrayVar
|
||||||
|
Loading…
Reference in New Issue
Block a user