fromEntry static method
Implementation
static SplitView? fromEntry(Map<dynamic, dynamic>? entry) {
if (entry == null || entry.isEmpty) {
return null;
}
final Map<String, String> mappedConfig = {};
entry[_keyConfigs]?.entries.forEach((MapEntry<dynamic, dynamic> entry) => {
mappedConfig.addAll({entry.key.toString(): entry.value.toString()})
});
if (entry[_keyTreatments] == null) {
entry[_keyTreatments] = entry[_keyTreatments] ?? [];
}
if (entry[_keySets] == null) {
entry[_keySets] = [];
}
if (entry[_keyImpressionsDisabled] == null) {
entry[_keyImpressionsDisabled] = false;
}
if (entry[_keyPrerequisites] == null) {
entry[_keyPrerequisites] = [];
}
final List<dynamic> prereqRaw = (entry[_keyPrerequisites] as List?) ?? [];
final Set<Prerequisite> prerequisites =
prereqRaw.map((el) => Prerequisite.fromEntry(el)).toSet();
return SplitView(
entry[_keyName],
entry[_keyTrafficType],
entry[_keyKilled],
(entry[_keyTreatments] as List).map((el) => el as String).toList(),
entry[_keyChangeNumber],
mappedConfig,
entry[_keyDefaultTreatment] ?? '',
(entry[_keySets] as List).map((el) => el as String).toList(),
entry[_keyImpressionsDisabled] ?? false,
prerequisites);
}