
* fully migrate vars into new system * i hate rufffff (no i don't) * fix silly pright issues (except colormode and state) * remove all instances of Var.create * create immutable callable var and get rid of more base vars * implement hash for all functions * get reflex-web to compile * get it to compile reflex-web successfully * fix tests * fix pyi * use override from typing_extension * put plotly inside of a catch * dicts are unusable sadly * fix silly mistake * overload equals to special case immutable var * improve test_cond * solve more CI issues, down to 94 failures * down to 20 errors * down to 13 errors * pass all testcases * fix pyright issues * reorder things * use get origin more * use fixed_type logic * various optimizations * go back to passing test cases * use less boilerplate * remove unnecessary print message * remove weird comment * add test for html issue * add type ignore * fix another silly issue * override get all var data for var operations call * make integration tests pass * fix immutable call var * better logic for finding parent class * use even better logic for finding state wrt computedvar * only choose the ones that are defined in the same module * small dict to large dict * [REF-3591] Remove chakra-related files from immutable vars PR (#3821) * Add comments to html metadata component (#3731) * fix: add verification for path /404 (#3723) Co-authored-by: coolstorm <manas.gupta@fampay.in> * Use the new state name when setting `is_hydrated` to false (#3738) * Use `._is_mutable()` to account for parent state proxy (#3739) When a parent state proxy is set, also allow child StateProxy._self_mutable to override the parent's `_is_mutable()`. * bump to 0.5.9 (#3746) * add message when installing requirements.txt is needed for chosen template during init (#3750) * #3752 bugfix add domain for XAxis (#3764) * fix appharness app_source typing (#3777) * fix import clash between connectionToaster and hooks.useState (#3749) * use different registry when in china, fixes #3700 (#3702) * do not reload compilation if using local app in AppHarness (#3790) * do not reload if using local app * Update reflex/testing.py Co-authored-by: Masen Furer <m_github@0x26.net> --------- Co-authored-by: Masen Furer <m_github@0x26.net> * Bump memory on relevant actions (#3781) Co-authored-by: Alek Petuskey <alekpetuskey@Aleks-MacBook-Pro.local> * [REF-3334] Validate Toast Props (#3793) * [REF-3536][REF-3537][REF-3541] Move chakra components into its repo(reflex-chakra) (#3798) * fix get_uuid_string_var (#3795) * minor State cleanup (#3768) * Fix code wrap in markdown (#3755) --------- Co-authored-by: Alek Petuskey <alek@pynecone.io> Co-authored-by: Manas Gupta <53006261+Manas1820@users.noreply.github.com> Co-authored-by: coolstorm <manas.gupta@fampay.in> Co-authored-by: Thomas Brandého <thomas.brandeho@gmail.com> Co-authored-by: Shubhankar Dimri <dimrishubhi@gmail.com> Co-authored-by: benedikt-bartscher <31854409+benedikt-bartscher@users.noreply.github.com> Co-authored-by: Khaleel Al-Adhami <khaleel.aladhami@gmail.com> Co-authored-by: Alek Petuskey <alekpetuskey@Aleks-MacBook-Pro.local> Co-authored-by: Elijah Ahianyo <elijahahianyo@gmail.com> * pyproject.toml: bump to 0.6.0a1 * pyproject.toml: depend on reflex-chakra>=0.6.0a New Var system support in reflex-chakra 0.6.0a1 * poetry.lock: relock dependencies * integration: bump listening timeout to 1200 seconds * integration: bump listening timeout to 1800 seconds * Use cached_var_no_lock to avoid ImmutableVar deadlocks (#3835) * Use cached_var_no_lock to avoid ImmutableVar deadlocks ImmutableVar subclasses will always return the same value for a _var_name or _get_all_var_data so there is no need to use a per-class lock to protect a cached attribute on an instance, and doing so actually is observed to cause deadlocks when a particular _cached_var_name creates new LiteralVar instances and attempts to serialize them. * remove unused module global --------- Co-authored-by: Masen Furer <m_github@0x26.net> Co-authored-by: Alek Petuskey <alek@pynecone.io> Co-authored-by: Manas Gupta <53006261+Manas1820@users.noreply.github.com> Co-authored-by: coolstorm <manas.gupta@fampay.in> Co-authored-by: Thomas Brandého <thomas.brandeho@gmail.com> Co-authored-by: Shubhankar Dimri <dimrishubhi@gmail.com> Co-authored-by: benedikt-bartscher <31854409+benedikt-bartscher@users.noreply.github.com> Co-authored-by: Alek Petuskey <alekpetuskey@Aleks-MacBook-Pro.local> Co-authored-by: Elijah Ahianyo <elijahahianyo@gmail.com>
222 lines
7.2 KiB
Python
222 lines
7.2 KiB
Python
"""Generated with stubgen from mypy, then manually edited, do not regen."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import datetime
|
|
from dataclasses import dataclass
|
|
from types import FunctionType
|
|
from typing import (
|
|
Any,
|
|
Callable,
|
|
Dict,
|
|
Iterable,
|
|
List,
|
|
Optional,
|
|
Set,
|
|
Tuple,
|
|
Type,
|
|
Union,
|
|
_GenericAlias, # type: ignore
|
|
overload,
|
|
)
|
|
|
|
from _typeshed import Incomplete
|
|
|
|
from reflex import constants as constants
|
|
from reflex.base import Base as Base
|
|
from reflex.state import BaseState as BaseState
|
|
from reflex.state import State as State
|
|
from reflex.utils import console as console
|
|
from reflex.utils import format as format
|
|
from reflex.utils import types as types
|
|
from reflex.utils.imports import ImmutableParsedImportDict, ImportDict, ParsedImportDict
|
|
|
|
USED_VARIABLES: Incomplete
|
|
|
|
def get_unique_variable_name() -> str: ...
|
|
def _encode_var(value: Var) -> str: ...
|
|
|
|
_global_vars: Dict[int, Var]
|
|
|
|
def _decode_var(value: str) -> tuple[VarData, str]: ...
|
|
def _extract_var_data(value: Iterable) -> list[VarData | None]: ...
|
|
|
|
class VarData(Base):
|
|
state: str = ""
|
|
imports: Union[ImportDict, ParsedImportDict] = {}
|
|
hooks: Dict[str, None] = {}
|
|
interpolations: List[Tuple[int, int]] = []
|
|
@classmethod
|
|
def merge(cls, *others: ImmutableVarData | VarData | None) -> VarData | None: ...
|
|
|
|
class ImmutableVarData:
|
|
state: str = ""
|
|
imports: ImmutableParsedImportDict = tuple()
|
|
hooks: Tuple[str, ...] = tuple()
|
|
def __init__(
|
|
self,
|
|
state: str = "",
|
|
imports: ImportDict | ParsedImportDict | None = None,
|
|
hooks: dict[str, None] | None = None,
|
|
) -> None: ...
|
|
@classmethod
|
|
def merge(
|
|
cls, *others: ImmutableVarData | VarData | None
|
|
) -> ImmutableVarData | None: ...
|
|
@classmethod
|
|
def from_state(cls, state: Type[BaseState] | str) -> ImmutableVarData: ...
|
|
|
|
def _decode_var_immutable(value: str) -> tuple[ImmutableVarData, str]: ...
|
|
|
|
class Var:
|
|
_var_name: str
|
|
_var_type: Type
|
|
_var_is_local: bool = False
|
|
_var_is_string: bool = False
|
|
_var_full_name_needs_state_prefix: bool = False
|
|
_var_data: VarData | None = None
|
|
@classmethod
|
|
def create(
|
|
cls,
|
|
value: Any,
|
|
_var_is_local: bool = True,
|
|
_var_is_string: bool | None = None,
|
|
_var_data: VarData | None = None,
|
|
) -> Optional[Var]: ...
|
|
@classmethod
|
|
def create_safe(
|
|
cls,
|
|
value: Any,
|
|
_var_is_local: bool = True,
|
|
_var_is_string: bool | None = None,
|
|
_var_data: VarData | None = None,
|
|
) -> Var: ...
|
|
@classmethod
|
|
def __class_getitem__(cls, type_: Type) -> _GenericAlias: ...
|
|
def _replace(self, merge_var_data=None, **kwargs: Any) -> BaseVar: ...
|
|
def equals(self, other: Var) -> bool: ...
|
|
def to_string(self) -> Var: ...
|
|
def __hash__(self) -> int: ...
|
|
def __format__(self, format_spec: str) -> str: ...
|
|
def __getitem__(self, i: Any) -> Var: ...
|
|
def __getattribute__(self, name: str) -> Var: ...
|
|
def operation(
|
|
self,
|
|
op: str = ...,
|
|
other: Optional[Var] = ...,
|
|
type_: Optional[Type] = ...,
|
|
flip: bool = ...,
|
|
fn: Optional[str] = ...,
|
|
) -> Var: ...
|
|
def compare(self, op: str, other: Var) -> Var: ...
|
|
def __invert__(self) -> Var: ...
|
|
def __neg__(self) -> Var: ...
|
|
def __abs__(self) -> Var: ...
|
|
def length(self) -> Var: ...
|
|
def __eq__(self, other: Var) -> Var: ...
|
|
def __ne__(self, other: Var) -> Var: ...
|
|
def __gt__(self, other: Var) -> Var: ...
|
|
def __ge__(self, other: Var) -> Var: ...
|
|
def __lt__(self, other: Var) -> Var: ...
|
|
def __le__(self, other: Var) -> Var: ...
|
|
def __add__(self, other: Var) -> Var: ...
|
|
def __radd__(self, other: Var) -> Var: ...
|
|
def __sub__(self, other: Var) -> Var: ...
|
|
def __rsub__(self, other: Var) -> Var: ...
|
|
def __mul__(self, other: Var) -> Var: ...
|
|
def __rmul__(self, other: Var) -> Var: ...
|
|
def __pow__(self, other: Var) -> Var: ...
|
|
def __rpow__(self, other: Var) -> Var: ...
|
|
def __truediv__(self, other: Var) -> Var: ...
|
|
def __rtruediv__(self, other: Var) -> Var: ...
|
|
def __floordiv__(self, other: Var) -> Var: ...
|
|
def __mod__(self, other: Var) -> Var: ...
|
|
def __rmod__(self, other: Var) -> Var: ...
|
|
def __and__(self, other: Var) -> Var: ...
|
|
def __rand__(self, other: Var) -> Var: ...
|
|
def __or__(self, other: Var) -> Var: ...
|
|
def __ror__(self, other: Var) -> Var: ...
|
|
def __contains__(self, _: Any) -> Var: ...
|
|
def contains(self, other: Any, field: Union[Var, None] = None) -> Var: ...
|
|
def reverse(self) -> Var: ...
|
|
def foreach(self, fn: Callable) -> Var: ...
|
|
@classmethod
|
|
def range(
|
|
cls,
|
|
v1: Var | int = 0,
|
|
v2: Var | int | None = None,
|
|
step: Var | int | None = None,
|
|
) -> Var: ...
|
|
def to(self, type_: Type) -> Var: ...
|
|
def as_ref(self) -> Var: ...
|
|
@property
|
|
def _var_full_name(self) -> str: ...
|
|
def _var_set_state(self, state: Type[BaseState] | str) -> Any: ...
|
|
def _get_all_var_data(self) -> VarData | ImmutableVarData: ...
|
|
def json(self) -> str: ...
|
|
def _type(self) -> Var: ...
|
|
|
|
@dataclass(eq=False)
|
|
class BaseVar(Var):
|
|
_var_name: str
|
|
_var_type: Any
|
|
_var_is_local: bool = False
|
|
_var_is_string: bool = False
|
|
_var_full_name_needs_state_prefix: bool = False
|
|
_var_data: VarData | None = None
|
|
def __hash__(self) -> int: ...
|
|
def get_default_value(self) -> Any: ...
|
|
def get_setter_name(self, include_state: bool = ...) -> str: ...
|
|
def get_setter(self) -> Callable[[BaseState, Any], None]: ...
|
|
|
|
@dataclass(init=False)
|
|
class ComputedVar(Var):
|
|
_var_cache: bool
|
|
fget: FunctionType
|
|
@property
|
|
def _cache_attr(self) -> str: ...
|
|
def __get__(self, instance, owner): ...
|
|
def _deps(self, objclass: Type, obj: Optional[FunctionType] = ...) -> Set[str]: ...
|
|
def _replace(self, merge_var_data=None, **kwargs: Any) -> ComputedVar: ...
|
|
def mark_dirty(self, instance) -> None: ...
|
|
def needs_update(self, instance) -> bool: ...
|
|
def _determine_var_type(self) -> Type: ...
|
|
@overload
|
|
def __init__(
|
|
self,
|
|
fget: Callable[[BaseState], Any],
|
|
**kwargs,
|
|
) -> None: ...
|
|
@overload
|
|
def __init__(self, func) -> None: ...
|
|
|
|
@overload
|
|
def computed_var(
|
|
fget: Callable[[BaseState], Any] | None = None,
|
|
initial_value: Any | types.Unset = types.Unset(),
|
|
cache: bool = False,
|
|
deps: Optional[List[Union[str, Var]]] = None,
|
|
auto_deps: bool = True,
|
|
interval: Optional[Union[datetime.timedelta, int]] = None,
|
|
**kwargs,
|
|
) -> Callable[[Callable[[Any], Any]], ComputedVar]: ...
|
|
@overload
|
|
def computed_var(fget: Callable[[Any], Any]) -> ComputedVar: ...
|
|
@overload
|
|
def cached_var(
|
|
fget: Callable[[BaseState], Any] | None = None,
|
|
initial_value: Any | types.Unset = types.Unset(),
|
|
deps: Optional[List[Union[str, Var]]] = None,
|
|
auto_deps: bool = True,
|
|
interval: Optional[Union[datetime.timedelta, int]] = None,
|
|
**kwargs,
|
|
) -> Callable[[Callable[[Any], Any]], ComputedVar]: ...
|
|
@overload
|
|
def cached_var(fget: Callable[[Any], Any]) -> ComputedVar: ...
|
|
|
|
class CallableVar(BaseVar):
|
|
def __init__(self, fn: Callable[..., BaseVar]): ...
|
|
def __call__(self, *args, **kwargs) -> BaseVar: ...
|
|
|
|
def get_uuid_string_var() -> Var: ...
|