import Bindings import XCTestDynamicOverlay public struct MessengerStopBackup { public var run: () throws -> Void public func callAsFunction() throws { try run() } } extension MessengerStopBackup { public static func live(_ env: MessengerEnvironment) -> MessengerStopBackup { MessengerStopBackup { guard let backup = env.backup() else { return } try backup.stop() env.backup.set(nil) } } } extension MessengerStopBackup { public static let unimplemented = MessengerStopBackup( run: XCTUnimplemented("\(Self.self)") ) }