Select Git revision
ephemeral_test.go
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)")
)
}