Select Git revision
SearchUD.swift
Dariusz Rybicki authored
SearchUD.swift 1.13 KiB
import Bindings
import XCTestDynamicOverlay
public struct SearchUD {
public var run: (Int, Data, [Fact], Data, UdSearchCallback) throws -> SingleUseSendReport
public func callAsFunction(
e2eId: Int,
udContact: Data,
facts: [Fact],
singleRequestParamsJSON: Data = GetSingleUseParams.liveDefault(),
callback: UdSearchCallback
) throws -> SingleUseSendReport {
try run(e2eId, udContact, facts, singleRequestParamsJSON, callback)
}
}
extension SearchUD {
public static let live = SearchUD {
e2eId, udContact, facts, singleRequestParamsJSON, callback in
var error: NSError?
let reportData = BindingsSearchUD(
e2eId,
udContact,
callback.makeBindingsUdSearchCallback(),
try facts.encode(),
singleRequestParamsJSON,
&error
)
if let error = error {
throw error
}
guard let reportData = reportData else {
fatalError("BindingsSearchUD returned `nil` without providing error")
}
return try SingleUseSendReport.decode(reportData)
}
}
extension SearchUD {
public static let unimplemented = SearchUD(
run: XCTUnimplemented("\(Self.self)")
)
}