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

Add LoadOrNewUserDiscovery functor

parent 84e0f7d2
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
import Bindings
import XCTestDynamicOverlay
public struct LoadOrNewUserDiscovery {
public var run: (Int, UdNetworkStatus, String, Data) throws -> UserDiscovery
public func callAsFunction(
e2eId: Int,
follower: UdNetworkStatus,
username: String,
registrationValidationSignature: Data
) throws -> UserDiscovery {
try run(e2eId, follower, username, registrationValidationSignature)
}
}
extension LoadOrNewUserDiscovery {
public static let live = LoadOrNewUserDiscovery {
e2eId, follower, username, registrationValidationSignature in
var error: NSError?
let bindingsUD = BindingsLoadOrNewUserDiscovery(
e2eId,
follower.makeBindingsUdNetworkStatus(),
username,
registrationValidationSignature,
&error
)
if let error = error {
throw error
}
guard let bindingsUD = bindingsUD else {
fatalError("BindingsLoadOrNewUserDiscovery returned `nil` without providing error")
}
return .live(bindingsUD)
}
}
extension LoadOrNewUserDiscovery {
public static let unimplemented = LoadOrNewUserDiscovery(
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