Fix building issue
This commit is contained in:
parent
2e951497ad
commit
90f1f54a21
8 changed files with 158 additions and 86 deletions
|
|
@ -9,6 +9,74 @@
|
|||
import Foundation
|
||||
import SwiftyUserDefaults
|
||||
|
||||
// Workaround for Xcode 13: https://github.com/sunshinejr/SwiftyUserDefaults/issues/285
|
||||
|
||||
extension DefaultsSerializable {
|
||||
public static var _defaultsArray: DefaultsArrayBridge<[T]> { return DefaultsArrayBridge() }
|
||||
}
|
||||
extension Date: DefaultsSerializable {
|
||||
public static var _defaults: DefaultsObjectBridge<Date> { return DefaultsObjectBridge() }
|
||||
}
|
||||
extension String: DefaultsSerializable {
|
||||
public static var _defaults: DefaultsStringBridge { return DefaultsStringBridge() }
|
||||
}
|
||||
extension Int: DefaultsSerializable {
|
||||
public static var _defaults: DefaultsIntBridge { return DefaultsIntBridge() }
|
||||
}
|
||||
extension Double: DefaultsSerializable {
|
||||
public static var _defaults: DefaultsDoubleBridge { return DefaultsDoubleBridge() }
|
||||
}
|
||||
extension Bool: DefaultsSerializable {
|
||||
public static var _defaults: DefaultsBoolBridge { return DefaultsBoolBridge() }
|
||||
}
|
||||
extension Data: DefaultsSerializable {
|
||||
public static var _defaults: DefaultsDataBridge { return DefaultsDataBridge() }
|
||||
}
|
||||
|
||||
extension URL: DefaultsSerializable {
|
||||
#if os(Linux)
|
||||
public static var _defaults: DefaultsKeyedArchiverBridge<URL> { return DefaultsKeyedArchiverBridge() }
|
||||
#else
|
||||
public static var _defaults: DefaultsUrlBridge { return DefaultsUrlBridge() }
|
||||
#endif
|
||||
public static var _defaultsArray: DefaultsKeyedArchiverBridge<[URL]> { return DefaultsKeyedArchiverBridge() }
|
||||
}
|
||||
|
||||
extension DefaultsSerializable where Self: Codable {
|
||||
public static var _defaults: DefaultsCodableBridge<Self> { return DefaultsCodableBridge() }
|
||||
public static var _defaultsArray: DefaultsCodableBridge<[Self]> { return DefaultsCodableBridge() }
|
||||
}
|
||||
|
||||
extension DefaultsSerializable where Self: RawRepresentable {
|
||||
public static var _defaults: DefaultsRawRepresentableBridge<Self> { return DefaultsRawRepresentableBridge() }
|
||||
public static var _defaultsArray: DefaultsRawRepresentableArrayBridge<[Self]> { return DefaultsRawRepresentableArrayBridge() }
|
||||
}
|
||||
|
||||
extension DefaultsSerializable where Self: NSCoding {
|
||||
public static var _defaults: DefaultsKeyedArchiverBridge<Self> { return DefaultsKeyedArchiverBridge() }
|
||||
public static var _defaultsArray: DefaultsKeyedArchiverBridge<[Self]> { return DefaultsKeyedArchiverBridge() }
|
||||
}
|
||||
|
||||
extension Dictionary: DefaultsSerializable where Key == String {
|
||||
public typealias T = [Key: Value]
|
||||
public typealias Bridge = DefaultsObjectBridge<T>
|
||||
public typealias ArrayBridge = DefaultsArrayBridge<[T]>
|
||||
public static var _defaults: Bridge { return Bridge() }
|
||||
public static var _defaultsArray: ArrayBridge { return ArrayBridge() }
|
||||
}
|
||||
extension Array: DefaultsSerializable where Element: DefaultsSerializable {
|
||||
public typealias T = [Element.T]
|
||||
public typealias Bridge = Element.ArrayBridge
|
||||
public typealias ArrayBridge = DefaultsObjectBridge<[T]>
|
||||
public static var _defaults: Bridge {
|
||||
return Element._defaultsArray
|
||||
}
|
||||
public static var _defaultsArray: ArrayBridge {
|
||||
fatalError("Multidimensional arrays are not supported yet")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public var Defaults = DefaultsAdapter(defaults: UserDefaults(suiteName: Globals.groupIdentifier)!, keyStore: DefaultsKeys())
|
||||
|
||||
public enum KeySource: String, DefaultsSerializable {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue