Skip to content
Snippets Groups Projects

Update Bindings

Merged Dariusz Rybicki requested to merge feature/update-bindings into development
1 file
+ 34
0
Compare changes
  • Side-by-side
  • Inline
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
Loading