File tree 1 file changed +15
-0
lines changed
1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change 13
13
//===----------------------------------------------------------------------===//
14
14
15
15
@_exported import AWSLambdaRuntimeCore
16
+ import struct Foundation. Data
16
17
import class Foundation. JSONDecoder
17
18
import class Foundation. JSONEncoder
18
19
import NIO
@@ -130,3 +131,17 @@ extension JSONEncoder: LambdaCodableEncoder {
130
131
return buffer
131
132
}
132
133
}
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