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 { ...@@ -6,18 +6,25 @@ public struct Contact {
data: Data, data: Data,
getId: @escaping () throws -> Data, getId: @escaping () throws -> Data,
getPublicKey: @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.data = data
self.getId = getId self.getId = getId
self.getPublicKey = getPublicKey self.getPublicKey = getPublicKey
self.getFacts = getFacts self.getFacts = getFacts
self._setFacts = setFacts
} }
public var data: Data public var data: Data
public var getId: () throws -> Data public var getId: () throws -> Data
public var getPublicKey: () throws -> Data public var getPublicKey: () throws -> Data
public var getFacts: () throws -> [Fact] 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 { extension Contact: Equatable {
...@@ -31,13 +38,15 @@ extension Contact { ...@@ -31,13 +38,15 @@ extension Contact {
_ data: Data, _ data: Data,
getIdFromContact: GetIdFromContact = .live, getIdFromContact: GetIdFromContact = .live,
getPublicKeyFromContact: GetPublicKeyFromContact = .live, getPublicKeyFromContact: GetPublicKeyFromContact = .live,
getFactsFromContact: GetFactsFromContact = .live getFactsFromContact: GetFactsFromContact = .live,
setFactsOnContact: SetFactsOnContact = .live
) -> Contact { ) -> Contact {
Contact( Contact(
data: data, data: data,
getId: { try getIdFromContact(data) }, getId: { try getIdFromContact(data) },
getPublicKey: { try getPublicKeyFromContact(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 { ...@@ -48,7 +57,8 @@ extension Contact {
data: data, data: data,
getId: XCTUnimplemented("\(Self.self).getId"), getId: XCTUnimplemented("\(Self.self).getId"),
getPublicKey: XCTUnimplemented("\(Self.self).getPublicKey"), 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