Update code for Defaults 9.0

This commit is contained in:
Balazs Perlaki-Horvath 2025-02-13 21:31:26 +01:00 committed by BPH
parent 8eb538f09e
commit 9a5b1b1bb3
3 changed files with 4 additions and 39 deletions

View File

@ -21,7 +21,7 @@ public protocol Defaulting: NSObjectProtocol {
} }
final class UDefaults: NSObject, Defaulting { final class UDefaults: NSObject, Defaulting {
subscript<Value>(key: Defaults.Key<Value>) -> Value where Value: DefaultsSerializable { subscript<Value>(key: Defaults.Key<Value>) -> Value {
get { get {
Defaults[key] Defaults[key]
} }

View File

@ -52,38 +52,3 @@ extension Defaults.Keys {
static let windowURLs = Key<[URL]>("windowURLs", default: []) static let windowURLs = Key<[URL]>("windowURLs", default: [])
#endif #endif
} }
extension Defaults.Serializable where Self: Codable {
public static var bridge: Defaults.TopLevelCodableBridge<Self> { Defaults.TopLevelCodableBridge() }
}
extension Defaults.Serializable where Self: Codable & NSSecureCoding {
public static var bridge: Defaults.CodableNSSecureCodingBridge<Self> { Defaults.CodableNSSecureCodingBridge() }
}
extension Defaults.Serializable where Self: Codable & NSSecureCoding & Defaults.PreferNSSecureCoding {
public static var bridge: Defaults.NSSecureCodingBridge<Self> { Defaults.NSSecureCodingBridge() }
}
extension Defaults.Serializable where Self: Codable & RawRepresentable {
public static var bridge: Defaults.RawRepresentableCodableBridge<Self> { Defaults.RawRepresentableCodableBridge() }
}
extension Defaults.Serializable where Self: Codable & RawRepresentable & Defaults.PreferRawRepresentable {
public static var bridge: Defaults.RawRepresentableBridge<Self> { Defaults.RawRepresentableBridge() }
}
extension Defaults.Serializable where Self: RawRepresentable {
public static var bridge: Defaults.RawRepresentableBridge<Self> { Defaults.RawRepresentableBridge() }
}
extension Defaults.Serializable where Self: NSSecureCoding {
public static var bridge: Defaults.NSSecureCodingBridge<Self> { Defaults.NSSecureCodingBridge() }
}
extension Defaults.CollectionSerializable where Element: Defaults.Serializable {
public static var bridge: Defaults.CollectionBridge<Self> { Defaults.CollectionBridge() }
}
extension Defaults.SetAlgebraSerializable where Element: Defaults.Serializable & Hashable {
public static var bridge: Defaults.SetAlgebraBridge<Self> { Defaults.SetAlgebraBridge() }
}

View File

@ -19,7 +19,7 @@ import Defaults
final class TestDefaults: NSObject, Defaulting { final class TestDefaults: NSObject, Defaulting {
var dict: [Defaults.AnyKey: any DefaultsSerializable] = [:] var dict: [Defaults._AnyKey: AnyObject] = [:]
func setup() { func setup() {
self[.categoriesToLanguages] = [:] self[.categoriesToLanguages] = [:]
@ -29,13 +29,13 @@ final class TestDefaults: NSObject, Defaulting {
self[.libraryLanguageCodes] = Set<String>() self[.libraryLanguageCodes] = Set<String>()
} }
subscript<Value>(key: Defaults.Key<Value>) -> Value where Value: DefaultsSerializable { subscript<Value>(key: Defaults.Key<Value>) -> Value {
get { get {
// swiftlint:disable:next force_cast // swiftlint:disable:next force_cast
dict[key] as! Value dict[key] as! Value
} }
set { set {
dict[key] = newValue dict[key] = newValue as AnyObject
} }
} }
} }