Catalog.fromString constructor

Catalog.fromString(
  1. ExtractSettings settings,
  2. String catalog
)

Implementation

factory Catalog.fromString(ExtractSettings settings, String catalog) {
  final entryStrings = catalog.trim().split("\n\n");

  // Get the header entry.
  Entry? header = Entry.fromString(settings, entryStrings[0]);
  // We care only if the msgid is "".
  if (header.msgid == "") {
    entryStrings.removeAt(0);
  } else {
    header = null;
  }

  // Convert the rest of the list into a list of entries.
  final entriesIter = entryStrings.map((e) => Entry.fromString(settings, e));
  final entries = List<Entry>.from(entriesIter);

  return Catalog(header: header, entries: entries, settings: settings);
}