VCard constructor

VCard(
  1. String vCardString
)

Implementation

VCard(this.vCardString) {
  lines = LineSplitter().convert(vCardString);
  for (var i = lines.length - 1; i >= 0; i--) {
    if (lines[i].startsWith("BEGIN:VCARD") ||
        lines[i].startsWith("END:VCARD") ||
        lines[i].trim().isEmpty) {
      lines.removeAt(i);
    }
  }

  for (var i = lines.length - 1; i >= 0; i--) {
    if (!lines[i].startsWith(new RegExp(r'^\S+(:|;)'))) {
      String tmpLine = lines[i];
      String prevLine = lines[i - 1];
      lines[i - 1] = prevLine + ', ' + tmpLine;
      lines.removeAt(i);
    }
  }

  version = getWordOfPrefix("VERSION:") ?? "3.0";
}