Merge branch 'feature/JSONError_description' into 'develop'

add error description to JSONErrors

See merge request BPHV_MIPS/mvm_core!231
This commit is contained in:
Bruce, Matt R 2022-09-28 21:14:56 +00:00
commit c95def255b

View File

@ -18,6 +18,30 @@ public enum JSONError: Error {
case error(message: String)
}
extension JSONError: LocalizedError, CustomStringConvertible {
public var description: String {
switch self {
case .pathNotFound:
return "JSON path not found"
case .data(path: let path):
return "JSON data in \(path) is corrupt"
case .other(error: let error):
if let decodingError = error as? DecodingError {
// the only way to get the decoding error description and details...
return (decodingError as NSError).description
}
return error.localizedDescription
case .error(message: let message):
return message
}
}
public var errorDescription: String? {
return description
}
}
extension JSONDictionary {
public func toJSONString(options: JSONSerialization.WritingOptions = []) throws -> String {