github.com/evermeer/EVReflection ↗
Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
Open this visualization on its own page →
Contributors
30
Lines of Code
9,969
From
2015-04-29
To
2019-03-28
About evermeer/EVReflection
EVReflection is a Swift library that uses reflection to enable automatic object mapping between dictionaries, JSON, XML, and various data persistence frameworks. It allows developers to convert between different data formats and storage systems with minimal boilerplate code by automatically mapping properties based on their names and types.
The library supports conversions to and from JSON strings, dictionaries, XML, CloudKit records, Core Data managed objects, and Realm objects. It includes specialized extensions for popular networking libraries like Alamofire and Moya, with integration support for reactive programming frameworks RxSwift and ReactiveSwift. Developers can define custom property mappings, type converters, validators, and encoders/decoders to handle non-standard conversions and data transformations.
The project is designed for iOS development and supports Swift 4.2 and later. It offers extensive customization options including automatic keyword mapping for Swift reserved words, case conversion between camelCase and snake_case, property validation through KVO, and the ability to skip serialization of specific values. The library is battle-tested and used in other projects by the same author, with comprehensive unit tests demonstrating various use cases from basic JSON parsing to complex nested object mapping and framework integration.