OSDN Git Service

Doutaku を 1.0 にアップデート
authormasakih <masakih@users.sourceforge.jp>
Sun, 12 Aug 2018 09:12:11 +0000 (18:12 +0900)
committermasakih <masakih@users.sourceforge.jp>
Sun, 12 Aug 2018 09:12:11 +0000 (18:12 +0900)
Doutaku1.0に合わせてソースコードを変更

29 files changed:
Cartfile.resolved
KCD/AirBaseMapper.swift
KCD/BasicMapper.swift
KCD/BookmarkDataStoreAccessor.swift
KCD/BookmarkListViewController.swift
KCD/DeckMapper.swift
KCD/Entities.swift
KCD/HistoryTableViewController.swift
KCD/JSONMapper.swift
KCD/KCManagedObject.swift
KCD/KenzoDockMapper.swift
KCD/LocalDataStoreAccessor.swift
KCD/MasterFurnitureMapper.swift
KCD/MasterMapAreaMapper.swift
KCD/MasterMapInfoMapper.swift
KCD/MasterMissionMapper.swift
KCD/MasterSTypeMapper.swift
KCD/MasterShipMapper.swift
KCD/MasterSlotItemEquipTypeMapper.swift
KCD/MasterSlotItemMapper.swift
KCD/MasterUseItemMapper.swift
KCD/MaterialMapper.swift
KCD/NyukyoDockMapper.swift
KCD/ResourceHistoryDataStoreAccessor.swift
KCD/ServerDataStoreAccessor.swift
KCD/ShipMapper.swift
KCD/SlotItemMapper.swift
KCD/TSVSupport.swift
KCD/TemporaryDataStoreAccessor.swift

index d243826..fc9b349 100644 (file)
@@ -1,2 +1,2 @@
 github "SwiftyJSON/SwiftyJSON" "4.1.0"
