@@ -97,5 +97,96 @@ public static Amazon.DynamoDBv2.Model.AttributeValue ConvertToSdkAttribute(this
97
97
98
98
return sdkDictionary ;
99
99
}
100
+
101
+ /// <summary>
102
+ /// Convert Lambda AttributeValue to SDK AttributeValue
103
+ /// </summary>
104
+ /// <param name="lambdaAttribute">The Lambda AttributeValue to convert.</param>
105
+ /// <returns>The converted SDK AttributeValue.</returns>
106
+ public static Amazon . DynamoDBStreams . Model . AttributeValue ConvertToSdkStreamAttribute ( this
107
+ DynamoDBEvent . AttributeValue lambdaAttribute )
108
+ {
109
+ if ( lambdaAttribute == null )
110
+ return null ;
111
+
112
+ var sdkAttribute = new Amazon . DynamoDBStreams . Model . AttributeValue ( ) ;
113
+
114
+ // String
115
+ if ( ! string . IsNullOrEmpty ( lambdaAttribute . S ) )
116
+ sdkAttribute . S = lambdaAttribute . S ;
117
+
118
+ // Number
119
+ else if ( ! string . IsNullOrEmpty ( lambdaAttribute . N ) )
120
+ sdkAttribute . N = lambdaAttribute . N ;
121
+
122
+ // Boolean
123
+ else if ( lambdaAttribute . BOOL . HasValue )
124
+ {
125
+ sdkAttribute . BOOL = lambdaAttribute . BOOL . Value ;
126
+ }
127
+
128
+ // Null
129
+ else if ( lambdaAttribute . NULL . HasValue )
130
+ sdkAttribute . NULL = lambdaAttribute . NULL . Value ;
131
+
132
+ // Binary
133
+ else if ( lambdaAttribute . B != null )
134
+ sdkAttribute . B = lambdaAttribute . B ;
135
+
136
+ // String Set
137
+ else if ( lambdaAttribute . SS != null )
138
+ sdkAttribute . SS = new List < string > ( lambdaAttribute . SS ) ;
139
+
140
+ // Number Set
141
+ else if ( lambdaAttribute . NS != null )
142
+ sdkAttribute . NS = new List < string > ( lambdaAttribute . NS ) ;
143
+
144
+ // Binary Set
145
+ else if ( lambdaAttribute . BS != null )
146
+ sdkAttribute . BS = lambdaAttribute . BS ;
147
+
148
+ // List
149
+ else if ( lambdaAttribute . L != null )
150
+ {
151
+ sdkAttribute . L = new List < Amazon . DynamoDBStreams . Model . AttributeValue > ( ) ;
152
+ foreach ( var item in lambdaAttribute . L )
153
+ {
154
+ sdkAttribute . L . Add ( item . ConvertToSdkStreamAttribute ( ) ) ;
155
+ }
156
+ }
157
+
158
+ // Map
159
+ else if ( lambdaAttribute . M != null )
160
+ {
161
+ sdkAttribute . M = new Dictionary < string , Amazon . DynamoDBStreams . Model . AttributeValue > ( ) ;
162
+ foreach ( var kvp in lambdaAttribute . M )
163
+ {
164
+ sdkAttribute . M [ kvp . Key ] = kvp . Value . ConvertToSdkStreamAttribute ( ) ;
165
+ }
166
+ }
167
+
168
+ return sdkAttribute ;
169
+ }
170
+
171
+ /// <summary>
172
+ /// Convert Dictionary of Lambda AttributeValue to SDK Dictionary of AttributeValue
173
+ /// </summary>
174
+ /// <param name="lambdaAttributes">The dictionary of Lambda AttributeValue to convert.</param>
175
+ /// <returns>The converted dictionary of SDK AttributeValue.</returns>
176
+ public static Dictionary < string , Amazon . DynamoDBStreams . Model . AttributeValue > ConvertToSdkStreamAttributeValueDictionary (
177
+ this Dictionary < string , DynamoDBEvent . AttributeValue > lambdaAttributes )
178
+ {
179
+ var sdkDictionary = new Dictionary < string , Amazon . DynamoDBStreams . Model . AttributeValue > ( ) ;
180
+
181
+ if ( lambdaAttributes == null )
182
+ return sdkDictionary ;
183
+
184
+ foreach ( var kvp in lambdaAttributes )
185
+ {
186
+ sdkDictionary [ kvp . Key ] = ConvertToSdkStreamAttribute ( kvp . Value ) ;
187
+ }
188
+
189
+ return sdkDictionary ;
190
+ }
100
191
}
101
192
}
0 commit comments