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 1313//===----------------------------------------------------------------------===//
1414
1515@_exported import AWSLambdaRuntimeCore
16+ import struct Foundation. Data
1617import class Foundation. JSONDecoder
1718import class Foundation. JSONEncoder
1819import NIO
@@ -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