ChWebsiteApp/CHDataManagement/Model/Item/LocalizedItemId.swift
2025-01-08 14:59:04 +01:00

34 lines
733 B
Swift

struct LocalizedItemId {
let language: ContentLanguage
let itemType: ItemReference
}
extension LocalizedItemId: Equatable {
static func == (lhs: LocalizedItemId, rhs: LocalizedItemId) -> Bool {
lhs.language == rhs.language &&
lhs.itemType == rhs.itemType
}
}
extension LocalizedItemId: Hashable {
func hash(into hasher: inout Hasher) {
hasher.combine(language)
hasher.combine(itemType.id)
}
}
extension LocalizedItemId: Comparable {
static func < (lhs: LocalizedItemId, rhs: LocalizedItemId) -> Bool {
guard lhs.itemType == rhs.itemType else {
return lhs.itemType < rhs.itemType
}
return lhs.language < rhs.language
}
}