From 00865b34e422ea0d74aeb29eb7090c9dcf91cdd7 Mon Sep 17 00:00:00 2001 From: David Jennes Date: Sun, 5 Mar 2017 17:36:16 +0100 Subject: [PATCH] fix some lint warnings --- Sources/Stencil/AssetsCatalogContext.swift | 2 +- Sources/Stencil/ColorsContext.swift | 6 +- Sources/Stencil/FontsContext.swift | 2 +- Sources/Stencil/StoryboardsContext.swift | 86 +++++++++++-------- Sources/Stencil/StringsContext.swift | 8 +- .../StoryboardsMacOSTests.swift | 6 +- 6 files changed, 63 insertions(+), 47 deletions(-) diff --git a/Sources/Stencil/AssetsCatalogContext.swift b/Sources/Stencil/AssetsCatalogContext.swift index 47166d2..6cf083a 100644 --- a/Sources/Stencil/AssetsCatalogContext.swift +++ b/Sources/Stencil/AssetsCatalogContext.swift @@ -23,7 +23,7 @@ extension AssetsCatalogParser { return [ "catalogs": structured, "param": ["enumName": enumName], - + // NOTE: This is a deprecated variable "enumName": enumName, "images": images diff --git a/Sources/Stencil/ColorsContext.swift b/Sources/Stencil/ColorsContext.swift index 2c2a257..d5ff239 100644 --- a/Sources/Stencil/ColorsContext.swift +++ b/Sources/Stencil/ColorsContext.swift @@ -31,17 +31,17 @@ extension ColorsFileParser { "green": comps[1], "blue": comps[2], "alpha": comps[3], - + // NOTE: This is a deprecated variable "rgba": String(hexChars[0..<8]), "rgb": String(hexChars[0..<6]) ] }).sorted { $0["name"] ?? "" < $1["name"] ?? "" } - + return [ "colors": colorMap, "param": ["enumName": enumName], - + // NOTE: This is a deprecated variable "enumName": enumName ] diff --git a/Sources/Stencil/FontsContext.swift b/Sources/Stencil/FontsContext.swift index 3a0cd7c..418411d 100644 --- a/Sources/Stencil/FontsContext.swift +++ b/Sources/Stencil/FontsContext.swift @@ -36,7 +36,7 @@ extension FontsFileParser { return [ "families": families, "param": ["enumName": enumName], - + // NOTE: This is a deprecated variable "enumName": enumName ] diff --git a/Sources/Stencil/StoryboardsContext.swift b/Sources/Stencil/StoryboardsContext.swift index f9a764d..e66676b 100644 --- a/Sources/Stencil/StoryboardsContext.swift +++ b/Sources/Stencil/StoryboardsContext.swift @@ -43,49 +43,19 @@ extension StoryboardParser { var sbMap: [String:Any] = ["name": storyboardName] // Initial Scene if let initialScene = initialScenes[storyboardName] { - let initial: [String:Any] - if let customClass = initialScene.customClass { - initial = ["customClass": customClass, "customModule": initialScene.customModule ?? ""] - } else { - initial = [ - "baseType": uppercaseFirst(initialScene.tag), - - // NOTE: This is a deprecated variable - "isBaseViewController": initialScene.tag == "viewController" - ] - } - sbMap["initialScene"] = initial + sbMap["initialScene"] = map(initialScene: initialScene) } // All Scenes if let scenes = storyboardsScenes[storyboardName] { sbMap["scenes"] = scenes .sorted(by: {$0.storyboardID < $1.storyboardID}) - .map { (scene: Scene) -> [String:Any] in - if let customClass = scene.customClass { - return [ - "identifier": scene.storyboardID, - "customClass": customClass, - "customModule": scene.customModule ?? "" - ] - } else if scene.tag == "viewController" { - return [ - "identifier": scene.storyboardID, - "baseType": uppercaseFirst(scene.tag), - - // NOTE: This is a deprecated variable - "isBaseViewController": scene.tag == "viewController" - ] - } - return ["identifier": scene.storyboardID, "baseType": uppercaseFirst(scene.tag)] - } + .map(map(scene:)) } // All Segues if let segues = storyboardsSegues[storyboardName] { - sbMap["segues"] = segues - .sorted(by: {$0.identifier < $1.identifier}) - .map { (segue: Segue) -> [String:String] in - ["identifier": segue.identifier, "customClass": segue.customClass ?? ""] - } + sbMap["segues"] = segues + .sorted(by: {$0.identifier < $1.identifier}) + .map(map(segue:)) } return sbMap } @@ -103,4 +73,50 @@ extension StoryboardParser { "segueEnumName": segueEnumName ] } + + private func map(initialScene scene: InitialScene) -> [String: Any] { + if let customClass = scene.customClass { + return [ + "customClass": customClass, + "customModule": scene.customModule ?? "" + ] + } else { + return [ + "baseType": uppercaseFirst(scene.tag), + + // NOTE: This is a deprecated variable + "isBaseViewController": scene.tag == "viewController" + ] + } + } + + private func map(scene: Scene) -> [String: Any] { + if let customClass = scene.customClass { + return [ + "identifier": scene.storyboardID, + "customClass": customClass, + "customModule": scene.customModule ?? "" + ] + } else if scene.tag == "viewController" { + return [ + "identifier": scene.storyboardID, + "baseType": uppercaseFirst(scene.tag), + + // NOTE: This is a deprecated variable + "isBaseViewController": scene.tag == "viewController" + ] + } else { + return [ + "identifier": scene.storyboardID, + "baseType": uppercaseFirst(scene.tag) + ] + } + } + + private func map(segue: Segue) -> [String: Any] { + return [ + "identifier": segue.identifier, + "customClass": segue.customClass ?? "" + ] + } } diff --git a/Sources/Stencil/StringsContext.swift b/Sources/Stencil/StringsContext.swift index 14ef8cb..c8b3c2e 100644 --- a/Sources/Stencil/StringsContext.swift +++ b/Sources/Stencil/StringsContext.swift @@ -43,10 +43,10 @@ extension StringsFileParser { "translation": entry.translation.newlineEscaped, "keytail": keytail ] - + if entry.types.count > 0 { result["parameters"] = entry.types.map { $0.rawValue } - + // NOTE: params is deprecated result["params"] = [ "types": entry.types.map { $0.rawValue }, @@ -56,7 +56,7 @@ extension StringsFileParser { "typednames": entry.types.enumerated().map { "p\($0): \($1.rawValue)" } ] } - + return result } @@ -75,7 +75,7 @@ extension StringsFileParser { return [ "tables": tables, "param": ["enumName": enumName], - + // NOTE: These are deprecated variables "enumName": enumName, "strings": strings, diff --git a/Tests/SwiftGenKitTests/StoryboardsMacOSTests.swift b/Tests/SwiftGenKitTests/StoryboardsMacOSTests.swift index 3285178..9e75db4 100644 --- a/Tests/SwiftGenKitTests/StoryboardsMacOSTests.swift +++ b/Tests/SwiftGenKitTests/StoryboardsMacOSTests.swift @@ -64,7 +64,7 @@ class StoryboardsMacOSTests: XCTestCase { XCTDiffContexts(result, expected) } - + func testAllStoryboardsWithCustomName() { let parser = StoryboardParser() do { @@ -72,10 +72,10 @@ class StoryboardsMacOSTests: XCTestCase { } catch { print("Error: \(error.localizedDescription)") } - + let result = parser.stencilContext(sceneEnumName: "XCTStoryboardsScene", segueEnumName: "XCTStoryboardsSegue") let expected = Fixtures.context(for: "customname.plist", sub: .storyboardsMacOS) - + XCTDiffContexts(result, expected) } }