Skip to content
Snippets Groups Projects

Bindings API wrapper

1 file
+ 11
6
Compare changes
  • Side-by-side
  • Inline
import Bindings
import Bindings
public struct ClientCreator {
public struct ClientCreator {
public var create: (URL, Data, Data) throws -> Void
public var create: (URL, Data, Data, String?) throws -> Void
public func callAsFunction(directoryURL: URL, ndf: Data, password: Data) throws {
public func callAsFunction(
try create(directoryURL, ndf, password)
directoryURL: URL,
 
ndf: Data,
 
password: Data,
 
regCode: String? = nil
 
) throws {
 
try create(directoryURL, ndf, password, regCode)
}
}
}
}
extension ClientCreator {
extension ClientCreator {
public static let live = ClientCreator { directoryURL, ndf, password in
public static let live = ClientCreator { directoryURL, ndf, password, regCode in
var error: NSError?
var error: NSError?
let network = String(data: ndf, encoding: .utf8)!
let network = String(data: ndf, encoding: .utf8)!
let created = BindingsNewClient(network, directoryURL.path, password, nil, &error)
let created = BindingsNewClient(network, directoryURL.path, password, regCode, &error)
if let error = error {
if let error = error {
throw error
throw error
}
}
@@ -24,7 +29,7 @@ extension ClientCreator {
@@ -24,7 +29,7 @@ extension ClientCreator {
#if DEBUG
#if DEBUG
extension ClientCreator {
extension ClientCreator {
public static let failing = ClientCreator { _, _, _ in
public static let failing = ClientCreator { _, _, _, _ in
struct NotImplemented: Error {}
struct NotImplemented: Error {}
throw NotImplemented()
throw NotImplemented()
}
}
Loading