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
This commit is part of merge request !18. Comments created here will be created in the context of that merge request.
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.
Please register or to comment