50 lines
913 B
Swift
50 lines
913 B
Swift
|
|
struct PageIssue {
|
|
|
|
let page: Page
|
|
|
|
let language: ContentLanguage
|
|
|
|
let message: GenerationAnomaly
|
|
|
|
init(page: Page, language: ContentLanguage, message: GenerationAnomaly) {
|
|
self.page = page
|
|
self.language = language
|
|
self.message = message
|
|
|
|
print("\(title) (\(language)): \(message)")
|
|
}
|
|
|
|
var title: String {
|
|
page.localized(in: language).title
|
|
}
|
|
}
|
|
|
|
extension PageIssue: Identifiable {
|
|
|
|
var id: String {
|
|
page.id + "-" + language.rawValue + "-" + message.id
|
|
}
|
|
}
|
|
|
|
extension PageIssue: Equatable {
|
|
|
|
static func == (lhs: PageIssue, rhs: PageIssue) -> Bool {
|
|
lhs.id == rhs.id
|
|
}
|
|
}
|
|
|
|
extension PageIssue: Hashable {
|
|
|
|
func hash(into hasher: inout Hasher) {
|
|
hasher.combine(id)
|
|
}
|
|
}
|
|
|
|
extension PageIssue: Comparable {
|
|
|
|
static func < (lhs: PageIssue, rhs: PageIssue) -> Bool {
|
|
lhs.id < rhs.id
|
|
}
|
|
}
|