From e0c4e971cdee4bf9d20a0e88caeb527e65bc2902 Mon Sep 17 00:00:00 2001 From: Khaleel Al-Adhami Date: Mon, 12 Aug 2024 15:24:27 -0700 Subject: [PATCH] dicts are unusable sadly --- reflex/ivars/base.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/reflex/ivars/base.py b/reflex/ivars/base.py index b7943a580..1679416ba 100644 --- a/reflex/ivars/base.py +++ b/reflex/ivars/base.py @@ -851,23 +851,18 @@ class LiteralVar(ImmutableVar): from .number import LiteralBooleanVar, LiteralNumberVar - type_mapping = { - int: LiteralNumberVar.create, - float: LiteralNumberVar.create, - bool: LiteralBooleanVar.create, - list: LiteralArrayVar.create, - tuple: LiteralArrayVar.create, - set: LiteralArrayVar.create, - } + if isinstance(value, (int, float)): + return LiteralNumberVar.create(value, _var_data=_var_data) - constructor = type_mapping.get(type(value)) + if isinstance(value, bool): + return LiteralBooleanVar.create(value, _var_data=_var_data) - if constructor is None: - raise TypeError( - f"Unsupported type {type(value)} for LiteralVar. Tried to create a LiteralVar from {value}." - ) + if isinstance(value, (list, tuple, set)): + return LiteralArrayVar.create(value, _var_data=_var_data) - return constructor(value, _var_data=_var_data) + raise TypeError( + f"Unsupported type {type(value)} for LiteralVar. Tried to create a LiteralVar from {value}." + ) def __post_init__(self): """Post-initialize the var."""