- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 125
Open
Description
For a thing at work, I implemented some [un]structure hook factories that wrap make_dict_structure_fn and make_dict_unstructure_fn to support flattening an attribute, like this:
@define
class A:
    a: int
    b: int
@define
class C:
    a: A
    c: int
converter = ...  # set up a converter with my wrappers
assert converter.unstructure(C(A(1, 2), 3)) == {'a': 1, 'b': 2, 'c': 3}I'd like to upstream this support. The basic idea is to implement functionality similar to Serde's Struct flattening by extending the override function to take a flatten: bool argument that defaults to False and then adjusting make_dict_structure_fn and make_dict_unstructure_fn to use it.
I'm willing to work on this, but wanted to get feedback from folks here before I start.
lemon24, LizardWizzard and shananton
Metadata
Metadata
Assignees
Labels
No labels