checkMissingKey function

void checkMissingKey(
  1. List<Record> records
)

Implementation

void checkMissingKey(List<Record> records) {
  final keys = records.fold<Set<String>>({}, (prev, it) {
    if (prev.length < it.records.keys.length) {
      return it.records.keys.toSet();
    }
    return prev;
  });

  for (final record in records) {
    if (record.records.keys.length != keys.length) {
      final localeKeys = record.records.keys.toSet();
      final missingKeys = keys.fold<Set<String>>({}, (acc, it) {
        if (!localeKeys.contains(it)) {
          acc.add(it);
        }
        return acc;
      });
      throw MissingKeysException(record.locale, missingKeys);
    }
  }
}