@@ -97,5 +97,96 @@ public static Amazon.DynamoDBv2.Model.AttributeValue ConvertToSdkAttribute(this
9797
9898 return sdkDictionary ;
9999 }
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+ }
100191 }
101192}
0 commit comments