Skip to content
Snippets Groups Projects
Select Git revision
  • project_setup
  • bindings-update
  • xxclient
  • development
  • master
5 results

gradle.properties

Blame
  • RequestRestlike.swift 1023 B
    import Bindings
    import XCTestDynamicOverlay
    
    public struct RequestRestlike {
      public var run: (Int, Data, RestlikeMessage, Data) throws -> RestlikeMessage
    
      public func callAsFunction(
        e2eId: Int,
        recipient: Data,
        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,
          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)")
      )
    }