addMissingMetadata function

String addMissingMetadata(
  1. String arbContents
)

Adds any missing default metadata for keys

Note that the resulting output is not sorted

Implementation

String addMissingMetadata(String arbContents) {
  final Map<String, dynamic> contents = json.decode(arbContents);
  final keys = contents.keys.where((key) => !key.startsWith('@')).toList();

  for (final key in keys) {
    if (!contents.containsKey('@$key')) {
      contents['@$key'] = _defaultMetadata;
    }
  }

  final encoder = JsonEncoder.withIndent('  ');
  return encoder.convert(contents);
}