Skip to content
Snippets Groups Projects
Select Git revision
  • f01aa47c42a205b7dfa6e315ed0a73c0b13b286a
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

GetVersion.swift

Blame
  • ClientCreator.swift 910 B
    import Bindings
    
    public struct ClientCreator {
      public var create: (URL, Data, Data, String?) throws -> Void
    
      public func callAsFunction(
        directoryURL: URL,
        ndf: Data,
        password: Data,
        regCode: String? = nil
      ) throws {
        try create(directoryURL, ndf, password, regCode)
      }
    }
    
    extension ClientCreator {
      public static let live = ClientCreator { directoryURL, ndf, password, regCode in
        var error: NSError?
        let network = String(data: ndf, encoding: .utf8)!
        let created = BindingsNewClient(network, directoryURL.path, password, regCode, &error)
        if let error = error {
          throw error
        }
        if !created {
          fatalError("BindingsNewClient returned `false` without providing error")
        }
      }
    }
    
    #if DEBUG
    extension ClientCreator {
      public static let failing = ClientCreator { _, _, _, _ in
        struct NotImplemented: Error {}
        throw NotImplemented()
      }
    }
    #endif