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)") ) }