Skip to content
Snippets Groups Projects
Commit 775f2663 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add RequestRestlike functor

parent 3ace5182
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
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)")
)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment