import Bindings public struct ConnectionCloser { public var close: () -> Void public func callAsFunction() { close() } } extension ConnectionCloser { public static func live( bindingsConnection: BindingsConnection ) -> ConnectionCloser { ConnectionCloser(close: bindingsConnection.close) } public static func live( bindingsAuthenticatedConnection: BindingsAuthenticatedConnection ) -> ConnectionCloser { ConnectionCloser(close: bindingsAuthenticatedConnection.close) } } #if DEBUG extension ConnectionCloser { public static let failing = ConnectionCloser { fatalError("Not implemented") } } #endif