mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-04-23 19:36:26 +02:00
4647310322
Based on Swiftgram 12.5 (Telegram iOS 12.5). All GLEGram features ported and organized in GLEGram/ folder. Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass, Font Replacement, Fake Profile, Chat Export, Plugin System, and more. See CHANGELOG_12.5.md for full details.
45 lines
1017 B
Swift
45 lines
1017 B
Swift
import Foundation
|
|
import JSONUtilities
|
|
|
|
public struct Plist: Equatable {
|
|
|
|
public let path: String
|
|
public let properties: [String: Any]
|
|
|
|
public init(path: String, attributes: [String: Any] = [:]) {
|
|
self.path = path
|
|
properties = attributes
|
|
}
|
|
|
|
public static func == (lhs: Plist, rhs: Plist) -> Bool {
|
|
lhs.path == rhs.path &&
|
|
NSDictionary(dictionary: lhs.properties).isEqual(to: rhs.properties)
|
|
}
|
|
}
|
|
|
|
extension Plist: JSONObjectConvertible {
|
|
|
|
public init(jsonDictionary: JSONDictionary) throws {
|
|
path = try jsonDictionary.json(atKeyPath: "path")
|
|
properties = jsonDictionary.json(atKeyPath: "properties") ?? [:]
|
|
}
|
|
}
|
|
|
|
extension Plist: JSONEncodable {
|
|
public func toJSONValue() -> Any {
|
|
[
|
|
"path": path,
|
|
"properties": properties,
|
|
] as [String : Any]
|
|
}
|
|
}
|
|
|
|
extension Plist: PathContainer {
|
|
|
|
static var pathProperties: [PathProperty] {
|
|
[
|
|
.string("path"),
|
|
]
|
|
}
|
|
}
|