toFormattedStringBBAN function

String toFormattedStringBBAN(
  1. String iban, [
  2. String separator = " "
])

Implementation

String toFormattedStringBBAN(String iban, [String separator = " "]) {
  final BbanStructure? structure = getBbanStructure(iban);

  if (structure == null) {
    throw Exception("should't happen - already validated IBAN");
  }

  final String bban = getBban(iban);
  final List<BbanStructurePart> listParts = structure.getParts();

  List<String> parts = [];
  for (int i = 0; i < listParts.length; ++i) {
    final String? value =
        structure.extractValue(bban, listParts[i].getPartType());

    parts.add(value ?? "");
    parts.add(listParts[i].trailingSeparator ? separator : "");
  }
  parts.removeLast();

  return parts.join("");
}