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 {
subscript<Value>(key: Defaults.Key<Value>) -> Value where Value: DefaultsSerializable {
subscript<Value>(key: Defaults.Key<Value>) -> Value {
get {
Defaults[key]
}

View File

@ -52,38 +52,3 @@ extension Defaults.Keys {
static let windowURLs = Key<[URL]>("windowURLs", default: [])
#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 {
var dict: [Defaults.AnyKey: any DefaultsSerializable] = [:]
var dict: [Defaults._AnyKey: AnyObject] = [:]
func setup() {
self[.categoriesToLanguages] = [:]
@ -29,13 +29,13 @@ final class TestDefaults: NSObject, Defaulting {
self[.libraryLanguageCodes] = Set<String>()
}
subscript<Value>(key: Defaults.Key<Value>) -> Value where Value: DefaultsSerializable {
subscript<Value>(key: Defaults.Key<Value>) -> Value {
get {
// swiftlint:disable:next force_cast
dict[key] as! Value
}
set {
dict[key] = newValue
dict[key] = newValue as AnyObject
}
}
}