fromEntry static method

SplitView? fromEntry(
  1. Map? entry
)

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);
}