import Bindings import XCTestDynamicOverlay public struct UpdateBackupFunc { public init(handle: @escaping (Data) -> Void) { self.handle = handle } public var handle: (Data) -> Void } extension UpdateBackupFunc { public static let unimplemented = UpdateBackupFunc( handle: XCTUnimplemented("\(Self.self)") ) } extension UpdateBackupFunc { func makeBindingsUpdateBackupFunc() -> BindingsUpdateBackupFuncProtocol { class CallbackObject: NSObject, BindingsUpdateBackupFuncProtocol { init(_ callback: UpdateBackupFunc) { self.callback = callback } let callback: UpdateBackupFunc func updateBackup(_ encryptedBackup: Data?) { guard let encryptedBackup = encryptedBackup else { fatalError("BindingsUpdateBackupFunc received `nil` encryptedBackup") } callback.handle(encryptedBackup) } } return CallbackObject(self) } }