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

Add Contact.setFacts

parent 5aab70ad
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!42Update Bindings
......@@ -6,18 +6,25 @@ public struct Contact {
data: Data,
getId: @escaping () throws -> Data,
getPublicKey: @escaping () throws -> Data,
getFacts: @escaping () throws -> [Fact]
getFacts: @escaping () throws -> [Fact],
setFacts: @escaping (Data, [Fact]) throws -> Data
) {
self.data = data
self.getId = getId
self.getPublicKey = getPublicKey
self.getFacts = getFacts
self._setFacts = setFacts
}
public var data: Data
public var getId: () throws -> Data
public var getPublicKey: () throws -> Data
public var getFacts: () throws -> [Fact]
public var _setFacts: (Data, [Fact]) throws -> Data
public mutating func setFacts(_ facts: [Fact]) throws {
data = try _setFacts(data, facts)
}
}
extension Contact: Equatable {
......@@ -31,13 +38,15 @@ extension Contact {
_ data: Data,
getIdFromContact: GetIdFromContact = .live,
getPublicKeyFromContact: GetPublicKeyFromContact = .live,
getFactsFromContact: GetFactsFromContact = .live
getFactsFromContact: GetFactsFromContact = .live,
setFactsOnContact: SetFactsOnContact = .live
) -> Contact {
Contact(
data: data,
getId: { try getIdFromContact(data) },
getPublicKey: { try getPublicKeyFromContact(data) },
getFacts: { try getFactsFromContact(data) }
getFacts: { try getFactsFromContact(data) },
setFacts: { try setFactsOnContact(contactData: $0, facts: $1) }
)
}
}
......@@ -48,7 +57,8 @@ extension Contact {
data: data,
getId: XCTUnimplemented("\(Self.self).getId"),
getPublicKey: XCTUnimplemented("\(Self.self).getPublicKey"),
getFacts: XCTUnimplemented("\(Self.self).getFacts")
getFacts: XCTUnimplemented("\(Self.self).getFacts"),
setFacts: XCTUnimplemented("\(Self.self).updateFacts")
)
}
}
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