@@ -86,23 +86,25 @@ internal static IEnumerable<string> CreateExpressionAttributeValue(IEnumerable<D
86
86
}
87
87
private static CodeFactory CreateStruct ( ITypeSymbol typeSymbol , Func < ITypeSymbol , ImmutableArray < DynamoDbDataMember > > fn , MarshallerOptions options )
88
88
{
89
- // TODO
90
- if ( options . IsConvertable ( typeSymbol ) )
91
- {
92
-
93
- }
94
- var dataMembers = fn ( typeSymbol )
95
- . Select ( x =>
96
- {
97
- return (
98
- IsUnknown : ! options . IsConvertable ( x . DataMember . Type ) && x . DataMember . Type . TypeIdentifier ( ) is UnknownType ,
99
- DDB : x ,
100
- ValueRef : $ "_{ x . DataMember . Name } ValueRef",
101
- AttributeReference : TypeName ( x . DataMember . Type ) ,
102
- AttributeInterfaceName : $ "{ Constants . DynamoDBGenerator . Marshaller . AttributeExpressionValueTrackerInterface } <{ x . DataMember . Type . Representation ( ) . annotated } >"
103
- ) ;
104
- } )
105
- . ToArray ( ) ;
89
+ var dataMembers =
90
+ options . IsConvertable ( typeSymbol )
91
+ ? Array
92
+ . Empty < ( bool IsUnknown , DynamoDbDataMember DDB , string ValueRef , string AttributeReference , string
93
+ AttributeInterfaceName ) > ( )
94
+ : fn ( typeSymbol )
95
+ . Select ( x =>
96
+ {
97
+ return (
98
+ IsUnknown : ! options . IsConvertable ( x . DataMember . Type ) &&
99
+ x . DataMember . Type . TypeIdentifier ( ) is UnknownType ,
100
+ DDB : x ,
101
+ ValueRef : $ "_{ x . DataMember . Name } ValueRef",
102
+ AttributeReference : TypeName ( x . DataMember . Type ) ,
103
+ AttributeInterfaceName :
104
+ $ "{ Constants . DynamoDBGenerator . Marshaller . AttributeExpressionValueTrackerInterface } <{ x . DataMember . Type . Representation ( ) . annotated } >"
105
+ ) ;
106
+ } )
107
+ . ToArray ( ) ;
106
108
107
109
var structName = TypeName ( typeSymbol ) ;
108
110
var interfaceName = $ "{ Constants . DynamoDBGenerator . Marshaller . AttributeExpressionValueTrackerInterface } <{ typeSymbol . Representation ( ) . annotated } >";
0 commit comments