formatDisplay method
Format Address to the correct format for its country for display purposes.
Implementation
List<String> formatDisplay(Address address, {bool includeCountry = true}) {
final addressFormat = _getAddressFormat(address.country);
final displayFormat = addressFormat.displayFormat[_language] ??
addressFormat.displayFormat[addressFormat.displayFormat.keys.first]!;
final lines = <String>[];
for (final line in displayFormat) {
final lineBuffer = StringBuffer();
for (final part in line) {
if (part.text != null) {
lineBuffer.write(part.text);
} else {
lineBuffer.write(_mapAddressPart(address, part.part!) ?? '');
}
}
if (lineBuffer.isNotEmpty) {
lines.add(lineBuffer.toString());
}
}
if (includeCountry) {
final countryNames = addressFormat.countryName;
final countryName =
countryNames[_language] ?? countryNames[countryNames.keys.first]!;
if (addressFormat.displayCountryUppercase) {
lines.add(countryName.toUpperCase());
} else {
lines.add(countryName);
}
}
return lines;
}