Foil
Foil copied to clipboard
A lightweight property wrapper for UserDefaults done right
Hello! Previously, only when using the property wrapper's setter would the projected publisher send a new value. This ignored changes from: - Other instances of the property wrapper. - Other...
Also remove Danger? It always fails and there's not much activity on this repo, so maintenance is of dubious value.
⚠️ Not ready to merge until: 1. Xcode 16 final release 2. GitHub Actions CI updates
After Xcode 16 is released. Consider migrating the tests? https://swiftpackageindex.com/apple/swift-testing
Issue #107 :black_heart: ## Describe your changes Converts XCTest based unit tests to use the Swift Testing framework and adds some test utilities for bridging between combine and async streams.
Similar to how we provide conformances for built-in types, like `Int`: ```swift extension Int: UserDefaultsSerializable { public var storedValue: Self { self } public init(storedValue: Self) { self = storedValue...
Could we write a property wrapper for [`NSUbiquitousKeyValueStore`](https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore)? I think this would work. However, clients would have to manage: 1. Calls to [`synchronize()`](https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore/synchronize()) 2. Handle [`didChangeExternallyNotification`](https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore/didchangeexternallynotification) 3. Entitlement `com.apple.developer.ubiquity-kvstore-identifier` Here's...