Skip to content

Commit 4874b2d

Browse files
Fix: Default options issue fixed
1 parent 1ea00fb commit 4874b2d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

Sources/Optimizely+Decide/OptimizelyClient+Decide.swift

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,23 @@ extension OptimizelyClient {
7070
return OptimizelyDecision.errorDecision(key: key, user: user, error: .featureKeyInvalid(key))
7171
}
7272

73-
let allOptions = defaultDecideOptions + (options ?? [])
74-
/// Need to remove enable flags
75-
let decisionMap = decide(user: user, keys: [key], options: allOptions)
73+
var allOptions = defaultDecideOptions + (options ?? [])
74+
allOptions.removeAll(where: { $0 == .enabledFlagsOnly })
75+
76+
let decisionMap = decide(user: user, keys: [key], options: allOptions, ignoreDefaultOptions: true)
7677
return decisionMap[key] ?? OptimizelyDecision.errorDecision(key: key, user: user, error: .generic)
7778
}
7879

7980
func decide(user: OptimizelyUserContext,
8081
keys: [String],
8182
options: [OptimizelyDecideOption]? = nil) -> [String: OptimizelyDecision] {
83+
return decide(user: user, keys: keys, options: options, ignoreDefaultOptions: false)
84+
}
85+
86+
func decide(user: OptimizelyUserContext,
87+
keys: [String],
88+
options: [OptimizelyDecideOption]? = nil,
89+
ignoreDefaultOptions: Bool) -> [String: OptimizelyDecision] {
8290
guard let config = self.config else {
8391
logger.e(OptimizelyError.sdkNotReady)
8492
return [:]
@@ -93,7 +101,7 @@ extension OptimizelyClient {
93101
var flagDecisions = [String : FeatureDecision]()
94102
var decisionReasonMap = [String : DecisionReasons]()
95103

96-
let allOptions = options ?? []
104+
let allOptions = ignoreDefaultOptions ? (options ?? []) : defaultDecideOptions + (options ?? [])
97105

98106
for key in keys {
99107
guard let flags = config.getFeatureFlag(key: key) else {

0 commit comments

Comments
 (0)