This repository has been archived by the owner on Jan 5, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #51 from agroGandhi/feature/ag/tweak_property_gene…
…rator Tweak Accessor Generator
- Loading branch information
Showing
82 changed files
with
3,146 additions
and
599 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
16 changes: 16 additions & 0 deletions
16
Example/JustTweak.xcworkspace/xcshareddata/swiftpm/Package.resolved
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"object": { | ||
"pins": [ | ||
{ | ||
"package": "swift-argument-parser", | ||
"repositoryURL": "[email protected]:apple/swift-argument-parser.git", | ||
"state": { | ||
"branch": null, | ||
"revision": "831ed5e860a70e745bc1337830af4786b2576881", | ||
"version": "0.4.1" | ||
} | ||
} | ||
] | ||
}, | ||
"version": 1 | ||
} |
8 changes: 8 additions & 0 deletions
8
Example/JustTweak/Accessors/GeneratedConfigurationAccessor+ExampleProtocol.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
// | ||
// GeneratedConfigurationAccessor+ExampleProtocol.swift | ||
// Copyright © 2021 Just Eat Takeaway. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
extension GeneratedTweakAccessor: ExampleProtocol { } |
25 changes: 25 additions & 0 deletions
25
Example/JustTweak/Accessors/GeneratedTweakAccessor+Constants.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
// | ||
// GeneratedTweakAccessor+Constants.swift | ||
// Generated by TweakAccessorGenerator | ||
// | ||
|
||
import Foundation | ||
|
||
extension GeneratedTweakAccessor { | ||
|
||
struct Features { | ||
static let general = "general" | ||
static let uiCustomization = "ui_customization" | ||
} | ||
|
||
struct Variables { | ||
static let answerToTheUniverse = "answer_to_the_universe" | ||
static let displayGreenView = "display_green_view" | ||
static let displayRedView = "display_red_view" | ||
static let displayYellowView = "display_yellow_view" | ||
static let greetOnAppDidBecomeActive = "greet_on_app_did_become_active" | ||
static let labelText = "label_text" | ||
static let redViewAlphaComponent = "red_view_alpha_component" | ||
static let tapToChangeColorEnabled = "tap_to_change_color_enabled" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
// | ||
// GeneratedTweakAccessor.swift | ||
// Generated by TweakAccessorGenerator | ||
// | ||
|
||
import Foundation | ||
import JustTweak | ||
|
||
class GeneratedTweakAccessor { | ||
|
||
static let tweakManager: TweakManager = { | ||
var tweakProviders: [TweakProvider] = [] | ||
|
||
// EphemeralTweakProvider | ||
#if DEBUG || CONFIGURATION_UI_TESTS | ||
let ephemeralTweakProvider_1 = NSMutableDictionary() | ||
tweakProviders.append(ephemeralTweakProvider_1) | ||
#endif | ||
|
||
// UserDefaultsTweakProvider | ||
#if DEBUG || CONFIGURATION_DEBUG | ||
let userDefaultsTweakProvider_1 = UserDefaultsTweakProvider(userDefaults: UserDefaults.standard) | ||
tweakProviders.append(userDefaultsTweakProvider_1) | ||
#endif | ||
|
||
// LocalTweakProvider | ||
#if DEBUG | ||
let jsonFileURL_1 = Bundle.main.url(forResource: "LocalTweaks_TopPriority_example", withExtension: "json")! | ||
let localTweakProvider_1 = LocalTweakProvider(jsonURL: jsonFileURL_1) | ||
tweakProviders.append(localTweakProvider_1) | ||
#endif | ||
|
||
// LocalTweakProvider | ||
let jsonFileURL_2 = Bundle.main.url(forResource: "LocalTweaks_example", withExtension: "json")! | ||
let localTweakProvider_2 = LocalTweakProvider(jsonURL: jsonFileURL_2) | ||
tweakProviders.append(localTweakProvider_2) | ||
|
||
let tweakManager = TweakManager(tweakProviders: tweakProviders) | ||
tweakManager.useCache = true | ||
return tweakManager | ||
}() | ||
|
||
var tweakManager: TweakManager { | ||
return Self.tweakManager | ||
} | ||
|
||
@TweakProperty(feature: Features.general, | ||
variable: Variables.answerToTheUniverse, | ||
tweakManager: tweakManager) | ||
var meaningOfLife: Int | ||
|
||
@TweakProperty(feature: Features.general, | ||
variable: Variables.greetOnAppDidBecomeActive, | ||
tweakManager: tweakManager) | ||
var shouldShowAlert: Bool | ||
|
||
@TweakProperty(feature: Features.general, | ||
variable: Variables.tapToChangeColorEnabled, | ||
tweakManager: tweakManager) | ||
var isTapGestureToChangeColorEnabled: Bool | ||
|
||
@TweakProperty(feature: Features.uiCustomization, | ||
variable: Variables.displayGreenView, | ||
tweakManager: tweakManager) | ||
var canShowGreenView: Bool | ||
|
||
@TweakProperty(feature: Features.uiCustomization, | ||
variable: Variables.displayRedView, | ||
tweakManager: tweakManager) | ||
var canShowRedView: Bool | ||
|
||
@TweakProperty(feature: Features.uiCustomization, | ||
variable: Variables.displayYellowView, | ||
tweakManager: tweakManager) | ||
var canShowYellowView: Bool | ||
|
||
@TweakProperty(feature: Features.uiCustomization, | ||
variable: Variables.labelText, | ||
tweakManager: tweakManager) | ||
var labelText: String | ||
|
||
@TweakProperty(feature: Features.uiCustomization, | ||
variable: Variables.redViewAlphaComponent, | ||
tweakManager: tweakManager) | ||
var redViewAlpha: Double | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
// | ||
// TweakAccessor.swift | ||
// Copyright (c) 2016 Just Eat Holding Ltd. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
import JustTweak | ||
|
||
class TweakAccessor { | ||
|
||
static let tweakManager: TweakManager = { | ||
var tweakProviders: [TweakProvider] = [] | ||
|
||
// UserDefaultsTweakProvider | ||
#if DEBUG || CONFIGURATION_DEBUG | ||
let userDefaultsTweakProvider_1 = UserDefaultsTweakProvider(userDefaults: UserDefaults.standard) | ||
tweakProviders.append(userDefaultsTweakProvider_1) | ||
#endif | ||
|
||
// OptimizelyTweakProvider | ||
// let optimizelyTweakProvider = OptimizelyTweakProvider() | ||
// optimizelyTweakProvider.userId = UUID().uuidString | ||
// tweakProviders.append(optimizelyTweakProvider) | ||
|
||
// FirebaseTweakProvider | ||
// let firebaseTweakProvider = FirebaseTweakProvider() | ||
// tweakProviders.append(firebaseTweakProvider) | ||
|
||
// LocalTweakProvider | ||
#if CONFIGURATION_DEBUG | ||
let jsonFileURL_1 = Bundle.main.url(forResource: "LocalTweaks_TopPriority_example", withExtension: "json")! | ||
let localTweakProvider_1 = LocalTweakProvider(jsonURL: jsonFileURL_1) | ||
tweakProviders.append(localTweakProvider_1) | ||
#endif | ||
|
||
// LocalTweakProvider | ||
let jsonFileURL_2 = Bundle.main.url(forResource: "LocalTweaks_example", withExtension: "json")! | ||
let localTweakProvider_2 = LocalTweakProvider(jsonURL: jsonFileURL_2) | ||
tweakProviders.append(localTweakProvider_2) | ||
|
||
return TweakManager(tweakProviders: tweakProviders) | ||
}() | ||
|
||
private var tweakManager: TweakManager { | ||
return Self.tweakManager | ||
} | ||
|
||
// MARK: - Via Property Wrappers | ||
|
||
@FallbackTweakProperty(fallbackValue: false, | ||
feature: Features.general, | ||
variable: Variables.greetOnAppDidBecomeActive, | ||
tweakManager: tweakManager) | ||
var shouldShowAlert: Bool | ||
|
||
@FallbackTweakProperty(fallbackValue: false, | ||
feature: Features.uiCustomization, | ||
variable: Variables.displayRedView, | ||
tweakManager: tweakManager) | ||
var canShowRedView: Bool | ||
|
||
@FallbackTweakProperty(fallbackValue: false, | ||
feature: Features.uiCustomization, | ||
variable: Variables.displayGreenView, | ||
tweakManager: tweakManager) | ||
var canShowGreenView: Bool | ||
|
||
@FallbackTweakProperty(fallbackValue: "", | ||
feature: Features.uiCustomization, | ||
variable: Variables.labelText, | ||
tweakManager: tweakManager) | ||
var labelText: String | ||
|
||
@FallbackTweakProperty(fallbackValue: 42, | ||
feature: Features.uiCustomization, | ||
variable: Variables.meaningOfLife, | ||
tweakManager: tweakManager) | ||
var meaningOfLife: Int | ||
|
||
@OptionalTweakProperty(fallbackValue: nil, | ||
feature: Features.uiCustomization, | ||
variable: Variables.answerToTheUniverse, | ||
tweakManager: tweakManager) | ||
var optionalMeaningOfLife: Int? | ||
|
||
|
||
// MARK: - Via TweakManager | ||
|
||
var canShowYellowView: Bool { | ||
return tweakManager.tweakWith(feature: Features.uiCustomization, | ||
variable: Variables.displayYellowView)?.boolValue ?? false | ||
} | ||
|
||
var redViewAlpha: Float { | ||
return tweakManager.tweakWith(feature: Features.uiCustomization, | ||
variable: Variables.redViewAlpha)?.floatValue ?? 0.0 | ||
} | ||
|
||
var isTapGestureToChangeColorEnabled: Bool { | ||
return tweakManager.tweakWith(feature: Features.general, | ||
variable: Variables.tapToChangeViewColor)?.boolValue ?? false | ||
} | ||
} | ||
|
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.