-github "masakih/Doutaku" "0.6.0"
+github "masakih/Doutaku" "1.0"
index 2d15e4a..79b1711 100644 (file)
@@ -12,7 +12,7 @@ import SwiftyJSON
 final class AirBaseMapper: JSONMapper {
         
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: AirBase.entity,
+    let configuration = MappingConfiguration(entity: AirBase.self,
                                              dataKeys: ["api_data", "api_air_base"],
                                              primaryKeys: ["area_id", "rid"],
                                              editorStore: ServerDataStore.oneTimeEditor())
index c7a584f..087f8ab 100644 (file)
@@ -16,7 +16,7 @@ final class BasicMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Basic.entity,
+        self.configuration = MappingConfiguration(entity: Basic.self,
                                                   dataKeys: BasicMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
index ab18b1d..25b634f 100644 (file)
@@ -10,6 +10,6 @@ extension BookmarkDataStore {
     
     func createBookmark() -> Bookmark? {
         
-        return insertNewObject(for: Bookmark.entity)
+        return insertNewObject(for: Bookmark.self)
     }
 }
index 548b16a..ebde590 100644 (file)
@@ -207,7 +207,7 @@ extension BookmarkListViewController: NSTableViewDelegate, NSTableViewDataSource
                     
                     return
                 }
-                guard let bookmark = store.object(of: Bookmark.entity, forURIRepresentation: uri) else {
+                guard let bookmark = store.object(of: Bookmark.self, forURIRepresentation: uri) else {
                     
                     return
                 }
index 2d1a1ce..b3fcf45 100644 (file)
@@ -16,7 +16,7 @@ final class DeckMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Deck.entity,
+        self.configuration = MappingConfiguration(entity: Deck.self,
                                                   dataKeys: DeckMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
index c2fda1c..4008990 100644 (file)
@@ -9,40 +9,40 @@
 import Doutaku
 
 // MARK: - KCD model
-extension AirBase: EntityProvider {}
-extension AirBasePlaneInfo: EntityProvider {}
-extension Basic: EntityProvider {}
-extension Deck: EntityProvider {}
-extension KenzoDock: EntityProvider {}
-extension MasterFurniture: EntityProvider {}
-extension MasterMapArea: EntityProvider {}
-extension MasterMapInfo: EntityProvider {}
-extension MasterMission: EntityProvider {}
-extension MasterShip: EntityProvider {}
-extension MasterSlotItem: EntityProvider {}
-extension MasterSType: EntityProvider {}
-extension MasterSlotItemEquipType: EntityProvider {}
-extension MasterUseItem: EntityProvider {}
-extension Material: EntityProvider {}
-extension NyukyoDock: EntityProvider {}
-extension Ship: EntityProvider {}
-extension SlotItem: EntityProvider {}
-extension Quest: EntityProvider {}
+extension AirBase: Entity {}
+extension AirBasePlaneInfo: Entity {}
+extension Basic: Entity {}
+extension Deck: Entity {}
+extension KenzoDock: Entity {}
+extension MasterFurniture: Entity {}
+extension MasterMapArea: Entity {}
+extension MasterMapInfo: Entity {}
+extension MasterMission: Entity {}
+extension MasterShip: Entity {}
+extension MasterSlotItem: Entity {}
+extension MasterSType: Entity {}
+extension MasterSlotItemEquipType: Entity {}
+extension MasterUseItem: Entity {}
+extension Material: Entity {}
+extension NyukyoDock: Entity {}
+extension Ship: Entity {}
+extension SlotItem: Entity {}
+extension Quest: Entity {}
 
 // MARK: - LocalData model
-extension DropShipHistory: EntityProvider {}
-extension HiddenDropShipHistory: EntityProvider {}
-extension KaihatuHistory: EntityProvider {}
-extension KenzoHistory: EntityProvider {}
-extension KenzoMark: EntityProvider {}
+extension DropShipHistory: Entity {}
+extension HiddenDropShipHistory: Entity {}
+extension KaihatuHistory: Entity {}
+extension KenzoHistory: Entity {}
+extension KenzoMark: Entity {}
 
 // MARK: - Temporay model
-extension Battle: EntityProvider {}
-extension Damage: EntityProvider {}
-extension GuardEscaped: EntityProvider {}
+extension Battle: Entity {}
+extension Damage: Entity {}
+extension GuardEscaped: Entity {}
 
 // MARK: - Bookmark model
-extension Bookmark: EntityProvider {}
+extension Bookmark: Entity {}
 
 // MARK: - ResourceHistory model
-extension Resource: EntityProvider {}
+extension Resource: Entity {}
index 36ba893..77ae540 100644 (file)
@@ -160,7 +160,7 @@ final class KaihatsuHistoryTableViewController: HistoryTableViewController {
     override var predicateFormat: String { return "name contains $value" }
     override func objects(of predicate: Predicate?, in store: LocalDataStore) throws -> [NSManagedObject] {
         
-        return try store.objects(of: KaihatuHistory.entity, predicate: predicate)
+        return try store.objects(of: KaihatuHistory.self, predicate: predicate)
     }
 }
 
@@ -169,7 +169,7 @@ final class KenzoHistoryTableViewController: HistoryTableViewController {
     override var predicateFormat: String { return "name contains $value" }
     override func objects(of predicate: Predicate?, in store: LocalDataStore) throws -> [NSManagedObject] {
         
-        return try store.objects(of: KenzoHistory.entity, predicate: predicate)
+        return try store.objects(of: KenzoHistory.self, predicate: predicate)
     }
 }
 
@@ -178,6 +178,6 @@ final class DropShipHistoryTableViewController: HistoryTableViewController {
     override var predicateFormat: String { return "shipName contains $value" }
     override func objects(of predicate: Predicate?, in store: LocalDataStore) throws -> [NSManagedObject] {
         
-        return try store.objects(of: DropShipHistory.entity, predicate: predicate)
+        return try store.objects(of: DropShipHistory.self, predicate: predicate)
     }
 }
index 6e38828..5ab7d34 100644 (file)
@@ -10,15 +10,15 @@ import Cocoa
 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]
     
-    init(entity: Entity<T>,
+    init(entity: T.Type,
          dataKeys: [String] = ["api_data"],
          primaryKeys: [String] = ["id"],
          editorStore: CoreDataAccessor,
@@ -34,7 +34,7 @@ struct MappingConfiguration<T: NSManagedObject> {
 
 protocol JSONMapper {
     
-    associatedtype ObjectType: NSManagedObject
+    associatedtype ObjectType: Entity
     
     init(_ apiResponse: APIResponse)
     
@@ -167,7 +167,7 @@ extension JSONMapper {
         }
     }
     
-    private func sortedObjects<T>(_ entity: Entity<T>) -> [T] {
+    private func sortedObjects<ResultType: Entity>(_ entity: ResultType.Type) -> [ResultType] {
         
         let store = configuration.editorStore
         
@@ -178,7 +178,7 @@ extension JSONMapper {
             return []
         }
         
-        return (objects as NSArray).sortedArray(using: sortDescriptors) as? [T] ?? []
+        return (objects as NSArray).sortedArray(using: sortDescriptors) as? [ResultType] ?? []
     }
     private func commintInContext() {
         
index 25d6966..e669ea4 100644 (file)
@@ -8,6 +8,7 @@
 
 import Foundation
 import CoreData
+import Doutaku
 
 enum KCManagedObjectError: Error {
     
@@ -68,7 +69,7 @@ class KCManagedObject: NSManagedObject {
             return value(forKey: k)
         }
         
-        print("Entity \(type(of: self).entityName) dose not have key \(key)")
+        print("Entity \(String(describing: self)) dose not have key \(key)")
         
         return nil
     }
@@ -90,6 +91,6 @@ class KCManagedObject: NSManagedObject {
             return
         }
         
-        print("Entity \(type(of: self).entityName) dose not have key \(key)")
+        print("Entity \(String(describing: self)) dose not have key \(key)")
     }
 }
index 2067dbb..7357eb2 100644 (file)
@@ -16,7 +16,7 @@ final class KenzoDockMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: KenzoDock.entity,
+        self.configuration = MappingConfiguration(entity: KenzoDock.self,
                                                   dataKeys: KenzoDockMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
index c858ca5..bce36f1 100644 (file)
@@ -20,7 +20,7 @@ extension LocalDataStore {
             )
             .and(Predicate(\DropShipHistory.mapArea, in: ["1", "2", "3", "4", "5", "6", "7", "8", "9"]))
         
-        guard let dropHistories = try? objects(of: DropShipHistory.entity, predicate: predicate) else {
+        guard let dropHistories = try? objects(of: DropShipHistory.self, predicate: predicate) else {
             
             return []
         }
@@ -30,7 +30,7 @@ extension LocalDataStore {
     
     func createDropShipHistory(from: HiddenDropShipHistory) -> DropShipHistory? {
         
-        guard let new = insertNewObject(for: DropShipHistory.entity) else {
+        guard let new = insertNewObject(for: DropShipHistory.self) else {
             
             Logger.shared.log("Can not create DropShipHistory")
             
@@ -51,7 +51,7 @@ extension LocalDataStore {
     
     func kaihatuHistories() -> [KaihatuHistory] {
         
-        guard let kaihatuHistories = try? objects(of: KaihatuHistory.entity) else {
+        guard let kaihatuHistories = try? objects(of: KaihatuHistory.self) else {
             
             return []
         }
@@ -68,7 +68,7 @@ extension LocalDataStore {
                     .or(Predicate(isNil: \KaihatuHistory.mark))
         )
         
-        guard let kaihatuHistories = try? objects(of: KaihatuHistory.entity, predicate: predicate) else {
+        guard let kaihatuHistories = try? objects(of: KaihatuHistory.self, predicate: predicate) else {
             
             return []
         }
@@ -78,14 +78,14 @@ extension LocalDataStore {
     
     func createKaihatuHistory() -> KaihatuHistory? {
         
-        return insertNewObject(for: KaihatuHistory.entity)
+        return insertNewObject(for: KaihatuHistory.self)
     }
     
     func kenzoMark(byDockId dockId: Int) -> KenzoMark? {
         
         let predicate = Predicate(\KenzoMark.kDockId, equalTo: dockId)
         
-        guard let kenzoMarks = try? objects(of: KenzoMark.entity, predicate: predicate) else {
+        guard let kenzoMarks = try? objects(of: KenzoMark.self, predicate: predicate) else {
             
             return nil
         }
@@ -103,7 +103,7 @@ extension LocalDataStore {
             .and(Predicate(\KenzoMark.kaihatusizai, equalTo: docInfo.kaihatusizai))
             .and(Predicate(\KenzoMark.created_ship_id, equalTo: docInfo.shipId))
         
-        guard let kenzoMarks = try? objects(of: KenzoMark.entity, predicate: predicate) else {
+        guard let kenzoMarks = try? objects(of: KenzoMark.self, predicate: predicate) else {
             
             return nil
         }
@@ -113,7 +113,7 @@ extension LocalDataStore {
     
     func createKenzoMark() -> KenzoMark? {
         
-        return insertNewObject(for: KenzoMark.entity)
+        return insertNewObject(for: KenzoMark.self)
     }
     
     func unmarkedKenzoHistories(befor days: Int) -> [KenzoHistory] {
@@ -125,7 +125,7 @@ extension LocalDataStore {
                     .or(Predicate(isNil: \KenzoHistory.mark))
         )
         
-        guard let kenzoHistories = try? objects(of: KenzoHistory.entity, predicate: predicate) else {
+        guard let kenzoHistories = try? objects(of: KenzoHistory.self, predicate: predicate) else {
             
             return []
         }
@@ -135,12 +135,12 @@ extension LocalDataStore {
     
     func createKenzoHistory() -> KenzoHistory? {
         
-        return insertNewObject(for: KenzoHistory.entity)
+        return insertNewObject(for: KenzoHistory.self)
     }
     
     func hiddenDropShipHistories() -> [HiddenDropShipHistory] {
         
-        guard let dropShipHistories = try? objects(of: HiddenDropShipHistory.entity) else {
+        guard let dropShipHistories = try? objects(of: HiddenDropShipHistory.self) else {
             
             return []
         }
@@ -150,6 +150,6 @@ extension LocalDataStore {
     
     func createHiddenDropShipHistory() -> HiddenDropShipHistory? {
         
-        return insertNewObject(for: HiddenDropShipHistory.entity)
+        return insertNewObject(for: HiddenDropShipHistory.self)
     }
 }
index 98c7e6e..e31fcb2 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterFurnitureMapper: JSONMapper {
     
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterFurniture.entity,
+    let configuration = MappingConfiguration(entity: MasterFurniture.self,
                                              dataKeys: ["api_data", "api_mst_furniture"],
                                              editorStore: ServerDataStore.oneTimeEditor(),
                                              ignoreKeys: ["api_season"])
index 2181149..ddf9beb 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterMapAreaMapper: JSONMapper {
         
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterMapArea.entity,
+    let configuration = MappingConfiguration(entity: MasterMapArea.self,
                                              dataKeys: ["api_data", "api_mst_maparea"],
                                              editorStore: ServerDataStore.oneTimeEditor())
     
index 4cf70f6..0bd41f6 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterMapInfoMapper: JSONMapper {
         
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterMapInfo.entity,
+    let configuration = MappingConfiguration(entity: MasterMapInfo.self,
                                              dataKeys: ["api_data", "api_mst_mapinfo"],
                                              editorStore: ServerDataStore.oneTimeEditor())
     
index ad3a66b..01b0d3f 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterMissionMapper: JSONMapper {
     
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterMission.entity,
+    let configuration = MappingConfiguration(entity: MasterMission.self,
                                              dataKeys: ["api_data", "api_mst_mission"],
                                              editorStore: ServerDataStore.oneTimeEditor(),
                                              ignoreKeys: ["api_deck_num", "api_disp_no"])
index 00fbe5a..d41a268 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterSTypeMapper: JSONMapper {
     
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterSType.entity,
+    let configuration = MappingConfiguration(entity: MasterSType.self,
                                              dataKeys: ["api_data", "api_mst_stype"],
                                              editorStore: ServerDataStore.oneTimeEditor(),
                                              ignoreKeys: ["api_equip_type"])
index 72f82cd..9feb967 100644 (file)
@@ -12,7 +12,7 @@ import SwiftyJSON
 final class MasterShipMapper: JSONMapper {
         
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterShip.entity,
+    let configuration = MappingConfiguration(entity: MasterShip.self,
                                              dataKeys: ["api_data", "api_mst_ship"],
                                              editorStore: ServerDataStore.oneTimeEditor())
     
index 5446ec8..10f3f0e 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterSlotItemEquipTypeMapper: JSONMapper {
     
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterSlotItemEquipType.entity,
+    let configuration = MappingConfiguration(entity: MasterSlotItemEquipType.self,
                                              dataKeys: ["api_data", "api_mst_slotitem_equiptype"],
                                              editorStore: ServerDataStore.oneTimeEditor())
     
index 2b2ac66..5c04ad7 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterSlotItemMapper: JSONMapper {
     
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterSlotItem.entity,
+    let configuration = MappingConfiguration(entity: MasterSlotItem.self,
                                              dataKeys: ["api_data", "api_mst_slotitem"],
                                              editorStore: ServerDataStore.oneTimeEditor(),
                                              ignoreKeys: ["api_version"])
index 454082d..6c7ac81 100644 (file)
@@ -11,7 +11,7 @@ import Cocoa
 final class MasterUseItemMapper: JSONMapper {
     
     let apiResponse: APIResponse
-    let configuration = MappingConfiguration(entity: MasterUseItem.entity,
+    let configuration = MappingConfiguration(entity: MasterUseItem.self,
                                              dataKeys: ["api_data", "api_mst_useitem"],
                                              editorStore: ServerDataStore.oneTimeEditor())
     
index 8ebf19c..f0ff9a5 100644 (file)
@@ -22,7 +22,7 @@ final class MaterialMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Material.entity,
+        self.configuration = MappingConfiguration(entity: Material.self,
                                                   dataKeys: MaterialMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
index 83c62f2..15c5f9d 100644 (file)
@@ -16,7 +16,7 @@ final class NyukyoDockMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: NyukyoDock.entity,
+        self.configuration = MappingConfiguration(entity: NyukyoDock.self,
                                                   dataKeys: NyukyoDockMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
index 435d365..1681a5c 100644 (file)
@@ -15,7 +15,7 @@ extension ResourceHistoryDataStore {
         let predicate = Predicate(\Resource.minute, in: minites)
             .and(Predicate(\Resource.date, lessThan: older))
         
-        guard let resources = try? objects(of: Resource.entity, predicate: predicate) else {
+        guard let resources = try? objects(of: Resource.self, predicate: predicate) else {
             
             return []
         }
@@ -25,6 +25,6 @@ extension ResourceHistoryDataStore {
     
     func createResource() -> Resource? {
         
-        return insertNewObject(for: Resource.entity)
+        return insertNewObject(for: Resource.self)
     }
 }
index 593f76c..14e231e 100644 (file)
@@ -12,7 +12,7 @@ extension ServerDataStore {
     
     func airBases() -> [AirBase] {
         
-        guard let airbase = try? objects(of: AirBase.entity) else {
+        guard let airbase = try? objects(of: AirBase.self) else {
             
             return []
         }
@@ -25,7 +25,7 @@ extension ServerDataStore {
         let predicate = Predicate(\AirBase.area_id, equalTo: area)
             .and(Predicate(\AirBase.rid, equalTo: base))
         
-        guard let airBases = try? objects(of: AirBase.entity, predicate: predicate) else {
+        guard let airBases = try? objects(of: AirBase.self, predicate: predicate) else {
             
             return nil
         }
@@ -35,12 +35,12 @@ extension ServerDataStore {
     
     func createAirBasePlaneInfo() -> AirBasePlaneInfo? {
         
-        return insertNewObject(for: AirBasePlaneInfo.entity)
+        return insertNewObject(for: AirBasePlaneInfo.self)
     }
     
     func basic() -> Basic? {
         
-        guard let basics = try? objects(of: Basic.entity) else {
+        guard let basics = try? objects(of: Basic.self) else {
             
             return nil
         }
@@ -50,14 +50,14 @@ extension ServerDataStore {
     
     func createBasic() -> Basic? {
         
-        return insertNewObject(for: Basic.entity)
+        return insertNewObject(for: Basic.self)
     }
     
     func decksSortedById() -> [Deck] {
         
         let sortDecs = SortDescriptors(keyPath: \Deck.id, ascending: true)
         
-        guard let decks = try? objects(of: Deck.entity, sortDescriptors: sortDecs) else {
+        guard let decks = try? objects(of: Deck.self, sortDescriptors: sortDecs) else {
             
             return []
         }
@@ -69,7 +69,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Deck.id, equalTo: id)
         
-        guard let decks = try? objects(of: Deck.entity, predicate: predicate) else {
+        guard let decks = try? objects(of: Deck.self, predicate: predicate) else {
             
             return nil
         }
@@ -81,7 +81,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\KenzoDock.id, equalTo: dockId)
         
-        guard let kenzoDocks = try? objects(of: KenzoDock.entity, predicate: predicate) else {
+        guard let kenzoDocks = try? objects(of: KenzoDock.self, predicate: predicate) else {
             
             return nil
         }
@@ -93,7 +93,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\MasterMapArea.id, equalTo: id)
         
-        guard let mapAreas = try? objects(of: MasterMapArea.entity, predicate: predicate) else {
+        guard let mapAreas = try? objects(of: MasterMapArea.self, predicate: predicate) else {
             
             return nil
         }
@@ -106,7 +106,7 @@ extension ServerDataStore {
         let predicate = Predicate(\MasterMapInfo.maparea_id, equalTo: area)
             .and(Predicate(\MasterMapInfo.no, equalTo: no))
         
-        guard let mapInfos = try? objects(of: MasterMapInfo.entity, predicate: predicate) else {
+        guard let mapInfos = try? objects(of: MasterMapInfo.self, predicate: predicate) else {
             
             return nil
         }
@@ -118,7 +118,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\MasterMission.id, equalTo: id)
         
-        guard let missions = try? objects(of: MasterMission.entity, predicate: predicate) else {
+        guard let missions = try? objects(of: MasterMission.self, predicate: predicate) else {
             
             return nil
         }
@@ -128,7 +128,7 @@ extension ServerDataStore {
     
     func masterShips() -> [MasterShip] {
         
-        guard let ships = try? objects(of: MasterShip.entity) else {
+        guard let ships = try? objects(of: MasterShip.self) else {
             
             return []
         }
@@ -140,7 +140,7 @@ extension ServerDataStore {
         
         let sortDescs = SortDescriptors(keyPath: \MasterShip.id, ascending: true)
         
-        guard let ships = try? objects(of: MasterShip.entity, sortDescriptors: sortDescs) else {
+        guard let ships = try? objects(of: MasterShip.self, sortDescriptors: sortDescs) else {
             
             return []
         }
@@ -152,7 +152,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\MasterShip.id, equalTo: id)
         
-        guard let ships = try? objects(of: MasterShip.entity, predicate: predicate) else {
+        guard let ships = try? objects(of: MasterShip.self, predicate: predicate) else {
             
             return nil
         }
@@ -164,7 +164,7 @@ extension ServerDataStore {
         
         let sortDescs = SortDescriptors(keyPath: \MasterSlotItem.id, ascending: true)
         
-        guard let masterSlotItems = try? objects(of: MasterSlotItem.entity, sortDescriptors: sortDescs) else {
+        guard let masterSlotItems = try? objects(of: MasterSlotItem.self, sortDescriptors: sortDescs) else {
             
             return []
         }
@@ -174,7 +174,7 @@ extension ServerDataStore {
     
     func masterSlotItems() -> [MasterSlotItem] {
         
-        guard let masterSlotItems = try? objects(of: MasterSlotItem.entity) else {
+        guard let masterSlotItems = try? objects(of: MasterSlotItem.self) else {
             
             return []
         }
@@ -186,7 +186,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\MasterSlotItem.id, equalTo: id)
         
-        guard let masterSlotItems = try? objects(of: MasterSlotItem.entity, predicate: predicate) else {
+        guard let masterSlotItems = try? objects(of: MasterSlotItem.self, predicate: predicate) else {
             
             return nil
         }
@@ -198,7 +198,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\MasterSlotItemEquipType.id, equalTo: id)
         
-        guard let types = try? objects(of: MasterSlotItemEquipType.entity, predicate: predicate) else {
+        guard let types = try? objects(of: MasterSlotItemEquipType.self, predicate: predicate) else {
             
             return nil
         }
@@ -208,7 +208,7 @@ extension ServerDataStore {
     
     func masterSTypes() -> [MasterSType] {
         
-        guard let masterSTypes = try? objects(of: MasterSType.entity) else {
+        guard let masterSTypes = try? objects(of: MasterSType.self) else {
             
             return []
         }
@@ -220,7 +220,7 @@ extension ServerDataStore {
         
         let sortDescs = SortDescriptors(keyPath: \MasterSType.id, ascending: true)
         
-        guard let masterSTypes = try? objects(of: MasterSType.entity, sortDescriptors: sortDescs) else {
+        guard let masterSTypes = try? objects(of: MasterSType.self, sortDescriptors: sortDescs) else {
             
             return []
         }
@@ -230,7 +230,7 @@ extension ServerDataStore {
     
     func material() -> Material? {
         
-        guard let materials = try? objects(of: Material.entity) else {
+        guard let materials = try? objects(of: Material.self) else {
             
             return nil
         }
@@ -240,14 +240,14 @@ extension ServerDataStore {
     
     func createMaterial() -> Material? {
         
-        return insertNewObject(for: Material.entity)
+        return insertNewObject(for: Material.self)
     }
     
     func nyukyoDock(by id: Int) -> NyukyoDock? {
         
         let predicate = Predicate(\NyukyoDock.id, equalTo: id)
         
-        guard let ndocks = try? objects(of: NyukyoDock.entity, predicate: predicate) else {
+        guard let ndocks = try? objects(of: NyukyoDock.self, predicate: predicate) else {
             
             return nil
         }
@@ -259,7 +259,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Deck.id, equalTo: deckId)
         
-        guard let decks = try? objects(of: Deck.entity, predicate: predicate) else {
+        guard let decks = try? objects(of: Deck.self, predicate: predicate) else {
             
             return []
         }
@@ -281,7 +281,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Ship.id, equalTo: shipId)
         
-        guard let ships = try? objects(of: Ship.entity, predicate: predicate) else {
+        guard let ships = try? objects(of: Ship.self, predicate: predicate) else {
             
             return nil
         }
@@ -293,7 +293,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Ship.id, equalTo: shipId)
         
-        guard let ships = try? objects(of: Ship.entity, predicate: predicate) else {
+        guard let ships = try? objects(of: Ship.self, predicate: predicate) else {
             
             return []
         }
@@ -305,7 +305,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Ship.id, in: shipIds).negate()
         
-        guard let ships = try? objects(of: Ship.entity, predicate: predicate) else {
+        guard let ships = try? objects(of: Ship.self, predicate: predicate) else {
             
             return []
         }
@@ -317,7 +317,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Ship.fleet, notEqualTo: 0)
         
-        guard let ships = try? objects(of: Ship.entity, predicate: predicate) else {
+        guard let ships = try? objects(of: Ship.self, predicate: predicate) else {
             
             return []
         }
@@ -327,7 +327,7 @@ extension ServerDataStore {
     
     func createShip() -> Ship? {
         
-        return insertNewObject(for: Ship.entity)
+        return insertNewObject(for: Ship.self)
     }
     
     func masterSlotItemID(by slotItemId: Int) -> Int {
@@ -339,7 +339,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\SlotItem.id, equalTo: slotItemId)
         
-        guard let slotItems = try? objects(of: SlotItem.entity, predicate: predicate) else {
+        guard let slotItems = try? objects(of: SlotItem.self, predicate: predicate) else {
             
             return 0
         }
@@ -355,7 +355,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\SlotItem.id, equalTo: itemId)
         
-        guard let slotItems = try? objects(of: SlotItem.entity, predicate: predicate) else {
+        guard let slotItems = try? objects(of: SlotItem.self, predicate: predicate) else {
             
             return nil
         }
@@ -367,7 +367,7 @@ extension ServerDataStore {
         
         let sortDescs = SortDescriptors(keyPath: \SlotItem.id, ascending: true)
         
-        guard let slotItems = try? objects(of: SlotItem.entity, sortDescriptors: sortDescs) else {
+        guard let slotItems = try? objects(of: SlotItem.self, sortDescriptors: sortDescs) else {
             
             return []
         }
@@ -377,7 +377,7 @@ extension ServerDataStore {
     
     func slotItems() -> [SlotItem] {
         
-        guard let slotItems = try? objects(of: SlotItem.entity) else {
+        guard let slotItems = try? objects(of: SlotItem.self) else {
             
             return []
         }
@@ -389,7 +389,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\SlotItem.id, in: itemIds)
         
-        guard let slotItems = try? objects(of: SlotItem.entity, predicate: predicate) else {
+        guard let slotItems = try? objects(of: SlotItem.self, predicate: predicate) else {
             
             return []
         }
@@ -401,7 +401,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\SlotItem.id, in: itemIds).negate()
         
-        guard let slotItems = try? objects(of: SlotItem.entity, predicate: predicate) else {
+        guard let slotItems = try? objects(of: SlotItem.self, predicate: predicate) else {
             
             return []
         }
@@ -411,12 +411,12 @@ extension ServerDataStore {
     
     func createSlotItem() -> SlotItem? {
         
-        return insertNewObject(for: SlotItem.entity)
+        return insertNewObject(for: SlotItem.self)
     }
     
     func quests() -> [Quest] {
         
-        guard let quests = try? objects(of: Quest.entity) else {
+        guard let quests = try? objects(of: Quest.self) else {
             
             return []
         }
@@ -428,7 +428,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Quest.no, equalTo: no)
         
-        guard let quests = try? objects(of: Quest.entity, predicate: predicate) else {
+        guard let quests = try? objects(of: Quest.self, predicate: predicate) else {
             
             return nil
         }
@@ -440,7 +440,7 @@ extension ServerDataStore {
         
         let predicate = Predicate(\Quest.no, in: range.map { $0 })
         
-        guard let quests = try? objects(of: Quest.entity, predicate: predicate) else {
+        guard let quests = try? objects(of: Quest.self, predicate: predicate) else {
             
             return []
         }
@@ -452,7 +452,7 @@ extension ServerDataStore {
         
         let sortDescs = SortDescriptors(keyPath: \Quest.no, ascending: true)
         
-        guard let quests = try? objects(of: Quest.entity, sortDescriptors: sortDescs) else {
+        guard let quests = try? objects(of: Quest.self, sortDescriptors: sortDescs) else {
             
             return []
         }
@@ -462,6 +462,6 @@ extension ServerDataStore {
     
     func createQuest() -> Quest? {
         
-        return insertNewObject(for: Quest.entity)
+        return insertNewObject(for: Quest.self)
     }
 }
index 64ee02a..c03e83c 100644 (file)
@@ -26,7 +26,7 @@ final class ShipMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Ship.entity,
+        self.configuration = MappingConfiguration(entity: Ship.self,
                                                   dataKeys: ShipMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor(),
                                                   ignoreKeys: ShipMapper.ignoreKeys)
@@ -36,7 +36,7 @@ final class ShipMapper: JSONMapper {
     init(forSlotDepriveUnset apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Ship.entity,
+        self.configuration = MappingConfiguration(entity: Ship.self,
                                                   dataKeys: ["api_data", "api_ship_data", "api_unset_ship"],
                                                   editorStore: ServerDataStore.oneTimeEditor(),
                                                   ignoreKeys: ShipMapper.ignoreKeys)
index 5d64c0b..ee71524 100644 (file)
@@ -17,7 +17,7 @@ final class SlotItemMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: SlotItem.entity,
+        self.configuration = MappingConfiguration(entity: SlotItem.self,
                                                   dataKeys: SlotItemMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
index a995153..12b69e3 100644 (file)
@@ -161,13 +161,13 @@ final class TSVSupport {
         }
     }
     
-    private func localData<T, Value>(_ entity: Entity<T>, sortBy: KeyPath<T, Value>) -> [T] {
+    private func localData<ResultType: Entity, Value>(_ type: ResultType.Type, sortBy: KeyPath<ResultType, Value>) -> [ResultType] {
         
         let sortDesc = SortDescriptors(keyPath: sortBy, ascending: true)
         
-        guard let array = try? store.objects(of: entity, sortDescriptors: sortDesc) else {
+        guard let array = try? store.objects(of: type, sortDescriptors: sortDesc) else {
             
-            print("Can not get \(entity)")
+            print("Can not get \(type)")
             
             return []
         }
@@ -177,7 +177,7 @@ final class TSVSupport {
     
     private func dataOfKaihatuHistory() -> Data? {
         
-        return localData(KaihatuHistory.entity, sortBy: \KaihatuHistory.date)
+        return localData(KaihatuHistory.self, sortBy: \KaihatuHistory.date)
             .map {
                 LFSeparateLine.empty
                     .append($0.date)
@@ -198,7 +198,7 @@ final class TSVSupport {
     
     private func dataOfKenzoHistory() -> Data? {
         
-        return localData(KenzoHistory.entity, sortBy: \KenzoHistory.date)
+        return localData(KenzoHistory.self, sortBy: \KenzoHistory.date)
             .map {
                 LFSeparateLine.empty
                     .append($0.date)
@@ -220,7 +220,7 @@ final class TSVSupport {
     
     private func dataOfKenzoMark() -> Data? {
         
-        return localData(KenzoMark.entity, sortBy: \KenzoMark.kDockId)
+        return localData(KenzoMark.self, sortBy: \KenzoMark.kDockId)
             .map {
                 LFSeparateLine.empty
                     .append($0.date)
@@ -242,7 +242,7 @@ final class TSVSupport {
     
     private func dataOfDropShipHistory() -> Data? {
         
-        return localData(DropShipHistory.entity, sortBy: \DropShipHistory.date)
+        return localData(DropShipHistory.self, sortBy: \DropShipHistory.date)
             .map {
                 LFSeparateLine.empty
                     .append($0.date)
@@ -306,7 +306,7 @@ final class TSVSupport {
             
             let predicate = Predicate(\KaihatuHistory.date, equalTo: date)
             
-            guard let oo = try? store.objects(of: KaihatuHistory.entity, predicate: predicate) else {
+            guard let oo = try? store.objects(of: KaihatuHistory.self, predicate: predicate) else {
                 
                 return
             }
@@ -314,7 +314,7 @@ final class TSVSupport {
                 
                 return
             }
-            guard let obj = store.insertNewObject(for: KaihatuHistory.entity) else {
+            guard let obj = store.insertNewObject(for: KaihatuHistory.self) else {
                 
                 return
             }
@@ -383,7 +383,7 @@ final class TSVSupport {
             
             let predicate = Predicate(\KenzoHistory.date, equalTo: date)
             
-            guard let oo = try? store.objects(of: KenzoHistory.entity, predicate: predicate) else {
+            guard let oo = try? store.objects(of: KenzoHistory.self, predicate: predicate) else {
                 
                 return
             }
@@ -391,7 +391,7 @@ final class TSVSupport {
                 
                 return
             }
-            guard let obj = store.insertNewObject(for: KenzoHistory.entity) else {
+            guard let obj = store.insertNewObject(for: KenzoHistory.self) else {
                 
                 return
             }
@@ -465,7 +465,7 @@ final class TSVSupport {
             
             let predicate = Predicate(\KenzoMark.date, equalTo: date)
             
-            guard let oo = try? store.objects(of: KenzoMark.entity, predicate: predicate) else {
+            guard let oo = try? store.objects(of: KenzoMark.self, predicate: predicate) else {
                 
                 return
             }
@@ -473,7 +473,7 @@ final class TSVSupport {
                 
                 return
             }
-            guard let obj = store.insertNewObject(for: KenzoMark.entity) else {
+            guard let obj = store.insertNewObject(for: KenzoMark.self) else {
                 
                 return
             }
@@ -523,7 +523,7 @@ final class TSVSupport {
             
             let predicate = Predicate(\DropShipHistory.date, equalTo: date)
             
-            guard let oo = try? store.objects(of: DropShipHistory.entity, predicate: predicate) else {
+            guard let oo = try? store.objects(of: DropShipHistory.self, predicate: predicate) else {
                 
                 return
             }
@@ -531,7 +531,7 @@ final class TSVSupport {
                 
                 return
             }
-            guard let obj = store.insertNewObject(for: DropShipHistory.entity) else {
+            guard let obj = store.insertNewObject(for: DropShipHistory.self) else {
                 
                 return
             }
index 2a0717e..703f869 100644 (file)
@@ -17,7 +17,7 @@ extension TemporaryDataStore {
     
     func battles() -> [Battle] {
         
-        guard let battles = try? self.objects(of: Battle.entity) else {
+        guard let battles = try? self.objects(of: Battle.self) else {
             
             return []
         }
@@ -32,14 +32,14 @@ extension TemporaryDataStore {
     
     func createBattle() -> Battle? {
         
-        return insertNewObject(for: Battle.entity)
+        return insertNewObject(for: Battle.self)
     }
     
     func sortedDamagesById() -> [Damage] {
         
         let sortDescriptors = SortDescriptors(keyPath: \Damage.id, ascending: true)
         
-        guard let damages = try? objects(of: Damage.entity, sortDescriptors: sortDescriptors) else {
+        guard let damages = try? objects(of: Damage.self, sortDescriptors: sortDescriptors) else {
             
             return []
         }
@@ -49,7 +49,7 @@ extension TemporaryDataStore {
     
     func damages() -> [Damage] {
         
-        guard let damages = try? objects(of: Damage.entity) else {
+        guard let damages = try? objects(of: Damage.self) else {
             
             return []
         }
@@ -59,12 +59,12 @@ extension TemporaryDataStore {
     
     func createDamage() -> Damage? {
         
-        return insertNewObject(for: Damage.entity)
+        return insertNewObject(for: Damage.self)
     }
     
     func guardEscaped() -> [GuardEscaped] {
         
-        guard let escapeds = try? objects(of: GuardEscaped.entity) else {
+        guard let escapeds = try? objects(of: GuardEscaped.self) else {
             
             return []
         }
@@ -77,7 +77,7 @@ extension TemporaryDataStore {
         let predicate = Predicate(\GuardEscaped.shipID, equalTo: shipId)
             .and(Predicate(true: \GuardEscaped.ensured))
         
-        guard let escapes = try? objects(of: GuardEscaped.entity, predicate: predicate) else {
+        guard let escapes = try? objects(of: GuardEscaped.self, predicate: predicate) else {
             
             return nil
         }
@@ -89,7 +89,7 @@ extension TemporaryDataStore {
         
         let predicate = Predicate(false: \GuardEscaped.ensured)
         
-        guard let escapeds = try? objects(of: GuardEscaped.entity, predicate: predicate) else {
+        guard let escapeds = try? objects(of: GuardEscaped.self, predicate: predicate) else {
             
             return []
         }
@@ -99,6 +99,6 @@ extension TemporaryDataStore {
     
     func createGuardEscaped() -> GuardEscaped? {
         
-        return insertNewObject(for: GuardEscaped.entity)
+        return insertNewObject(for: GuardEscaped.self)
     }
 }