Skip to content
Snippets Groups Projects

Messenger - backup

Merged Dariusz Rybicki requested to merge feature/messenger-backup into development
3 files
+ 98
0
Compare changes
  • Side-by-side
  • Inline
Files
3
 
import Bindings
 
import XCTestDynamicOverlay
 
 
public struct MessengerBackupParams {
 
public enum Error: Swift.Error, Equatable {
 
case notRunning
 
}
 
 
public var run: (BackupParams) throws -> Void
 
 
public func callAsFunction(_ params: BackupParams) throws {
 
try run(params)
 
}
 
}
 
 
extension MessengerBackupParams {
 
public static func live(_ env: MessengerEnvironment) -> MessengerBackupParams {
 
MessengerBackupParams { params in
 
guard let backup = env.backup(), backup.isRunning() else {
 
throw Error.notRunning
 
}
 
let paramsData = try params.encode()
 
let paramsString = String(data: paramsData, encoding: .utf8)!
 
backup.addJSON(paramsString)
 
}
 
}
 
}
 
 
extension MessengerBackupParams {
 
public static let unimplemented = MessengerBackupParams(
 
run: XCTUnimplemented("\(Self.self)")
 
)
 
}
Loading