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

Add ConnectionGetPartner functor

parent f8547499
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
......@@ -2,24 +2,28 @@ import Bindings
public struct Connection {
public var getId: ConnectionGetId
public var getPartner: ConnectionGetPartner
}
extension Connection {
public static func live(_ bindingsConnection: BindingsConnection) -> Connection {
Connection(
getId: .live(bindingsConnection)
getId: .live(bindingsConnection),
getPartner: .live(bindingsConnection)
)
}
public static func live(_ bindingsConnection: BindingsAuthenticatedConnection) -> Connection {
Connection(
getId: .live(bindingsConnection)
getId: .live(bindingsConnection),
getPartner: .live(bindingsConnection)
)
}
}
extension Connection {
public static let unimplemented = Connection(
getId: .unimplemented
getId: .unimplemented,
getPartner: .unimplemented
)
}
import Bindings
import XCTestDynamicOverlay
public struct ConnectionPartnerProvider {
public var get: () -> Data
public struct ConnectionGetPartner {
public var run: () -> Data
public func callAsFunction() -> Data {
get()
run()
}
}
extension ConnectionPartnerProvider {
public static func live(
bindingsConnection: BindingsConnection
) -> ConnectionPartnerProvider {
ConnectionPartnerProvider {
extension ConnectionGetPartner {
public static func live(_ bindingsConnection: BindingsConnection) -> ConnectionGetPartner {
ConnectionGetPartner {
guard let data = bindingsConnection.getPartner() else {
fatalError("BindingsConnection.getPartner returned `nil`")
}
......@@ -20,11 +19,9 @@ extension ConnectionPartnerProvider {
}
}
public static func live(
bindingsAuthenticatedConnection: BindingsAuthenticatedConnection
) -> ConnectionPartnerProvider {
ConnectionPartnerProvider {
guard let data = bindingsAuthenticatedConnection.getPartner() else {
public static func live(_ bindingsConnection: BindingsAuthenticatedConnection) -> ConnectionGetPartner {
ConnectionGetPartner {
guard let data = bindingsConnection.getPartner() else {
fatalError("BindingsAuthenticatedConnection.getPartner returned `nil`")
}
return data
......@@ -32,10 +29,8 @@ extension ConnectionPartnerProvider {
}
}
#if DEBUG
extension ConnectionPartnerProvider {
public static let failing = ConnectionPartnerProvider {
fatalError("Not implemented")
}
extension ConnectionGetPartner {
public static let unimplemented = ConnectionGetPartner(
run: XCTUnimplemented("\(Self.self)")
)
}
#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