getResults method

Map<String, ARBContent> getResults()

Builds results of applying/discarding changes in all items

Implementation

Map<String, ARBContent> getResults() {
  for (final target in translationTargets) {
    final originalARB = originals[target];
    if (originalARB == null) {
      continue;
    }

    for (final item in originalARB.items) {
      if (!_visitedKeys[target]!.contains(item.key)) {
        _resultItems[target]!.add(ARBItem(
          number: item.number,
          key: item.key,
          value: item.value,
          annotation: item.annotation,
          plurals: item.plurals,
          selects: item.selects,
        ));
        _visitedKeys[target]!.add(item.key);
      }
    }
  }

  Map<String, ARBContent> result = {};
  for (final target in translationTargets) {
    final items = _resultItems[target]!;
    final translatedARB = translations.lookup(target);
    final originalARB = originals.lookup(target);
    final lineBreaks = translatedARB == null
        ? originalARB == null
            ? original.lineBreaks
            : originalARB.lineBreaks
        : translatedARB.lineBreaks;
    result[target] = ARBContent(
      items,
      lineBreaks: lineBreaks,
      locale: original.locale == null ? null : translatedARB?.locale,
    );
  }

  return result;
}