mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
refactor and cleanup [skip ci]
This commit is contained in:
42
submodules/Postbox/Sources/PeerChatListInclusion.swift
Normal file
42
submodules/Postbox/Sources/PeerChatListInclusion.swift
Normal file
@@ -0,0 +1,42 @@
|
||||
import Foundation
|
||||
|
||||
public enum PeerChatListInclusion: Equatable {
|
||||
case notIncluded
|
||||
case ifHasMessagesOrOneOf(groupId: PeerGroupId, pinningIndex: UInt16?, minTimestamp: Int32?)
|
||||
|
||||
public var groupId: PeerGroupId? {
|
||||
switch self {
|
||||
case .notIncluded:
|
||||
return nil
|
||||
case let .ifHasMessagesOrOneOf(groupId, _, _):
|
||||
return groupId
|
||||
}
|
||||
}
|
||||
|
||||
public func withPinningIndex(groupId: PeerGroupId, pinningIndex: UInt16?) -> PeerChatListInclusion {
|
||||
switch self {
|
||||
case let .ifHasMessagesOrOneOf(_, _, minTimestamp):
|
||||
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: pinningIndex, minTimestamp: minTimestamp)
|
||||
default:
|
||||
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: pinningIndex, minTimestamp: nil)
|
||||
}
|
||||
}
|
||||
|
||||
public func withoutPinningIndex() -> PeerChatListInclusion {
|
||||
switch self {
|
||||
case let .ifHasMessagesOrOneOf(groupId, _, minTimestamp):
|
||||
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: nil, minTimestamp: minTimestamp)
|
||||
default:
|
||||
return self
|
||||
}
|
||||
}
|
||||
|
||||
public func withGroupId(groupId: PeerGroupId) -> PeerChatListInclusion {
|
||||
switch self {
|
||||
case .notIncluded:
|
||||
return self
|
||||
case let .ifHasMessagesOrOneOf(_, pinningIndex, minTimestamp):
|
||||
return .ifHasMessagesOrOneOf(groupId: groupId, pinningIndex: pinningIndex, minTimestamp: minTimestamp)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user