Swiftgram/submodules/Postbox/Sources/NoticeEntryView.swift
2019-11-01 17:11:12 +04:00

32 lines
846 B
Swift

import Foundation
final class MutableNoticeEntryView {
private let key: NoticeEntryKey
fileprivate var value: NoticeEntry?
init(accountManagerImpl: AccountManagerImpl, key: NoticeEntryKey) {
self.key = key
self.value = accountManagerImpl.noticeTable.get(key: key)
}
func replay(accountManagerImpl: AccountManagerImpl, updatedKeys: Set<NoticeEntryKey>) -> Bool {
if updatedKeys.contains(self.key) {
self.value = accountManagerImpl.noticeTable.get(key: self.key)
return true
}
return false
}
func immutableView() -> NoticeEntryView {
return NoticeEntryView(self)
}
}
public final class NoticeEntryView {
public let value: NoticeEntry?
init(_ view: MutableNoticeEntryView) {
self.value = view.value
}
}