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

Add SetFactsOnContact functor

parent e1462a9a
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
import Bindings
import XCTestDynamicOverlay
public struct ContactFactsSetter {
public var set: (Data, [Fact]) throws -> Data
public struct SetFactsOnContact {
public var run: (Data, [Fact]) throws -> Data
public func callAsFunction(
contact: Data,
facts: [Fact]
) throws -> Data {
try set(contact, facts)
try run(contact, facts)
}
}
extension ContactFactsSetter {
public static let live = ContactFactsSetter { contact, facts in
let encoder = JSONEncoder()
let factsData = try encoder.encode(facts)
extension SetFactsOnContact {
public static let live = SetFactsOnContact { contact, facts in
let factsData = try facts.encode()
var error: NSError?
let updatedContact = BindingsSetFactsOnContact(contact, factsData, &error)
if let error = error {
......@@ -27,11 +27,8 @@ extension ContactFactsSetter {
}
}
#if DEBUG
extension ContactFactsSetter {
public static let failing = ContactFactsSetter { _, _ in
struct NotImplemented: Error {}
throw NotImplemented()
}
extension SetFactsOnContact {
public static let unimplemented = SetFactsOnContact(
run: XCTUnimplemented("\(Self.self)")
)
}
#endif
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