File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change 1515@_exported import AWSLambdaRuntimeCore
1616import class Foundation. JSONDecoder
1717import class Foundation. JSONEncoder
18+ import struct Foundation. Data
1819import NIO
1920import NIOFoundationCompat
2021
@@ -130,3 +131,17 @@ extension JSONEncoder: LambdaCodableEncoder {
130131 return buffer
131132 }
132133}
134+
135+ extension JSONEncoder {
136+ /// Convenience method to allow encoding json directly into a String. It can be used to encode a payload into an APIGateway.V2.Response's body.
137+ public func encodeAsString< T: Encodable > ( _ value: T ) throws -> String {
138+ try String ( decoding: self . encode ( value) , as: Unicode . UTF8. self)
139+ }
140+ }
141+
142+ extension JSONDecoder {
143+ /// Convenience method to allow decoding json directly from a String. It can be used to decode a payload from an APIGateway.V2.Request's body.
144+ public func decode< T: Decodable > ( _ type: T . Type , from string: String ) throws -> T {
145+ try self . decode ( type, from: Data ( string. utf8) )
146+ }
147+ }
You can’t perform that action at this time.
0 commit comments