This repository includes some useful tools for Codable
protocol and data decoding.
PlainCodingKey
Simple CodingKey
struct.
- Type reflection for
Decodable
types
let properties: [String: Any.Type] = Mirror.reflect(SomeType.self)
//or Mirror(SomeType.self).children
- Tools for creating custom encoders/decoders
Based on similar logic when writing different encoders/decoders DecodingUnboxer
and EncodingBoxer
protocols were implemented.
Examples of usage are all encoders in decoders in this repo.
Create a Package.swift
file.
// swift-tools-version:5.0
import PackageDescription
let package = Package(
name: "SomeProject",
dependencies: [
.package(url: "https://github.com/dankinsoid/SimpleCoders.git", from: "1.5.0")
],
targets: [
.target(name: "SomeProject", dependencies: ["SimpleCoders"])
]
)
$ swift build
Add the following line to your Podfile:
pod 'SimpleCoders'
and run pod update
from the podfile directory first.
Voidilov, voidilov@gmail.com
VDCodable is available under the MIT license. See the LICENSE file for more info.