From 6d140ea6d48fd4056322f7f0316a2fa86442f121 Mon Sep 17 00:00:00 2001 From: Garric Nahapetian Date: Fri, 18 Nov 2022 14:28:06 -0800 Subject: [PATCH] Add isViewInjectedNodeEnabled property to Config --- Sources/XcodeTemplateGeneratorLibrary/Config.swift | 5 +++++ Tests/XcodeTemplateGeneratorLibraryTests/ConfigTests.swift | 1 + .../__Snapshots__/ConfigTests/testConfig.1.txt | 1 + .../__Snapshots__/ConfigTests/testDefaultConfig.1.txt | 1 + .../__Snapshots__/ConfigTests/testEmptyConfig.1.txt | 1 + 5 files changed, 9 insertions(+) diff --git a/Sources/XcodeTemplateGeneratorLibrary/Config.swift b/Sources/XcodeTemplateGeneratorLibrary/Config.swift index 8e2b6fa7f..9118db00a 100644 --- a/Sources/XcodeTemplateGeneratorLibrary/Config.swift +++ b/Sources/XcodeTemplateGeneratorLibrary/Config.swift @@ -28,6 +28,7 @@ extension XcodeTemplates { } public var uiFrameworks: [UIFramework] + public var isViewInjectedNodeEnabled: Bool public var includedTemplates: [String] public var fileHeader: String public var baseImports: Set @@ -113,6 +114,7 @@ extension XcodeTemplates.Config { // swiftlint:disable:next function_body_length public init() { uiFrameworks = [UIFramework(framework: .uiKit), UIFramework(framework: .swiftUI)] + isViewInjectedNodeEnabled = true includedTemplates = [ "Node", "NodeSwiftUI", @@ -211,6 +213,9 @@ extension XcodeTemplates.Config { uiFrameworks = (try? decoder.decode(CodingKeys.uiFrameworks)) ?? defaults.uiFrameworks + isViewInjectedNodeEnabled = + (try? decoder.decode(CodingKeys.isViewInjectedNodeEnabled)) + ?? defaults.isViewInjectedNodeEnabled includedTemplates = (try? decoder.decode(CodingKeys.includedTemplates)) ?? defaults.includedTemplates diff --git a/Tests/XcodeTemplateGeneratorLibraryTests/ConfigTests.swift b/Tests/XcodeTemplateGeneratorLibraryTests/ConfigTests.swift index 35b7c2908..bfaa5108f 100644 --- a/Tests/XcodeTemplateGeneratorLibraryTests/ConfigTests.swift +++ b/Tests/XcodeTemplateGeneratorLibraryTests/ConfigTests.swift @@ -62,6 +62,7 @@ final class ConfigTests: XCTestCase { viewControllerProperties: viewControllerMethods: viewControllerMethodsForRootNode: + isViewInjectedNodeEnabled: true includedTemplates: - includedTemplates-1 - includedTemplates-2 diff --git a/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testConfig.1.txt b/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testConfig.1.txt index 07465f552..950804cfe 100644 --- a/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testConfig.1.txt +++ b/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testConfig.1.txt @@ -24,6 +24,7 @@ ▿ includedTemplates: 2 elements - "includedTemplates-1" - "includedTemplates-2" + - isViewInjectedNodeEnabled: true - publisherFailureType: "publisherFailureType" - publisherType: "publisherType" - rootViewControllerMethods: "rootViewControllerMethods" diff --git a/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testDefaultConfig.1.txt b/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testDefaultConfig.1.txt index 74f035414..e43d2a74e 100644 --- a/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testDefaultConfig.1.txt +++ b/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testDefaultConfig.1.txt @@ -15,6 +15,7 @@ - "PluginNode" - "Plugin" - "Worker" + - isViewInjectedNodeEnabled: true - publisherFailureType: ", Never" - publisherType: "AnyPublisher" - rootViewControllerMethods: "override func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n}\n\noverride func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(viewState).store(in: &cancellables)\n}\n\noverride func viewDidAppear(_ animated: Bool) {\n super.viewDidAppear(animated)\n receiver?.viewDidAppear()\n}\n\noverride func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.removeAll()\n}" diff --git a/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testEmptyConfig.1.txt b/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testEmptyConfig.1.txt index 74f035414..e43d2a74e 100644 --- a/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testEmptyConfig.1.txt +++ b/Tests/XcodeTemplateGeneratorLibraryTests/__Snapshots__/ConfigTests/testEmptyConfig.1.txt @@ -15,6 +15,7 @@ - "PluginNode" - "Plugin" - "Worker" + - isViewInjectedNodeEnabled: true - publisherFailureType: ", Never" - publisherType: "AnyPublisher" - rootViewControllerMethods: "override func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n}\n\noverride func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(viewState).store(in: &cancellables)\n}\n\noverride func viewDidAppear(_ animated: Bool) {\n super.viewDidAppear(animated)\n receiver?.viewDidAppear()\n}\n\noverride func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.removeAll()\n}"