Skip to content
Snippets Groups Projects
Commit e8194482 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Use Fact model in ContactFactsProvider

parent 18bc435a
No related branches found
No related tags found
1 merge request!12Use codable models in API
import Bindings
public struct ContactFactsProvider {
public var get: (Data) throws -> Data
public var get: (Data) throws -> [Fact]
public func callAsFunction(contact: Data) throws -> Data {
public func callAsFunction(contact: Data) throws -> [Fact] {
try get(contact)
}
}
......@@ -11,13 +11,15 @@ public struct ContactFactsProvider {
extension ContactFactsProvider {
public static let live = ContactFactsProvider { contact in
var error: NSError?
let facts = BindingsGetFactsFromContact(contact, &error)
let factsData = BindingsGetFactsFromContact(contact, &error)
if let error = error {
throw error
}
guard let facts = facts else {
guard let factsData = factsData else {
fatalError("BindingsGetFactsFromContact returned `nil` without providing error")
}
let decoder = JSONDecoder()
let facts = try decoder.decode([Fact].self, from: factsData)
return facts
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment