From 9de84b1db20162bbd0a39b028b204f5826fbe15b Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Fri, 29 Jul 2022 14:04:08 +0100 Subject: [PATCH] Wrap Backup object --- Sources/ElixxirDAppsSDK/Backup/Backup.swift | 25 +++++++++++++++++++ .../Backup/Functors/BackupAddJson.swift | 22 ++++++++++++++++ .../Backup/Functors/BackupIsRunning.swift | 22 ++++++++++++++++ .../Backup/Functors/BackupStop.swift | 22 ++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 Sources/ElixxirDAppsSDK/Backup/Backup.swift create mode 100644 Sources/ElixxirDAppsSDK/Backup/Functors/BackupAddJson.swift create mode 100644 Sources/ElixxirDAppsSDK/Backup/Functors/BackupIsRunning.swift create mode 100644 Sources/ElixxirDAppsSDK/Backup/Functors/BackupStop.swift diff --git a/Sources/ElixxirDAppsSDK/Backup/Backup.swift b/Sources/ElixxirDAppsSDK/Backup/Backup.swift new file mode 100644 index 00000000..7c8abc19 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Backup/Backup.swift @@ -0,0 +1,25 @@ +import Bindings + +public struct Backup { + public var isRunning: BackupIsRunning + public var addJSON: BackupAddJSON + public var stop: BackupStop +} + +extension Backup { + public static func live(_ bindingsBackup: BindingsBackup) -> Backup { + Backup( + isRunning: .live(bindingsBackup), + addJSON: .live(bindingsBackup), + stop: .live(bindingsBackup) + ) + } +} + +extension Backup { + public static let unimplemented = Backup( + isRunning: .unimplemented, + addJSON: .unimplemented, + stop: .unimplemented + ) +} diff --git a/Sources/ElixxirDAppsSDK/Backup/Functors/BackupAddJson.swift b/Sources/ElixxirDAppsSDK/Backup/Functors/BackupAddJson.swift new file mode 100644 index 00000000..6c16884f --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Backup/Functors/BackupAddJson.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct BackupAddJSON { + public var run: (String) -> Void + + public func callAsFunction(_ jsonString: String) { + run(jsonString) + } +} + +extension BackupAddJSON { + public static func live(_ bindingsBackup: BindingsBackup) -> BackupAddJSON { + BackupAddJSON(run: bindingsBackup.addJson) + } +} + +extension BackupAddJSON { + public static let unimplemented = BackupAddJSON( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Backup/Functors/BackupIsRunning.swift b/Sources/ElixxirDAppsSDK/Backup/Functors/BackupIsRunning.swift new file mode 100644 index 00000000..ceee5454 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Backup/Functors/BackupIsRunning.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct BackupIsRunning { + public var run: () -> Bool + + public func callAsFunction() -> Bool { + run() + } +} + +extension BackupIsRunning { + public static func live(_ bindingsBackup: BindingsBackup) -> BackupIsRunning { + BackupIsRunning(run: bindingsBackup.isBackupRunning) + } +} + +extension BackupIsRunning { + public static let unimplemented = BackupIsRunning( + run: XCTUnimplemented("\(Self.self)") + ) +} diff --git a/Sources/ElixxirDAppsSDK/Backup/Functors/BackupStop.swift b/Sources/ElixxirDAppsSDK/Backup/Functors/BackupStop.swift new file mode 100644 index 00000000..b2df31ef --- /dev/null +++ b/Sources/ElixxirDAppsSDK/Backup/Functors/BackupStop.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct BackupStop { + public var run: () throws -> Void + + public func callAsFunction() throws { + try run() + } +} + +extension BackupStop { + public static func live(_ bindingsBackup: BindingsBackup) -> BackupStop { + BackupStop(run: bindingsBackup.stop) + } +} + +extension BackupStop { + public static let unimplemented = BackupStop( + run: XCTUnimplemented("\(Self.self)") + ) +} -- GitLab