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

Add MultiLookupUD function wrapper

parent 9383977d
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!90Update Bindings
import Bindings
import XCTestDynamicOverlay
public struct MultiLookupUD {
public struct Params: Equatable {
public init(
e2eId: Int,
udContact: Data,
lookupIds: [Data],
singleRequestParams: Data = GetSingleUseParams.liveDefault()
) {
self.e2eId = e2eId
self.udContact = udContact
self.lookupIds = lookupIds
self.singleRequestParams = singleRequestParams
}
public var e2eId: Int
public var udContact: Data
public var lookupIds: [Data]
public var singleRequestParams: Data
}
public var run: (Params, UdMultiLookupCallback) throws -> Void
public func callAsFunction(params: Params, callback: UdMultiLookupCallback) throws -> Void {
try run(params, callback)
}
}
extension MultiLookupUD {
public static func live() -> MultiLookupUD {
MultiLookupUD { params, callback in
var error: NSError?
let result = BindingsMultiLookupUD(
params.e2eId,
params.udContact,
callback.makeBindingsUdMultiLookupCallback(),
try JSONEncoder().encode(params.lookupIds),
params.singleRequestParams,
&error
)
if let error = error {
throw error
}
guard result else {
fatalError("BindingsMultiLookupUD returned `false` without providing error")
}
}
}
}
extension MultiLookupUD {
public static let unimplemented = MultiLookupUD(
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