From 374cd14862938eba2122e063974fdd2339b34b30 Mon Sep 17 00:00:00 2001 From: Khaleel Al-Adhami <khaleel.aladhami@gmail.com> Date: Wed, 5 Feb 2025 11:19:53 -0800 Subject: [PATCH] move union below --- reflex/components/component.py | 2 +- reflex/utils/types.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reflex/components/component.py b/reflex/components/component.py index f9e0ceaab..e1a398786 100644 --- a/reflex/components/component.py +++ b/reflex/components/component.py @@ -191,7 +191,7 @@ def satisfies_type_hint(obj: Any, type_hint: Any) -> bool: Returns: Whether the object satisfies the type hint. """ - return types._isinstance(obj, type_hint, nested=0) + return types._isinstance(obj, type_hint, nested=1) class Component(BaseComponent, ABC): diff --git a/reflex/utils/types.py b/reflex/utils/types.py index 1dd43f500..6f19bb9ca 100644 --- a/reflex/utils/types.py +++ b/reflex/utils/types.py @@ -567,9 +567,6 @@ def _isinstance(obj: Any, cls: GenericType, nested: int = 0) -> bool: from reflex.vars import LiteralVar, Var - if cls and is_union(cls): - return any(_isinstance(obj, arg, nested=nested) for arg in get_args(cls)) - if cls is Var: return isinstance(obj, Var) if isinstance(obj, LiteralVar): @@ -580,6 +577,9 @@ def _isinstance(obj: Any, cls: GenericType, nested: int = 0) -> bool: if cls is None or cls is type(None): return obj is None + if cls and is_union(cls): + return any(_isinstance(obj, arg, nested=nested) for arg in get_args(cls)) + if is_literal(cls): return obj in get_args(cls)