Skip to content
Snippets Groups Projects
Select Git revision
  • 30fb4cb3f4cd94e2dcc3375fa45ee24f2a5631b0
  • main default protected
  • dev protected
  • hotfixes-oct-2022
  • refactor/avatar-cell
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1
  • 1.0.8
  • 1.0.7
  • 1.0.6
12 results

Aliases.swift

Blame
  • RequestRestlike.swift 1.01 KiB
    import Bindings
    import XCTestDynamicOverlay
    
    public struct RequestRestlike {
      public var run: (Int, Contact, RestlikeMessage, Data) throws -> RestlikeMessage
    
      public func callAsFunction(
        e2eId: Int,
        recipient: Contact,
        request: RestlikeMessage,
        paramsJSON: Data
      ) throws -> RestlikeMessage {
        try run(e2eId, recipient, request, paramsJSON)
      }
    }
    
    extension RequestRestlike {
      public static let live = RequestRestlike { e2dId, recipient, request, paramsJSON in
        var error: NSError?
        let responseData = BindingsRequestRestLike(
          e2dId,
          recipient.data,
          try request.encode(),
          paramsJSON,
          &error
        )
        if let error = error {
          throw error
        }
        guard let responseData = responseData else {
          fatalError("BindingsRequestRestLike returned `nil` without providing error")
        }
        return try RestlikeMessage.decode(responseData)
      }
    }
    
    extension RequestRestlike {
      public static let unimplemented = RequestRestlike(
        run: XCTUnimplemented("\(Self.self)")
      )
    }