This commit is contained in:
Sindre Sorhus 2023-04-17 20:48:39 +08:00
parent 8584d1d6ed
commit 0f5a23fcbd
7 changed files with 9 additions and 8 deletions

View File

@ -33,7 +33,7 @@ extension Defaults {
var value: Any
public static let bridge = AnyBridge()
init<T>(value: T?) {
init(value: (some Any)?) {
self.value = value ?? ()
}

View File

@ -104,6 +104,7 @@ extension Defaults.Serializable where Self: Codable & RawRepresentable & Default
extension Defaults.Serializable where Self: RawRepresentable {
public static var bridge: Defaults.RawRepresentableBridge<Self> { Defaults.RawRepresentableBridge() }
}
extension Defaults.Serializable where Self: NSSecureCoding & NSObject {
public static var bridge: Defaults.NSSecureCodingBridge<Self> { Defaults.NSSecureCodingBridge() }
}

View File

@ -175,7 +175,7 @@ extension Defaults {
guard
selfObject == object as? NSObject,
let change = change
let change
else {
return
}
@ -265,7 +265,7 @@ extension Defaults {
guard
object is UserDefaults,
let change = change
let change
else {
return
}

View File

@ -168,7 +168,7 @@ extension Defaults {
@usableFromInline
internal static func isValidKeyPath(name: String) -> Bool {
// The key must be ASCII, not start with @, and cannot contain a dot.
return !name.starts(with: "@") && name.allSatisfy { $0 != "." && $0.isASCII }
!name.starts(with: "@") && name.allSatisfy { $0 != "." && $0.isASCII }
}
}
@ -259,7 +259,7 @@ internal let dynamicSharedObject: UnsafeMutableRawPointer = {
@_transparent
@usableFromInline
internal func runtimeWarn(
_ condition: @autoclosure() -> Bool, _ message: @autoclosure () -> String
_ condition: @autoclosure () -> Bool, _ message: @autoclosure () -> String
) {
#if DEBUG
#if canImport(OSLog)

View File

@ -49,7 +49,7 @@ extension PlainHourMinuteTimeRange: Defaults.Serializable {
typealias Serializable = [PlainHourMinuteTime]
func serialize(_ value: Value?) -> Serializable? {
guard let value = value else {
guard let value else {
return nil
}

View File

@ -249,7 +249,7 @@ extension CodableEnumForm: Defaults.CodableType {
typealias NativeForm = EnumForm
}
private func setCodable<Value: Codable>(forKey keyName: String, data: Value) {
private func setCodable(forKey keyName: String, data: some Codable) {
guard
let text = try? JSONEncoder().encode(data),
let string = String(data: text, encoding: .utf8)