import Foundation public struct PasswordStorage { public struct MissingPasswordError: Error, Equatable { public init() {} } public init( save: @escaping (Data) throws -> Void, load: @escaping () throws -> Data ) { self.save = save self.load = load } public var save: (Data) throws -> Void public var load: () throws -> Data } #if DEBUG extension PasswordStorage { public static let failing = PasswordStorage( save: { _ in struct NotImplemented: Error {} throw NotImplemented() }, load: { struct NotImplemented: Error {} throw NotImplemented() } ) } #endif