getMatchingEmail static method

String? getMatchingEmail(
  1. String original,
  2. String check, {
  3. bool allowPlusAlias = false,
})

Checks if both email addresses original and check match and returns the match.

Set allowPlusAlias if plus aliases should be checked, so that name+alias@domain matches the original name@domain.

Implementation

static String? getMatchingEmail(
  String original,
  String check, {
  bool allowPlusAlias = false,
}) {
  if (check == original) {
    return check;
  } else if (allowPlusAlias) {
    final plusIndex = check.indexOf('+');
    if (plusIndex > 1) {
      final start = check.substring(0, plusIndex);
      if (original.startsWith(start)) {
        final atIndex = check.lastIndexOf('@');
        if (atIndex > plusIndex &&
            original.endsWith(check.substring(atIndex))) {
          return check;
        }
      }
    }
  }

  return null;
}