Refactoring

This commit is contained in:
Ali
2021-09-07 13:09:06 +04:00
parent f0f02dc4b9
commit 1141e09c1b
257 changed files with 1894 additions and 1720 deletions

View File

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