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

Add ConnectionAuthStatusProvider

parent 92febf27
No related branches found
No related tags found
1 merge request!2Bindings API wrapper
import Bindings
public struct Connection {
public var isAuthenticated: () -> Bool
public var isAuthenticated: ConnectionAuthStatusProvider
public var getPartner: ConnectionPartnerProvider
public var send: MessageSender
public var listen: MessageListener
......@@ -13,7 +13,7 @@ extension Connection {
bindingsConnection: BindingsConnection
) -> Connection {
Connection(
isAuthenticated: { false },
isAuthenticated: .live(bindingsConnection: bindingsConnection),
getPartner: .live(bindingsConnection: bindingsConnection),
send: .live(bindingsConnection: bindingsConnection),
listen: .live(bindingsConnection: bindingsConnection),
......@@ -25,7 +25,7 @@ extension Connection {
bindingsAuthenticatedConnection: BindingsAuthenticatedConnection
) -> Connection {
Connection(
isAuthenticated: bindingsAuthenticatedConnection.isAuthenticated,
isAuthenticated: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection),
getPartner: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection),
send: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection),
listen: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection),
......@@ -37,7 +37,7 @@ extension Connection {
#if DEBUG
extension Connection {
public static let failing = Connection(
isAuthenticated: { fatalError("Not implemented") },
isAuthenticated: .failing,
getPartner: .failing,
send: .failing,
listen: .failing,
......
import Bindings
public struct ConnectionAuthStatusProvider {
public var isAuthenticated: () -> Bool
public func callAsFunction() -> Bool {
isAuthenticated()
}
}
extension ConnectionAuthStatusProvider {
public static func live(
bindingsConnection: BindingsConnection
) -> ConnectionAuthStatusProvider {
ConnectionAuthStatusProvider { false }
}
public static func live(
bindingsAuthenticatedConnection: BindingsAuthenticatedConnection
) -> ConnectionAuthStatusProvider {
ConnectionAuthStatusProvider(
isAuthenticated: bindingsAuthenticatedConnection.isAuthenticated
)
}
}
#if DEBUG
extension ConnectionAuthStatusProvider {
public static let failing = ConnectionAuthStatusProvider {
fatalError("Not implemented")
}
}
#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