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

Add ContactFromIdentityProvider

parent bf4f9e5d
No related branches found
No related tags found
1 merge request!2Bindings API wrapper
......@@ -10,6 +10,7 @@ public struct Client {
public var listenErrors: ClientErrorListener
public var makeIdentity: IdentityMaker
public var connect: ConnectionMaker
public var getContactFromIdentity: ContactFromIdentityProvider
public var waitForDelivery: MessageDeliveryWaiter
}
......@@ -25,6 +26,7 @@ extension Client {
listenErrors: .live(bindingsClient: bindingsClient),
makeIdentity: .live(bindingsClient: bindingsClient),
connect: .live(bindingsClient: bindingsClient),
getContactFromIdentity: .live(bindingsClient: bindingsClient),
waitForDelivery: .live(bindingsClient: bindingsClient)
)
}
......@@ -42,6 +44,7 @@ extension Client {
listenErrors: .failing,
makeIdentity: .failing,
connect: .failing,
getContactFromIdentity: .failing,
waitForDelivery: .failing
)
}
......
import Bindings
public struct ContactFromIdentityProvider {
public var get: (Data) throws -> Data
public func callAsFunction(identity: Data) throws -> Data {
try get(identity)
}
}
extension ContactFromIdentityProvider {
public static func live(bindingsClient: BindingsClient) -> ContactFromIdentityProvider {
ContactFromIdentityProvider(get: bindingsClient.getContactFromIdentity(_:))
}
}
#if DEBUG
extension ContactFromIdentityProvider {
public static let failing = ContactFromIdentityProvider { _ in
struct NotImplemented: Error {}
throw NotImplemented()
}
}
#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