mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Refactoring
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import Foundation
|
||||
|
||||
public final class PreferencesEntry: Equatable {
|
||||
public final class CodableEntry: Equatable {
|
||||
public let data: Data
|
||||
|
||||
public init(data: Data) {
|
||||
@@ -18,6 +18,34 @@ public final class PreferencesEntry: Equatable {
|
||||
return decoder.decode(T.self, forKey: "_")
|
||||
}
|
||||
|
||||
public static func ==(lhs: CodableEntry, rhs: CodableEntry) -> Bool {
|
||||
return lhs.data == rhs.data
|
||||
}
|
||||
}
|
||||
|
||||
public final class PreferencesEntry: Equatable {
|
||||
public let data: Data
|
||||
|
||||
public init(data: Data) {
|
||||
self.data = data
|
||||
}
|
||||
|
||||
public init?<T: Encodable>(_ value: T?) {
|
||||
guard let value = value else {
|
||||
return nil
|
||||
}
|
||||
let encoder = PostboxEncoder()
|
||||
encoder.encode(value, forKey: "_")
|
||||
self.data = encoder.makeData()
|
||||
}
|
||||
|
||||
public func get<T: Decodable>(_ type: T.Type) -> T? {
|
||||
let decoder = PostboxDecoder(buffer: MemoryBuffer(data: self.data))
|
||||
let result = decoder.decode(T.self, forKey: "_")
|
||||
assert(result != nil)
|
||||
return result
|
||||
}
|
||||
|
||||
public static func ==(lhs: PreferencesEntry, rhs: PreferencesEntry) -> Bool {
|
||||
return lhs.data == rhs.data
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user