1414/// limitations under the License. *
1515///**************************************************************************/
1616
17+ import 'dart:convert' ;
18+
1719import 'package:optimizely_flutter_sdk/src/utils/constants.dart' ;
1820
1921class OptimizelyConfig {
@@ -117,6 +119,23 @@ class OptimizelyConfig {
117119 'datafile' : datafile
118120 };
119121 }
122+
123+ @override
124+ String toString () {
125+ var encodedExperimentsMap = json.encode (experimentsMap);
126+ var encodedFeaturesMap = json.encode (featuresMap);
127+ var encodedAttributes = json.encode (attributes);
128+ var encodedEvents = json.encode (events);
129+ var encodedAudiences = json.encode (audiences);
130+ return 'OptimizelyConfig {revision="$revision ",'
131+ ' sdkKey="$sdkKey ",'
132+ ' environmentKey="$environmentKey ",'
133+ ' events="$encodedEvents ",'
134+ ' audiences="$encodedAudiences ",'
135+ ' attributes="$encodedAttributes ",'
136+ ' featuresMap="$encodedFeaturesMap ",'
137+ ' experimentsMap="$encodedExperimentsMap "}' ;
138+ }
120139}
121140
122141// Represents the Audiences list in {@link OptimizelyConfigResponse}
@@ -135,6 +154,11 @@ class OptimizelyAudience {
135154
136155 Map <String , dynamic > toJson () =>
137156 {'id' : id, 'name' : name, 'conditions' : conditions};
157+
158+ @override
159+ String toString () {
160+ return 'OptimizelyAudience {id="$id ", name="$name ", conditions="$conditions "}' ;
161+ }
138162}
139163
140164// Represents the Events's map in {@link OptimizelyConfigResponse}
@@ -153,6 +177,12 @@ class OptimizelyEvent {
153177
154178 Map <String , dynamic > toJson () =>
155179 {'id' : id, 'key' : key, 'experimentIds' : experimentIds};
180+
181+ @override
182+ String toString () {
183+ var encodedExperimentIds = json.encode (experimentIds);
184+ return 'OptimizelyEvent {id="$id ", key="$key ", experimentIds="$encodedExperimentIds "}' ;
185+ }
156186}
157187
158188// Represents the Attribute's map in {@link OptimizelyConfigResponse}
@@ -167,6 +197,11 @@ class OptimizelyAttribute {
167197 id: parsedJson[Constants .id], key: parsedJson[Constants .key]);
168198 }
169199 Map <String , dynamic > toJson () => {'id' : id, 'key' : key};
200+
201+ @override
202+ String toString () {
203+ return 'OptimizelyAttribute {id="$id ", key="$key "}' ;
204+ }
170205}
171206
172207// Represents the feature's map in {@link OptimizelyConfigResponse}
@@ -220,6 +255,13 @@ class OptimizelyFeature {
220255 'experimentRules' : dynamicExperimentRules
221256 };
222257 }
258+
259+ @override
260+ String toString () {
261+ var encodedDeliveryRules = json.encode (deliveryRules);
262+ var encodedExperimentRules = json.encode (experimentRules);
263+ return 'OptimizelyFeature {id="$id ", key="$key ", deliveryRules="$encodedDeliveryRules ", experimentRules="$encodedExperimentRules "}' ;
264+ }
223265}
224266
225267// Represents the experiment's map in {@link OptimizelyConfigResponse}
@@ -262,6 +304,12 @@ class OptimizelyExperiment {
262304 'variationsMap' : dynamicVariationsMap
263305 };
264306 }
307+
308+ @override
309+ String toString () {
310+ var encodedVariationsMap = json.encode (variationsMap);
311+ return 'OptimizelyExperiment {id="$id ", key="$key ", audiences="$audiences ", variationsMap="$encodedVariationsMap "}' ;
312+ }
265313}
266314
267315// Details of variation in {@link OptimizelyExperiment}
@@ -308,6 +356,12 @@ class OptimizelyVariation {
308356 'variablesMap' : dynamicVariablesMap
309357 };
310358 }
359+
360+ @override
361+ String toString () {
362+ var encodedVariablesMap = json.encode (variablesMap);
363+ return 'OptimizelyVariation {id="$id ", key="$key ", featureEnabled="$featureEnabled ", variablesMap="$encodedVariablesMap "}' ;
364+ }
311365}
312366
313367// Details of feature variable in {@link OptimizelyVariation}
@@ -329,4 +383,9 @@ class OptimizelyVariable {
329383
330384 Map <String , dynamic > toJson () =>
331385 {'id' : id, 'key' : key, 'type' : type, 'value' : value};
386+
387+ @override
388+ String toString () {
389+ return 'OptimizelyVariable {id="$id ", key="$key ", type="$type ", value="$value "}' ;
390+ }
332391}
0 commit comments