38 lines
697 B
Swift
38 lines
697 B
Swift
import Foundation
|
|
|
|
struct StorageError {
|
|
|
|
let date: Date
|
|
|
|
let message: String
|
|
|
|
init(date: Date = .now, message: String) {
|
|
self.date = date
|
|
self.message = message
|
|
}
|
|
}
|
|
|
|
extension StorageError: Identifiable {
|
|
|
|
var id: String {
|
|
date.description + message
|
|
}
|
|
}
|
|
|
|
extension StorageError: Comparable {
|
|
|
|
static func < (lhs: StorageError, rhs: StorageError) -> Bool {
|
|
guard lhs.date == rhs.date else {
|
|
return lhs.date < rhs.date
|
|
}
|
|
return lhs.message < rhs.message
|
|
}
|
|
}
|
|
|
|
extension StorageError: ExpressibleByStringLiteral {
|
|
|
|
init(stringLiteral value: StringLiteralType) {
|
|
self.init(message: value)
|
|
}
|
|
}
|