Skip to content
Snippets Groups Projects

Update Bindings

Merged Dariusz Rybicki requested to merge dev/update-bindings into development
1 file
+ 57
0
Compare changes
  • Side-by-side
  • Inline
+ 57
0
 
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)")
 
)
 
}
Loading