Skip to content

Commit 6def7c7

Browse files
cleanup from comments
1 parent 1c757b6 commit 6def7c7

File tree

1 file changed

+13
-39
lines changed

1 file changed

+13
-39
lines changed

OptimizelySDK/Data Model/ProjectConfig.swift

Lines changed: 13 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ class ProjectConfig {
2727

2828
var whitelistUsers = [String: [String: String]]()
2929

30-
lazy var experimentKeyMap:[String:Experiment]? = {
30+
lazy var experimentKeyMap:[String:Experiment] = {
3131
var map = [String:Experiment]()
32-
_ = allExperiments.map({map[$0.key] = $0})
32+
allExperiments.forEach({map[$0.key] = $0})
3333
return map
3434
}()
3535

36-
lazy var experimentFeatureMap:[String:[String]]? = {
36+
lazy var experimentFeatureMap:[String:[String]] = {
3737
var experimentFeatureMap = [String:[String]]()
38-
_ = project.featureFlags.map({ (ff) in
39-
ff.experimentIds.map({
38+
project.featureFlags.forEach({ (ff) in
39+
ff.experimentIds.forEach({
4040
if var arr = experimentFeatureMap[$0] {
4141
arr.append(ff.id)
4242
experimentFeatureMap[$0] = arr
@@ -49,13 +49,15 @@ class ProjectConfig {
4949
return experimentFeatureMap
5050
}()
5151

52-
lazy var eventKeyMap:[String:Event]? = {
52+
lazy var eventKeyMap:[String:Event] = {
5353
var eventKeyMap = [String:Event]()
54-
_ = project.events.map({eventKeyMap[$0.key] = $0 })
54+
project.events.forEach({eventKeyMap[$0.key] = $0 })
5555
return eventKeyMap
5656
}()
5757

58-
var _allExperiments:[Experiment]?
58+
lazy var allExperiments:[Experiment] = {
59+
return project.experiments + project.groups.map({$0.experiments}).flatMap({$0})
60+
}()
5961

6062
init(datafile: Data) throws {
6163
do {
@@ -120,20 +122,6 @@ extension ProjectConfig {
120122
return ["4"].contains(version)
121123
}
122124

123-
private func generateExperimentFeatureMap() {
124-
experimentFeatureMap = [String:[String]]()
125-
_ = project.featureFlags.map({ (ff) in
126-
ff.experimentIds.map({
127-
if var arr = self.experimentFeatureMap?[$0] {
128-
arr.append(ff.id)
129-
self.experimentFeatureMap?[$0] = arr
130-
}
131-
else {
132-
self.experimentFeatureMap?[$0] = [ff.id]
133-
}
134-
})
135-
})
136-
}
137125
}
138126

139127
// MARK: - Project Access
@@ -144,10 +132,7 @@ extension ProjectConfig {
144132
* Get an Experiment object for a key.
145133
*/
146134
func getExperiment(key: String) -> Experiment? {
147-
if let experimentMap = experimentKeyMap {
148-
return experimentMap[key]
149-
}
150-
return allExperiments.filter { $0.key == key }.first
135+
return experimentKeyMap[key]
151136
}
152137

153138
/**
@@ -189,7 +174,7 @@ extension ProjectConfig {
189174
* Gets an event for a corresponding event key
190175
*/
191176
func getEvent(key: String) -> Event? {
192-
return eventKeyMap?[key]
177+
return eventKeyMap[key]
193178
}
194179

195180
/**
@@ -225,7 +210,7 @@ extension ProjectConfig {
225210
* Returns true if experiment belongs to any feature, false otherwise.
226211
*/
227212
func isFeatureExperiment(id: String) -> Bool {
228-
return experimentFeatureMap?[id]?.isEmpty ?? false
213+
return !(experimentFeatureMap[id]?.isEmpty ?? true)
229214
}
230215

231216
/**
@@ -281,15 +266,4 @@ extension ProjectConfig {
281266
return true
282267
}
283268

284-
var allExperiments:[Experiment] {
285-
if let _allExperiments = _allExperiments {
286-
return _allExperiments
287-
}
288-
else {
289-
_allExperiments = project.experiments + project.groups.map({$0.experiments}).flatMap({$0})
290-
return _allExperiments ?? []
291-
}
292-
293-
}
294-
295269
}

0 commit comments

Comments
 (0)