@@ -95,34 +95,19 @@ class ProjectConfig {
9595 }
9696
9797 convenience init ( datafile: String ) throws {
98- guard let data = datafile. data ( using: . utf8) else {
99- throw OptimizelyError . dataFileInvalid
100- }
101-
102- try self . init ( datafile: data)
98+ try self . init ( datafile: Data ( datafile. utf8) )
10399 }
104100
105101 init ( ) {
106102 }
107103
108- class func dateFromString( dateString: String ) -> NSDate {
109- let dateFormatter = DateFormatter ( )
110- let enUSPosixLocale = NSLocale ( localeIdentifier: " en_US_POSIX " )
111- dateFormatter. locale = enUSPosixLocale as Locale
112- dateFormatter. dateFormat = " yyyy-MM-dd'T'HH:mm:ssZZZZZ "
113- return dateFormatter. date ( from: dateString) ! as NSDate
114- }
115104}
116105
117106extension ProjectConfig {
118107 private func whitelistUser( userId: String , experimentId: String , variationId: String ) {
119- if var dic = whitelistUsers [ userId] {
120- dic [ experimentId] = variationId
121- } else {
122- var dic = [ String: String] ( )
123- dic [ experimentId] = variationId
124- whitelistUsers [ userId] = dic
125- }
108+ var dic = whitelistUsers [ userId] ?? [ String: String] ( )
109+ dic [ experimentId] = variationId
110+ whitelistUsers [ userId] = dic
126111 }
127112
128113 private func removeFromWhitelist( userId: String , experimentId: String ) {
@@ -132,10 +117,10 @@ extension ProjectConfig {
132117 private func getWhitelistedVariationId( userId: String , experimentId: String ) -> String ? {
133118 if var dic = whitelistUsers [ userId] {
134119 return dic [ experimentId]
135- } else {
136- logger. d ( . userHasNoForcedVariation( userId) )
137- return nil
138120 }
121+
122+ logger. d ( . userHasNoForcedVariation( userId) )
123+ return nil
139124 }
140125
141126 private func isValidVersion( version: String ) -> Bool {
@@ -252,14 +237,14 @@ extension ProjectConfig {
252237 if let variation = experiment. getVariation ( id: id) {
253238 logger. d ( . userHasForcedVariation( userId, experiment. key, variation. key) )
254239 return variation
255- } else {
256- logger. d ( . userHasForcedVariationButInvalid( userId, experiment. key) )
257- return nil
258240 }
259- } else {
260- logger. d ( . userHasNoForcedVariationForExperiment ( userId, experiment. key) )
241+
242+ logger. d ( . userHasForcedVariationButInvalid ( userId, experiment. key) )
261243 return nil
262244 }
245+
246+ logger. d ( . userHasNoForcedVariationForExperiment( userId, experiment. key) )
247+ return nil
263248 }
264249
265250 /**
@@ -284,7 +269,7 @@ extension ProjectConfig {
284269 return false
285270 }
286271
287- guard let variation = experiment. variations . filter ( { $0 . key == variationKey } ) . first else {
272+ guard let variation = experiment. getVariation ( key: variationKey) else {
288273 logger. e ( . variationKeyInvalid( experimentKey, variationKey) )
289274 return false
290275 }
0 commit comments