refactor and cleanup [skip ci]

This commit is contained in:
overtake
2019-11-01 17:11:12 +04:00
parent 66191348f3
commit 8f66c10ac1
786 changed files with 983 additions and 69155 deletions

View 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
}
}
}