A protocol-oriented, batteries-included foundation for persistence in Swift.
This library has ambitious goals:
- Provide a protocol-oriented foundation for all the critical aspects of a typical, modern Swift application's persistence layer.
- Provide standard, high performance primitives for the most common data formats (
JSON
,CSV
,XML
etc.). - Unf***
Codable
.
- An opinionated, protocol-oriented encapsulated of persistent identifiers (both type identifiers and instance identifiers).
- A modular plugin system for
Codable
(achieved by custom encoders & decoders that can wrap existing ones, macros, and a suite of protocols). - Better diagnostics for
Codable
errors (EncodingError
andDecodingError
are subpar). - Essential data storage primitives (see
@FileStorage
and@FolderStorage
– similar to SwiftUI's@AppStorage
but for the application's persistence layer.) - A high performance
JSON
primitive. - A high performance
CSV
primitive. - A high performance
XML
primitive (backed by the excellentXMLCoder
library for now).
CorePersistence is licensed under the MIT License.
XMLCoder
- Link: https://github.com/CoreOffice/XMLCoder
- License: MIT License
- Authors: Shawn Moore and XMLCoder contributors