mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
refactor and cleanup [skip ci]
This commit is contained in:
51
submodules/Postbox/Sources/MessageHistoryAnchorIndex.swift
Normal file
51
submodules/Postbox/Sources/MessageHistoryAnchorIndex.swift
Normal file
@@ -0,0 +1,51 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user