Simplified Serialization with Property Wrappers
Make Complex Codable Serialization a breeze with declarative annotations!
@CustomCodable @SnakeCase
struct User: Codable {
    let firstName: String
    let lastName: String
    @SecondsSince1970DateCoding
    var joinDate: Date
    @CustomCodingKey("data")
    var imageData: Data
}3.0 released! Release Notes
Full DocC documentation here thanks to the Swift Package Index!
URL:
https://github.com/GottaGetSwifty/CodableWrappers.git
Manifest:
dependencies: [
    .package(url: "https://github.com/GottaGetSwifty/CodableWrappers.git", .upToNextMajor(from: "3.0.0" )),
]*WARNING* CocoaPods is not currently supported for version 3.0 to avoid complications with Swift Macros.
pod 'CodableWrappers', '~> 2.0.0'- @CustomCodable
 - @CustomCodingKey(String)
 - @CodingKeyPrefix(String)
 - @CodingKeySuffix(String)
 - @CamelCase
 - @FlatCase
 - @PascalCase
 - @UpperCase
 - @SnakeCase
 - @CamelSnakeCase
 - @PascalSnakeCase
 - @ScreamingSnakeCase
 - @KebabCase
 - @CamelKebabCase
 - @PascalKebabCase
 - @ScreamingKebabCase
 
- @EncodeNulls
 - Lossy Collections
 - Empty Defaults
 - Other Fallbacks
 - @OmitCoding
 - @Base64Coding
 - @SecondsSince1970DateCoding
 - @MillisecondsSince1970DateCoding
 - @DateFormatterCoding<DateFormatterStaticCoder>
 - @ISO8601Coding
 - @ISO8601DateFormatStyleCoding<ISO8601DateFormatterStaticCoder>
 - @NonConformingFloatCoding<ValueProvider>
 - @NonConformingDoubleCoding<ValueProvider>
 - Bool Coding
 - Additional Customization
 - Property Mutability
 - Only Encoding or Decoding
 
- 3.x supports Swift 5.9+
 - 2.x supports Swift 5.2+
 - 1.x supports Swift 5.1+
 
If there is a standard Serialization or Coding Key strategy that could be added feel free to open an issue requesting it and/or submit a pull request with the new option.