From: masakih Date: Sun, 12 Aug 2018 09:12:11 +0000 (+0900) Subject: Doutaku を 1.0 にアップデート X-Git-Url: http://git.osdn.net/view?p=kcd%2FKCD.git;a=commitdiff_plain;h=e341ef2774c1d7a27d9eb60edab905f1adc510a3 Doutaku を 1.0 にアップデート Doutaku1.0に合わせてソースコードを変更 --- diff --git a/Cartfile.resolved b/Cartfile.resolved index d2438268..fc9b3497 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,2 +1,2 @@ github "SwiftyJSON/SwiftyJSON" "4.1.0" -github "masakih/Doutaku" "0.6.0" +github "masakih/Doutaku" "1.0" diff --git a/KCD/AirBaseMapper.swift b/KCD/AirBaseMapper.swift index 2d15e4ac..79b17113 100644 --- a/KCD/AirBaseMapper.swift +++ b/KCD/AirBaseMapper.swift @@ -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()) diff --git a/KCD/BasicMapper.swift b/KCD/BasicMapper.swift index c7a584ff..087f8ab8 100644 --- a/KCD/BasicMapper.swift +++ b/KCD/BasicMapper.swift @@ -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()) } diff --git a/KCD/BookmarkDataStoreAccessor.swift b/KCD/BookmarkDataStoreAccessor.swift index ab18b1d0..25b634fc 100644 --- a/KCD/BookmarkDataStoreAccessor.swift +++ b/KCD/BookmarkDataStoreAccessor.swift @@ -10,6 +10,6 @@ extension BookmarkDataStore { func createBookmark() -> Bookmark? { - return insertNewObject(for: Bookmark.entity) + return insertNewObject(for: Bookmark.self) } } diff --git a/KCD/BookmarkListViewController.swift b/KCD/BookmarkListViewController.swift index 548b16a5..ebde5907 100644 --- a/KCD/BookmarkListViewController.swift +++ b/KCD/BookmarkListViewController.swift @@ -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 } diff --git a/KCD/DeckMapper.swift b/KCD/DeckMapper.swift index 2d1a1ced..b3fcf453 100644 --- a/KCD/DeckMapper.swift +++ b/KCD/DeckMapper.swift @@ -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()) } diff --git a/KCD/Entities.swift b/KCD/Entities.swift index c2fda1cd..4008990c 100644 --- a/KCD/Entities.swift +++ b/KCD/Entities.swift @@ -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 {} diff --git a/KCD/HistoryTableViewController.swift b/KCD/HistoryTableViewController.swift index 36ba8931..77ae540d 100644 --- a/KCD/HistoryTableViewController.swift +++ b/KCD/HistoryTableViewController.swift @@ -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) } } diff --git a/KCD/JSONMapper.swift b/KCD/JSONMapper.swift index 6e38828d..5ab7d346 100644 --- a/KCD/JSONMapper.swift +++ b/KCD/JSONMapper.swift @@ -10,15 +10,15 @@ import Cocoa import SwiftyJSON import Doutaku -struct MappingConfiguration { +struct MappingConfiguration { - let entity: Entity + let entity: T.Type let dataKeys: [String] let primaryKeys: [String] let editorStore: CoreDataAccessor let ignoreKeys: [String] - init(entity: Entity, + init(entity: T.Type, dataKeys: [String] = ["api_data"], primaryKeys: [String] = ["id"], editorStore: CoreDataAccessor, @@ -34,7 +34,7 @@ struct MappingConfiguration { protocol JSONMapper { - associatedtype ObjectType: NSManagedObject + associatedtype ObjectType: Entity init(_ apiResponse: APIResponse) @@ -167,7 +167,7 @@ extension JSONMapper { } } - private func sortedObjects(_ entity: Entity) -> [T] { + private func sortedObjects(_ 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() { diff --git a/KCD/KCManagedObject.swift b/KCD/KCManagedObject.swift index 25d69660..e669ea48 100644 --- a/KCD/KCManagedObject.swift +++ b/KCD/KCManagedObject.swift @@ -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)") } } diff --git a/KCD/KenzoDockMapper.swift b/KCD/KenzoDockMapper.swift index 2067dbb7..7357eb2b 100644 --- a/KCD/KenzoDockMapper.swift +++ b/KCD/KenzoDockMapper.swift @@ -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()) } diff --git a/KCD/LocalDataStoreAccessor.swift b/KCD/LocalDataStoreAccessor.swift index c858ca52..bce36f14 100644 --- a/KCD/LocalDataStoreAccessor.swift +++ b/KCD/LocalDataStoreAccessor.swift @@ -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) } } diff --git a/KCD/MasterFurnitureMapper.swift b/KCD/MasterFurnitureMapper.swift index 98c7e6ea..e31fcb29 100644 --- a/KCD/MasterFurnitureMapper.swift +++ b/KCD/MasterFurnitureMapper.swift @@ -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"]) diff --git a/KCD/MasterMapAreaMapper.swift b/KCD/MasterMapAreaMapper.swift index 2181149c..ddf9beb2 100644 --- a/KCD/MasterMapAreaMapper.swift +++ b/KCD/MasterMapAreaMapper.swift @@ -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()) diff --git a/KCD/MasterMapInfoMapper.swift b/KCD/MasterMapInfoMapper.swift index 4cf70f67..0bd41f63 100644 --- a/KCD/MasterMapInfoMapper.swift +++ b/KCD/MasterMapInfoMapper.swift @@ -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()) diff --git a/KCD/MasterMissionMapper.swift b/KCD/MasterMissionMapper.swift index ad3a66be..01b0d3f8 100644 --- a/KCD/MasterMissionMapper.swift +++ b/KCD/MasterMissionMapper.swift @@ -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"]) diff --git a/KCD/MasterSTypeMapper.swift b/KCD/MasterSTypeMapper.swift index 00fbe5a7..d41a268d 100644 --- a/KCD/MasterSTypeMapper.swift +++ b/KCD/MasterSTypeMapper.swift @@ -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"]) diff --git a/KCD/MasterShipMapper.swift b/KCD/MasterShipMapper.swift index 72f82cd1..9feb967c 100644 --- a/KCD/MasterShipMapper.swift +++ b/KCD/MasterShipMapper.swift @@ -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()) diff --git a/KCD/MasterSlotItemEquipTypeMapper.swift b/KCD/MasterSlotItemEquipTypeMapper.swift index 5446ec8b..10f3f0ec 100644 --- a/KCD/MasterSlotItemEquipTypeMapper.swift +++ b/KCD/MasterSlotItemEquipTypeMapper.swift @@ -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()) diff --git a/KCD/MasterSlotItemMapper.swift b/KCD/MasterSlotItemMapper.swift index 2b2ac667..5c04ad75 100644 --- a/KCD/MasterSlotItemMapper.swift +++ b/KCD/MasterSlotItemMapper.swift @@ -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"]) diff --git a/KCD/MasterUseItemMapper.swift b/KCD/MasterUseItemMapper.swift index 454082d0..6c7ac818 100644 --- a/KCD/MasterUseItemMapper.swift +++ b/KCD/MasterUseItemMapper.swift @@ -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()) diff --git a/KCD/MaterialMapper.swift b/KCD/MaterialMapper.swift index 8ebf19cd..f0ff9a5c 100644 --- a/KCD/MaterialMapper.swift +++ b/KCD/MaterialMapper.swift @@ -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()) } diff --git a/KCD/NyukyoDockMapper.swift b/KCD/NyukyoDockMapper.swift index 83c62f23..15c5f9d1 100644 --- a/KCD/NyukyoDockMapper.swift +++ b/KCD/NyukyoDockMapper.swift @@ -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()) } diff --git a/KCD/ResourceHistoryDataStoreAccessor.swift b/KCD/ResourceHistoryDataStoreAccessor.swift index 435d365f..1681a5c8 100644 --- a/KCD/ResourceHistoryDataStoreAccessor.swift +++ b/KCD/ResourceHistoryDataStoreAccessor.swift @@ -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) } } diff --git a/KCD/ServerDataStoreAccessor.swift b/KCD/ServerDataStoreAccessor.swift index 593f76c9..14e231e4 100644 --- a/KCD/ServerDataStoreAccessor.swift +++ b/KCD/ServerDataStoreAccessor.swift @@ -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) } } diff --git a/KCD/ShipMapper.swift b/KCD/ShipMapper.swift index 64ee02aa..c03e83cc 100644 --- a/KCD/ShipMapper.swift +++ b/KCD/ShipMapper.swift @@ -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) diff --git a/KCD/SlotItemMapper.swift b/KCD/SlotItemMapper.swift index 5d64c0be..ee71524d 100644 --- a/KCD/SlotItemMapper.swift +++ b/KCD/SlotItemMapper.swift @@ -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()) } diff --git a/KCD/TSVSupport.swift b/KCD/TSVSupport.swift index a9951533..12b69e3e 100644 --- a/KCD/TSVSupport.swift +++ b/KCD/TSVSupport.swift @@ -161,13 +161,13 @@ final class TSVSupport { } } - private func localData(_ entity: Entity, sortBy: KeyPath) -> [T] { + private func localData(_ type: ResultType.Type, sortBy: KeyPath) -> [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 } diff --git a/KCD/TemporaryDataStoreAccessor.swift b/KCD/TemporaryDataStoreAccessor.swift index 2a0717e7..703f8693 100644 --- a/KCD/TemporaryDataStoreAccessor.swift +++ b/KCD/TemporaryDataStoreAccessor.swift @@ -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) } }