Skip to content

LitGroup/email-address.dart

Repository files navigation

This package provides the value type EmailAddress to have a typed representation of the e-mail address with the encapsulated validation.

Getting started

  1. Install the package as a dependency, running the command in the shell:

    dart pub add email_address
  2. Import the library:

    import 'package:email_address/email_address.dart';

Usage

Parsing a EmailAddress from string:

try {
  final address = EmailAddress.parse('john@exmaple.com');
} on EmailAddressFormatException {
  // ...
}

Alternatively, you can use .parseOrNull():

assert(EmailAddress.parseOrNull('john@exmaple.com') != null);
assert(EmailAddress.parseOrNull('not a e-mail address') == null);

When you need to, just check the format of the string without creating an instance of the EmailAddress:

assert(EmailAddress.validFormat('john@example.com') == true);
assert(EmailAddress.validFormat('not a e-mail address') == false);

Make case-insensitive check for equality of the addresses:

final address = EmailAddress.parse('john@example.com');
final sameAddressInUpperCase = EmailAddress.parse('JOHN@EXAMPLE.COM');

assert(address == sameAddressInUpperCase);

Convert the EmailAddress back to string using .toString() method as expected:

final address = EmailAddress.parse('JohnDoe@example.com');
assert('JohnDoe@example.com' == address.toString());

About

[READ-ONLY PUBLIC MIRROR] The Dart library providing the value-type for consistent representation of a e-mail address.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages