mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-18 03:03:31 +01:00
[Shared] Encodes all CodableError codable user info values, not just recognized types
This commit is contained in:
@@ -23,7 +23,7 @@ extension CodableError
|
|||||||
{
|
{
|
||||||
enum UserInfoValue: Codable
|
enum UserInfoValue: Codable
|
||||||
{
|
{
|
||||||
case unknown
|
case unknown(Any?)
|
||||||
case string(String)
|
case string(String)
|
||||||
case number(Int)
|
case number(Int)
|
||||||
case error(NSError)
|
case error(NSError)
|
||||||
@@ -33,7 +33,7 @@ extension CodableError
|
|||||||
var value: Any? {
|
var value: Any? {
|
||||||
switch self
|
switch self
|
||||||
{
|
{
|
||||||
case .unknown: return nil
|
case .unknown(let value): return value
|
||||||
case .string(let string): return string
|
case .string(let string): return string
|
||||||
case .number(let number): return number
|
case .number(let number): return number
|
||||||
case .error(let error): return error
|
case .error(let error): return error
|
||||||
@@ -66,7 +66,7 @@ extension CodableError
|
|||||||
case let error as NSError: self = .codableError(CodableError(error: error))
|
case let error as NSError: self = .codableError(CodableError(error: error))
|
||||||
case let array as [Any]: self = .array(array.compactMap(UserInfoValue.init))
|
case let array as [Any]: self = .array(array.compactMap(UserInfoValue.init))
|
||||||
case let dictionary as [String: Any]: self = .dictionary(dictionary.compactMapValues(UserInfoValue.init))
|
case let dictionary as [String: Any]: self = .dictionary(dictionary.compactMapValues(UserInfoValue.init))
|
||||||
default: self = .unknown
|
default: self = .unknown(rawValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
init(from decoder: Decoder) throws
|
init(from decoder: Decoder) throws
|
||||||
@@ -101,7 +101,7 @@ extension CodableError
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self = .unknown
|
self = .unknown(nil)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user