Skip to content

Commit 6305e1a

Browse files
WIP: cean up
1 parent 9e493fd commit 6305e1a

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

Sources/Optimizely+Decide/OptimizelyClient+Decide.swift

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,23 @@ extension OptimizelyClient {
6262
key: String,
6363
options: [OptimizelyDecideOption]? = nil) -> OptimizelyDecision {
6464

65-
guard config != nil else {
65+
guard let config = self.config else {
6666
return OptimizelyDecision.errorDecision(key: key, user: user, error: .sdkNotReady)
6767
}
68+
69+
guard let _ = config.getFeatureFlag(key: key) else {
70+
return OptimizelyDecision.errorDecision(key: key, user: user, error: .featureKeyInvalid(key))
71+
}
6872

6973
let allOptions = defaultDecideOptions + (options ?? [])
74+
/// Need to remove enable flags
7075
let decisionMap = decide(user: user, keys: [key], options: allOptions)
7176
return decisionMap[key] ?? OptimizelyDecision.errorDecision(key: key, user: user, error: .generic)
7277
}
7378

7479
func decide(user: OptimizelyUserContext,
75-
keys: [String],
76-
options: [OptimizelyDecideOption]? = nil) -> [String: OptimizelyDecision] {
80+
keys: [String],
81+
options: [OptimizelyDecideOption]? = nil) -> [String: OptimizelyDecision] {
7782
guard let config = self.config else {
7883
logger.e(OptimizelyError.sdkNotReady)
7984
return [:]
@@ -85,7 +90,7 @@ extension OptimizelyClient {
8590

8691
var validKeys = [String]()
8792
var flagsWithoutForceDecision = [FeatureFlag]()
88-
var flagDecisions = [String: FeatureDecision]()
93+
var flagDecisions = [String : FeatureDecision]()
8994
var decisionReasonMap = [String : DecisionReasons]()
9095

9196
let allOptions = options ?? []
@@ -95,14 +100,15 @@ extension OptimizelyClient {
95100
decisionMap[key] = OptimizelyDecision.errorDecision(key: key, user: user, error: .featureKeyInvalid(key))
96101
continue
97102
}
103+
98104
validKeys.append(key)
99105

100106
// check forced-decisions first
101-
let decisionReasons = DecisionReasons(options: allOptions)
102107
let forcedDecisionResponse = decisionService.findValidatedForcedDecision(config: config,
103108
user: user,
104109
context: OptimizelyDecisionContext(flagKey: key))
105110

111+
let decisionReasons = DecisionReasons(options: allOptions)
106112
decisionReasons.merge(forcedDecisionResponse.reasons)
107113
decisionReasonMap[key] = decisionReasons
108114

0 commit comments

Comments
 (0)