Skip to content

Commit e61bf29

Browse files
committed
Support dict for dataclass_with_defaults (used by stateclass)
1 parent 37d6a89 commit e61bf29

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

mesop/dataclass_utils/dataclass_utils.py

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ def dataclass_with_defaults(cls: Type[C]) -> Type[C]:
2929
setattr(cls, name, field(default=False))
3030
elif get_origin(type_hint) == list:
3131
setattr(cls, name, field(default_factory=list))
32+
elif get_origin(type_hint) == dict:
33+
setattr(cls, name, field(default_factory=dict))
3234
elif isinstance(type_hint, type):
3335
setattr(
3436
cls, name, field(default_factory=dataclass_with_defaults(type_hint))

mesop/dataclass_utils/dataclass_utils_test.py

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class WithPandasDataFrame:
4343
@dataclass_with_defaults
4444
class DataclassNoDefaults:
4545
foo: int
46+
dict: dict[str, str]
4647

4748

4849
class UnannotatedClass:

0 commit comments

Comments
 (0)