mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Removed an unused endpoint Moved 'Dependencies' into the Utilities folder (also out from being nested within 'OpenGroupAPI' since it can be broader than that) Finished adding unit tests for the OpenGroupAPI
24 lines
679 B
Swift
24 lines
679 B
Swift
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
|
|
|
import Foundation
|
|
|
|
// MARK: - Decoding
|
|
|
|
extension Dependencies {
|
|
static let userInfoKey: CodingUserInfoKey = CodingUserInfoKey(rawValue: "io.oxen.dependencies.codingOptions")!
|
|
}
|
|
|
|
public extension Data {
|
|
func decoded<T: Decodable>(as type: T.Type, using dependencies: Dependencies = Dependencies()) throws -> T {
|
|
do {
|
|
let decoder: JSONDecoder = JSONDecoder()
|
|
decoder.userInfo = [ Dependencies.userInfoKey: dependencies ]
|
|
|
|
return try decoder.decode(type, from: self)
|
|
}
|
|
catch {
|
|
throw HTTP.Error.parsingFailed
|
|
}
|
|
}
|
|
}
|