refactor things a bit

This commit is contained in:
Khaleel Al-Adhami 2025-02-14 15:53:22 -08:00
parent e2b9c1268d
commit 7d50500e06

View File

@ -2,9 +2,9 @@
from __future__ import annotations from __future__ import annotations
from typing import Any, Iterator from typing import Any, Iterator, Sequence
from reflex.components.component import Component, ComponentStyle from reflex.components.component import BaseComponent, Component, ComponentStyle
from reflex.components.tags import Tag from reflex.components.tags import Tag
from reflex.components.tags.tagless import Tagless from reflex.components.tags.tagless import Tagless
from reflex.config import PerformanceMode, environment from reflex.config import PerformanceMode, environment
@ -47,6 +47,11 @@ def validate_str(value: str):
) )
def _components_from_var(var: Var) -> Sequence[BaseComponent]:
var_data = var._get_all_var_data()
return var_data.components if var_data else ()
class Bare(Component): class Bare(Component):
"""A component with no tag.""" """A component with no tag."""
@ -81,9 +86,7 @@ class Bare(Component):
""" """
hooks = super()._get_all_hooks_internal() hooks = super()._get_all_hooks_internal()
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
hooks |= component._get_all_hooks_internal() hooks |= component._get_all_hooks_internal()
return hooks return hooks
@ -95,9 +98,7 @@ class Bare(Component):
""" """
hooks = super()._get_all_hooks() hooks = super()._get_all_hooks()
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
hooks |= component._get_all_hooks() hooks |= component._get_all_hooks()
return hooks return hooks
@ -125,9 +126,7 @@ class Bare(Component):
""" """
dynamic_imports = super()._get_all_dynamic_imports() dynamic_imports = super()._get_all_dynamic_imports()
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
dynamic_imports |= component._get_all_dynamic_imports() dynamic_imports |= component._get_all_dynamic_imports()
return dynamic_imports return dynamic_imports
@ -139,9 +138,7 @@ class Bare(Component):
""" """
custom_code = super()._get_all_custom_code() custom_code = super()._get_all_custom_code()
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
custom_code |= component._get_all_custom_code() custom_code |= component._get_all_custom_code()
return custom_code return custom_code
@ -153,9 +150,7 @@ class Bare(Component):
""" """
app_wrap_components = super()._get_all_app_wrap_components() app_wrap_components = super()._get_all_app_wrap_components()
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
if isinstance(component, Component): if isinstance(component, Component):
app_wrap_components |= component._get_all_app_wrap_components() app_wrap_components |= component._get_all_app_wrap_components()
return app_wrap_components return app_wrap_components
@ -168,9 +163,7 @@ class Bare(Component):
""" """
refs = super()._get_all_refs() refs = super()._get_all_refs()
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
refs |= component._get_all_refs() refs |= component._get_all_refs()
return refs return refs
@ -198,9 +191,7 @@ class Bare(Component):
are_components_touched = False are_components_touched = False
if isinstance(self.contents, Var): if isinstance(self.contents, Var):
var_data = self.contents._get_all_var_data() for component in _components_from_var(self.contents):
if var_data:
for component in var_data.components:
if isinstance(component, Component): if isinstance(component, Component):
component._add_style_recursive(style, theme) component._add_style_recursive(style, theme)
are_components_touched = True are_components_touched = True