parseAddress function

MailboxAddress parseAddress(
  1. String addressStr, {
  2. MailboxType? type,
})

Parse mailbox address from string format

Implementation

MailboxAddress parseAddress(String addressStr, {MailboxType? type}) {
  // If type is provided explicitly, use it; otherwise try to parse from address string
  if (type != null) {
    return MailboxAddress.parse(addressStr, type: type);
  }

  // Address format: peerId/type/folder
  final parts = addressStr.split('/');
  if (parts.length < 2) {
    throw FormatException('Invalid mailbox address format: $addressStr');
  }

  final parsedType = MailboxType.values.firstWhere(
    (e) => e.name == parts[1],
    orElse: () => MailboxType.private,
  );

  return MailboxAddress.parse(addressStr, type: parsedType);
}