OSDN Git Service

クラス内でしか使わないenumと関数をクラス内に隠蔽した
authormasakih <masakih@users.sourceforge.jp>
Sat, 5 Aug 2017 09:22:07 +0000 (18:22 +0900)
committermasakih <masakih@users.sourceforge.jp>
Sat, 5 Aug 2017 09:22:07 +0000 (18:22 +0900)
KCD/BasicMapper.swift
KCD/DeckMapper.swift
KCD/KenzoDockMapper.swift
KCD/MaterialMapper.swift
KCD/NyukyoDockMapper.swift
KCD/ShipMapper.swift
KCD/SlotItemMapper.swift

index da20e63..9a08b97 100644 (file)
@@ -8,24 +8,6 @@
 
 import Cocoa
 
-fileprivate enum BasicAPI: String {
-    
-    case getMemberBasic = "/kcsapi/api_get_member/basic"
-    case port = "/kcsapi/api_port/port"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let basicApi = BasicAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch basicApi {
-    case .port: return ["api_data", "api_basic"]
-        
-    default: return ["api_data"]
-    }
-}
-
 final class BasicMapper: JSONMapper {
     
     typealias ObjectType = Basic
@@ -37,10 +19,28 @@ final class BasicMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: Basic.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: BasicMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
     
+    private enum BasicAPI: String {
+        
+        case getMemberBasic = "/kcsapi/api_get_member/basic"
+        case port = "/kcsapi/api_port/port"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let basicApi = BasicAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch basicApi {
+        case .port: return ["api_data", "api_basic"]
+            
+        case .getMemberBasic: return ["api_data"]
+        }
+    }
+    
     func commit() {
         
         let store = ServerDataStore.oneTimeEditor()
index a80ab3e..164a7be 100644 (file)
@@ -8,38 +8,6 @@
 
 import Cocoa
 
-fileprivate enum DeckAPI: String {
-    
-    case getMemberDeck = "/kcsapi/api_get_member/deck"
-    case port = "/kcsapi/api_port/port"
-    case getMemberShip2 = "/kcsapi/api_get_member/ship2"
-    case getMemberShip3 = "/kcsapi/api_get_member/ship3"
-    case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
-    case getMemberDeckPort = "/kcsapi/api_get_member/deck_port"
-    case henseiPresetSelect = "/kcsapi/api_req_hensei/preset_select"
-    case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let deckApi = DeckAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch deckApi {
-    case .port: return ["api_data", "api_deck_port"]
-        
-    case .getMemberShip2: return ["api_data_deck"]
-        
-    case .getMemberShip3: return ["api_data", "api_deck_data"]
-        
-    case .getMemberShipDeck: return ["api_data", "api_deck_data"]
-        
-    case .kaisouPowerUp: return ["api_data", "api_deck"]
-        
-    default: return ["api_data"]
-    }
-}
-
 final class DeckMapper: JSONMapper {
     
     typealias ObjectType = Deck
@@ -51,7 +19,40 @@ final class DeckMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: Deck.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: DeckMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
+    
+    
+    private enum DeckAPI: String {
+        
+        case getMemberDeck = "/kcsapi/api_get_member/deck"
+        case port = "/kcsapi/api_port/port"
+        case getMemberShip2 = "/kcsapi/api_get_member/ship2"
+        case getMemberShip3 = "/kcsapi/api_get_member/ship3"
+        case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
+        case getMemberDeckPort = "/kcsapi/api_get_member/deck_port"
+        case henseiPresetSelect = "/kcsapi/api_req_hensei/preset_select"
+        case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let deckApi = DeckAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch deckApi {
+        case .port: return ["api_data", "api_deck_port"]
+            
+        case .getMemberShip2: return ["api_data_deck"]
+            
+        case .getMemberShip3: return ["api_data", "api_deck_data"]
+            
+        case .getMemberShipDeck: return ["api_data", "api_deck_data"]
+            
+        case .kaisouPowerUp: return ["api_data", "api_deck"]
+            
+        case .getMemberDeck, .getMemberDeckPort, .henseiPresetSelect: return ["api_data"]
+        }
+    }
 }
index d0a9a7d..68ec405 100644 (file)
@@ -8,27 +8,6 @@
 
 import Cocoa
 
-fileprivate enum KenzoDockAPI: String {
-    
-    case getMemberKDock = "/kcsapi/api_get_member/kdock"
-    case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
-    case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let kenzoDockApi = KenzoDockAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch kenzoDockApi {
-    case .kousyouGetShip: return ["api_data", "api_kdock"]
-        
-    case .getMemberRequireInfo: return ["api_data", "api_kdock"]
-        
-    default: return ["api_data"]
-    }
-}
-
 final class KenzoDockMapper: JSONMapper {
     
     typealias ObjectType = KenzoDock
@@ -40,7 +19,29 @@ final class KenzoDockMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: KenzoDock.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: KenzoDockMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
+    
+    
+    private enum KenzoDockAPI: String {
+        
+        case getMemberKDock = "/kcsapi/api_get_member/kdock"
+        case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
+        case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let kenzoDockApi = KenzoDockAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch kenzoDockApi {
+        case .kousyouGetShip: return ["api_data", "api_kdock"]
+            
+        case .getMemberRequireInfo: return ["api_data", "api_kdock"]
+            
+        case .getMemberKDock: return ["api_data"]
+        }
+    }
 }
index 511b429..89583e6 100644 (file)
@@ -9,33 +9,6 @@
 import Cocoa
 import SwiftyJSON
 
-fileprivate enum MaterialAPI: String {
-    
-    case port = "/kcsapi/api_port/port"
-    case kousyouCreateItem = "/kcsapi/api_req_kousyou/createitem"
-    case kousyouDestoroyShip = "/kcsapi/api_req_kousyou/destroyship"
-    case kousyouRemodelSlot = "/kcsapi/api_req_kousyou/remodel_slot"
-    case hokyuCharge = "/kcsapi/api_req_hokyu/charge"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let materialApi = MaterialAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch materialApi {
-    case .port: return ["api_data", "api_material"]
-        
-    case .kousyouCreateItem: return ["api_data", "api_material"]
-        
-    case .kousyouDestoroyShip: return ["api_data", "api_material"]
-        
-    case .kousyouRemodelSlot: return ["api_data", "api_after_material"]
-        
-    case .hokyuCharge: return ["api_data", "api_material"]
-    }
-}
-
 final class MaterialMapper: JSONMapper {
     
     typealias ObjectType = Material
@@ -52,10 +25,38 @@ final class MaterialMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: Material.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: MaterialMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
     
+    
+    private enum MaterialAPI: String {
+        
+        case port = "/kcsapi/api_port/port"
+        case kousyouCreateItem = "/kcsapi/api_req_kousyou/createitem"
+        case kousyouDestoroyShip = "/kcsapi/api_req_kousyou/destroyship"
+        case kousyouRemodelSlot = "/kcsapi/api_req_kousyou/remodel_slot"
+        case hokyuCharge = "/kcsapi/api_req_hokyu/charge"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let materialApi = MaterialAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch materialApi {
+        case .port: return ["api_data", "api_material"]
+            
+        case .kousyouCreateItem: return ["api_data", "api_material"]
+            
+        case .kousyouDestoroyShip: return ["api_data", "api_material"]
+            
+        case .kousyouRemodelSlot: return ["api_data", "api_after_material"]
+            
+        case .hokyuCharge: return ["api_data", "api_material"]
+        }
+    }
+    
     func commit() {
         
         guard let store = configuration.editorStore as? ServerDataStore,
index 0932f9f..fc59053 100644 (file)
@@ -8,24 +8,6 @@
 
 import Cocoa
 
-fileprivate enum DeckAPI: String {
-    
-    case getMemberNDock = "/kcsapi/api_get_member/ndock"
-    case port = "/kcsapi/api_port/port"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let deckApi = DeckAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch deckApi {
-    case .port: return ["api_data", "api_ndock"]
-        
-    default: return ["api_data"]
-    }
-}
-
 final class NyukyoDockMapper: JSONMapper {
     
     typealias ObjectType = NyukyoDock
@@ -37,7 +19,26 @@ final class NyukyoDockMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: NyukyoDock.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: NyukyoDockMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
+    
+    
+    private enum DeckAPI: String {
+        
+        case getMemberNDock = "/kcsapi/api_get_member/ndock"
+        case port = "/kcsapi/api_port/port"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let deckApi = DeckAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch deckApi {
+        case .port: return ["api_data", "api_ndock"]
+            
+        case .getMemberNDock: return ["api_data"]
+        }
+    }
 }
index fcbaa8b..fdecaa0 100644 (file)
@@ -9,39 +9,6 @@
 import Cocoa
 import SwiftyJSON
 
-fileprivate enum ShipAPI: String {
-    
-    case getMemberShip = "/kcsapi/api_get_member/ship"
-    case port = "/kcsapi/api_port/port"
-    case getMemberShip3 = "/kcsapi/api_get_member/ship3"
-    case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
-    case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
-    case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
-    case kaisouSlotDeprive = "/kcsapi/api_req_kaisou/slot_deprive"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let shipApi = ShipAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch shipApi {
-    case .port: return ["api_data", "api_ship"]
-        
-    case .getMemberShip3: return ["api_data", "api_ship_data"]
-        
-    case .kousyouGetShip: return ["api_data", "api_ship"]
-        
-    case .getMemberShipDeck: return ["api_data", "api_ship_data"]
-        
-    case .kaisouPowerUp: return ["api_data", "api_ship"]
-        
-    case .kaisouSlotDeprive: return ["api_data", "api_ship_data", "api_set_ship"]
-        
-    case .getMemberShip: return ["api_data"]
-    }
-}
-
 extension MappingConfiguration {
     
     func change(dataKeys: [String]) -> MappingConfiguration {
@@ -64,7 +31,7 @@ final class ShipMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: Ship.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: ShipMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor(),
                                                   ignoreKeys:
             ["api_gomes", "api_gomes2", "api_broken", "api_powup",
@@ -91,6 +58,40 @@ final class ShipMapper: JSONMapper {
         self.configuration = configuration
     }
     
+    
+    private enum ShipAPI: String {
+        
+        case getMemberShip = "/kcsapi/api_get_member/ship"
+        case port = "/kcsapi/api_port/port"
+        case getMemberShip3 = "/kcsapi/api_get_member/ship3"
+        case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
+        case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
+        case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
+        case kaisouSlotDeprive = "/kcsapi/api_req_kaisou/slot_deprive"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let shipApi = ShipAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch shipApi {
+        case .port: return ["api_data", "api_ship"]
+            
+        case .getMemberShip3: return ["api_data", "api_ship_data"]
+            
+        case .kousyouGetShip: return ["api_data", "api_ship"]
+            
+        case .getMemberShipDeck: return ["api_data", "api_ship_data"]
+            
+        case .kaisouPowerUp: return ["api_data", "api_ship"]
+            
+        case .kaisouSlotDeprive: return ["api_data", "api_ship_data", "api_set_ship"]
+            
+        case .getMemberShip: return ["api_data"]
+        }
+    }
+    
     private var registerIds: [Int] = []
     private lazy var masterShips: [MasterShip] = {
         
index 809f02b..0a4374b 100644 (file)
@@ -9,27 +9,6 @@
 import Cocoa
 import SwiftyJSON
 
-fileprivate enum SlotItemAPI: String {
-    
-    case getMemberSlotItem = "/kcsapi/api_get_member/slot_item"
-    case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
-    case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-    
-    guard let slotItemApi = SlotItemAPI(rawValue: apiResponse.api)
-        else { return ["api_data"] }
-    
-    switch slotItemApi {
-    case .kousyouGetShip: return ["api_data", "api_slotitem"]
-        
-    case .getMemberRequireInfo: return ["api_data", "api_slot_item"]
-        
-    default: return ["api_data"]
-    }
-}
-
 final class SlotItemMapper: JSONMapper {
     
     typealias ObjectType = SlotItem
@@ -41,10 +20,32 @@ final class SlotItemMapper: JSONMapper {
         
         self.apiResponse = apiResponse
         self.configuration = MappingConfiguration(entity: SlotItem.entity,
-                                                  dataKeys: dataKeys(apiResponse),
+                                                  dataKeys: SlotItemMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor())
     }
     
+    
+    private enum SlotItemAPI: String {
+        
+        case getMemberSlotItem = "/kcsapi/api_get_member/slot_item"
+        case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
+        case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
+    }
+    
+    private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+        
+        guard let slotItemApi = SlotItemAPI(rawValue: apiResponse.api)
+            else { return ["api_data"] }
+        
+        switch slotItemApi {
+        case .kousyouGetShip: return ["api_data", "api_slotitem"]
+            
+        case .getMemberRequireInfo: return ["api_data", "api_slot_item"]
+            
+        case .getMemberSlotItem: return ["api_data"]
+        }
+    }
+    
     private var registerIds: [Int] = []
     private lazy var masterSlotItems: [MasterSlotItem] = {
         return ServerDataStore.default.sortedMasterSlotItemsById()