Skip to content
Snippets Groups Projects
Select Git revision
  • d2acabe796b8be186e9680d35110d82beb2facfd
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

ConnectionPartnerProvider.swift

Blame
  • ConnectionPartnerProvider.swift 998 B
    import Bindings
    
    public struct ConnectionPartnerProvider {
      public var get: () -> Data
    
      public func callAsFunction() -> Data {
        get()
      }
    }
    
    extension ConnectionPartnerProvider {
      public static func live(
        bindingsConnection: BindingsConnection
      ) -> ConnectionPartnerProvider {
        ConnectionPartnerProvider {
          guard let data = bindingsConnection.getPartner() else {
            fatalError("BindingsConnection.getPartner returned `nil`")
          }
          return data
        }
      }
    
      public static func live(
        bindingsAuthenticatedConnection: BindingsAuthenticatedConnection
      ) -> ConnectionPartnerProvider {
        ConnectionPartnerProvider {
          guard let data = bindingsAuthenticatedConnection.getPartner() else {
            fatalError("BindingsAuthenticatedConnection.getPartner returned `nil`")
          }
          return data
        }
      }
    }
    
    #if DEBUG
    extension ConnectionPartnerProvider {
      public static let failing = ConnectionPartnerProvider {
        fatalError("Not implemented")
      }
    }
    #endif