dicts are unusable sadly
This commit is contained in:
parent
854d729ca6
commit
e0c4e971cd
@ -851,24 +851,19 @@ class LiteralVar(ImmutableVar):
|
|||||||
|
|
||||||
from .number import LiteralBooleanVar, LiteralNumberVar
|
from .number import LiteralBooleanVar, LiteralNumberVar
|
||||||
|
|
||||||
type_mapping = {
|
if isinstance(value, (int, float)):
|
||||||
int: LiteralNumberVar.create,
|
return LiteralNumberVar.create(value, _var_data=_var_data)
|
||||||
float: LiteralNumberVar.create,
|
|
||||||
bool: LiteralBooleanVar.create,
|
|
||||||
list: LiteralArrayVar.create,
|
|
||||||
tuple: LiteralArrayVar.create,
|
|
||||||
set: LiteralArrayVar.create,
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor = type_mapping.get(type(value))
|
if isinstance(value, bool):
|
||||||
|
return LiteralBooleanVar.create(value, _var_data=_var_data)
|
||||||
|
|
||||||
|
if isinstance(value, (list, tuple, set)):
|
||||||
|
return LiteralArrayVar.create(value, _var_data=_var_data)
|
||||||
|
|
||||||
if constructor is None:
|
|
||||||
raise TypeError(
|
raise TypeError(
|
||||||
f"Unsupported type {type(value)} for LiteralVar. Tried to create a LiteralVar from {value}."
|
f"Unsupported type {type(value)} for LiteralVar. Tried to create a LiteralVar from {value}."
|
||||||
)
|
)
|
||||||
|
|
||||||
return constructor(value, _var_data=_var_data)
|
|
||||||
|
|
||||||
def __post_init__(self):
|
def __post_init__(self):
|
||||||
"""Post-initialize the var."""
|
"""Post-initialize the var."""
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user