review changes
This commit is contained in:
parent
f2d824f829
commit
306e66a3b2
@ -20,11 +20,11 @@ public enum JSONError: Error {
|
|||||||
|
|
||||||
extension JSONDictionary {
|
extension JSONDictionary {
|
||||||
|
|
||||||
public func toJSONString(options: JSONSerialization.WritingOptions = []) -> String? {
|
public func toJSONString(options: JSONSerialization.WritingOptions = []) throws -> String {
|
||||||
guard let data = try? JSONSerialization.data(withJSONObject: self, options: options),
|
let data = try JSONSerialization.data(withJSONObject: self, options: options)
|
||||||
let string = String(data: data, encoding: .utf8) else {
|
guard let string = String(data: data, encoding: .utf8) else {
|
||||||
return nil
|
throw JSONError.error(message: "Failed to convert data to string")
|
||||||
}
|
}
|
||||||
return string
|
return string
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,10 +32,10 @@ extension JSONDictionary {
|
|||||||
var queryItems: [URLQueryItem] = []
|
var queryItems: [URLQueryItem] = []
|
||||||
for (key, value) in self {
|
for (key, value) in self {
|
||||||
var valueString: String
|
var valueString: String
|
||||||
if let value = value as? JSONDictionary, let jsonString = value.toJSONString() {
|
if let value = value as? JSONDictionary {
|
||||||
valueString = jsonString
|
valueString = try value.toJSONString()
|
||||||
} else if let value = value as? [AnyHashable], let jsonString = value.toJSONString() {
|
} else if let value = value as? [AnyHashable] {
|
||||||
valueString = jsonString
|
valueString = try value.toJSONString()
|
||||||
} else {
|
} else {
|
||||||
guard let baseValueString = String(describing: value.base).removingPercentEncoding else {
|
guard let baseValueString = String(describing: value.base).removingPercentEncoding else {
|
||||||
throw JSONError.error(message: "query item failed: \(key) value \(value.base)")
|
throw JSONError.error(message: "query item failed: \(key) value \(value.base)")
|
||||||
@ -51,11 +51,11 @@ extension JSONDictionary {
|
|||||||
|
|
||||||
extension Array where Element == AnyHashable {
|
extension Array where Element == AnyHashable {
|
||||||
|
|
||||||
public func toJSONString(options: JSONSerialization.WritingOptions = []) -> String? {
|
public func toJSONString(options: JSONSerialization.WritingOptions = []) throws -> String {
|
||||||
guard let data = try? JSONSerialization.data(withJSONObject: self, options: options),
|
let data = try JSONSerialization.data(withJSONObject: self, options: options)
|
||||||
let string = String(data: data, encoding: .utf8) else {
|
guard let string = String(data: data, encoding: .utf8) else {
|
||||||
return nil
|
throw JSONError.error(message: "Failed to convert data to string")
|
||||||
}
|
}
|
||||||
return string
|
return string
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user