diff --git a/Sources/ElixxirDAppsSDK/Backup/Backup.swift b/Sources/ElixxirDAppsSDK/Backup/Backup.swift new file mode 100644 index 0000000000000000000000000000000000000000..7c8abc19758748a34e21b2163db6b9a53f9d4055 --- /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 0000000000000000000000000000000000000000..6c16884fdeca03546fefa6c5ce298bb18d3486f0 --- /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 0000000000000000000000000000000000000000..ceee54543c848993c3fb265f2d6699b544c0098f --- /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 0000000000000000000000000000000000000000..b2df31eff1a1e3944ee04fce381d064f61d0c587 --- /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)") + ) +}