import SwiftyJSON
import Doutaku
-struct MappingConfiguration<T: NSManagedObject> {
+struct MappingConfiguration<T: Entity> {
- let entity: Entity<T>
+ let entity: T.Type
let dataKeys: [String]
let primaryKeys: [String]
let editorStore: CoreDataAccessor
- let ignoreKeys: [String]
+ let ignoreKeys: Set<String>
- init(entity: Entity<T>,
+ init(entity: T.Type,
dataKeys: [String] = ["api_data"],
primaryKeys: [String] = ["id"],
editorStore: CoreDataAccessor,
- ignoreKeys: [String] = []) {
+ ignoreKeys: Set<String> = []) {
self.entity = entity
self.dataKeys = dataKeys
protocol JSONMapper {
- associatedtype ObjectType: NSManagedObject
+ associatedtype ObjectType: Entity
init(_ apiResponse: APIResponse)
}
}
- private func sortedObjects<T>(_ entity: Entity<T>) -> [T] {
+ private func sortedObjects<ResultType: Entity>(_ entity: ResultType.Type) -> [ResultType] {
let store = configuration.editorStore
return []
}
- return (objects as NSArray).sortedArray(using: sortDescriptors) as? [T] ?? []
+ return (objects as NSArray).sortedArray(using: sortDescriptors) as? [ResultType] ?? []
}
private func commintInContext() {