mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
52 lines
1.4 KiB
Swift
52 lines
1.4 KiB
Swift
import Foundation
|
|
|
|
public enum MessageHistoryAnchorIndex: Comparable {
|
|
case message(MessageIndex)
|
|
case lowerBound
|
|
case upperBound
|
|
|
|
public static func <(lhs: MessageHistoryAnchorIndex, rhs: MessageHistoryAnchorIndex) -> Bool {
|
|
switch lhs {
|
|
case let .message(lhsIndex):
|
|
switch rhs {
|
|
case let .message(rhsIndex):
|
|
return lhsIndex < rhsIndex
|
|
case .lowerBound:
|
|
return false
|
|
case .upperBound:
|
|
return true
|
|
}
|
|
case .lowerBound:
|
|
if case .lowerBound = rhs {
|
|
return false
|
|
} else {
|
|
return true
|
|
}
|
|
case .upperBound:
|
|
return false
|
|
}
|
|
}
|
|
|
|
public func isLess(than: MessageIndex) -> Bool {
|
|
switch self {
|
|
case .lowerBound:
|
|
return true
|
|
case .upperBound:
|
|
return false
|
|
case let .message(index):
|
|
return index < than
|
|
}
|
|
}
|
|
|
|
public func isLessOrEqual(to: MessageIndex) -> Bool {
|
|
switch self {
|
|
case .lowerBound:
|
|
return true
|
|
case .upperBound:
|
|
return false
|
|
case let .message(index):
|
|
return index <= to
|
|
}
|
|
}
|
|
}
|