Skip to content
Snippets Groups Projects

Bindings API wrapper

1 file
+ 14
0
Compare changes
  • Side-by-side
  • Inline
@@ -2,6 +2,7 @@ import Bindings
@@ -2,6 +2,7 @@ import Bindings
public struct Connection {
public struct Connection {
public var isAuthenticated: () -> Bool
public var isAuthenticated: () -> Bool
 
public var getPartner: () -> Data
public var send: MessageSender
public var send: MessageSender
public var listen: MessageListener
public var listen: MessageListener
}
}
@@ -12,6 +13,12 @@ extension Connection {
@@ -12,6 +13,12 @@ extension Connection {
) -> Connection {
) -> Connection {
Connection(
Connection(
isAuthenticated: { false },
isAuthenticated: { false },
 
getPartner: {
 
guard let data = bindingsConnection.getPartner() else {
 
fatalError("BindingsConnection.getPartner returned `nil`")
 
}
 
return data
 
},
send: .live(bindingsConnection: bindingsConnection),
send: .live(bindingsConnection: bindingsConnection),
listen: .live(bindingsConnection: bindingsConnection)
listen: .live(bindingsConnection: bindingsConnection)
)
)
@@ -22,6 +29,12 @@ extension Connection {
@@ -22,6 +29,12 @@ extension Connection {
) -> Connection {
) -> Connection {
Connection(
Connection(
isAuthenticated: bindingsAuthenticatedConnection.isAuthenticated,
isAuthenticated: bindingsAuthenticatedConnection.isAuthenticated,
 
getPartner: {
 
guard let data = bindingsAuthenticatedConnection.getPartner() else {
 
fatalError("BindingsAuthenticatedConnection.getPartner returned `nil`")
 
}
 
return data
 
},
send: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection),
send: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection),
listen: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection)
listen: .live(bindingsAuthenticatedConnection: bindingsAuthenticatedConnection)
)
)
@@ -32,6 +45,7 @@ extension Connection {
@@ -32,6 +45,7 @@ extension Connection {
extension Connection {
extension Connection {
public static let failing = Connection(
public static let failing = Connection(
isAuthenticated: { fatalError("Not implemented") },
isAuthenticated: { fatalError("Not implemented") },
 
getPartner: { fatalError("Not implemented") },
send: .failing,
send: .failing,
listen: .failing
listen: .failing
)
)
Loading