CodableDatastore
CodableDatastore copied to clipboard
An ACID-compliant database written in pure-swift enabling on-disk persistence for apps and services.
https://github.com/mochidev/CodableDatastore/pull/158 introduced some defaults, but it would be ideal if they could be configured as well. Additionally, platforms like watchOS could use smaller defaults to have a smaller footprint out...
When a persistence is created and a datastore is registered, an empty index is created, but is not tracked in any way.
This should have a static method that takes a url, and returns a shared actor for the volume the URL resides on. This way, all synchronous IO can be isolated...
Also rename the current `Indexed` to `_Indexed` to make the underlying bits work, and figure out how to make `key` play nice with Codable.
To better support file moves, use a bookmark as the primary storage in memory. This way a data store can be used as a file the user can move around.
We should utilize an in-process registry to ensure that only one disk persistence for a given URL is used at once, logging to make sure a developer doesn't inadvertently create...
It would be much nicer to get a single common instance when getting the default store: ```swift extension DiskPersistence where AccessMode == ReadWrite { /// The default persistence for the...
Add a proper way to convert between a read-write DiskPersistence to a read-only view of one, backed by the same instance.
Specifically in cases when a bundle ID or app support directory is not present.
The indexes currently use `@unchecked Sendable` as a workaround.