Ver código fonte

make the var type actually work

Khaleel Al-Adhami 4 meses atrás
pai
commit
72f1fa7cb4
1 arquivos alterados com 9 adições e 3 exclusões
  1. 9 3
      reflex/vars/number.py

+ 9 - 3
reflex/vars/number.py

@@ -1169,14 +1169,20 @@ class MatchOperation(CachedVarOperation, Var[VAR_TYPE]):
         Returns:
             The match operation.
         """
+        cond = Var.create(cond)
         cases = tuple(tuple(Var.create(c) for c in case) for case in cases)
+        default = Var.create(default)
+        var_type = _var_type or unionize(
+            *(case[-1]._var_type for case in cases),
+            default._var_type,
+        )
         return cls(
             _js_expr="",
             _var_data=_var_data,
-            _var_type=_var_type,
-            _cond=Var.create(cond),
+            _var_type=var_type,
+            _cond=cond,
             _cases=cases,
-            _default=Var.create(default),
+            _default=default,
         )