12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- // Code shows a string is valid,
- // but docs require string array or object.
- type TLDList = string | string[] | { [topLevelDomain: string]: any };
- type BaseOptions = {
- tldWhitelist?: TLDList;
- tldBlacklist?: TLDList;
- minDomainAtoms?: number;
- allowUnicode?: boolean;
- };
- type OptionsWithBool = BaseOptions & {
- errorLevel?: false;
- };
- type OptionsWithNumThreshold = BaseOptions & {
- errorLevel?: true | number;
- };
- interface Validator {
- /**
- * Check that an email address conforms to RFCs 5321, 5322, 6530 and others.
- *
- * ```
- * import * as IsEmail from "isemail";
- *
- * IsEmail.validate("test@e.com");
- * // => true
- * ```
- */
- validate(email: string): boolean;
- /**
- * Check that an email address conforms to RFCs 5321, 5322, 6530 and others.
- *
- * ```
- * import * as IsEmail from "isemail";
- *
- * IsEmail.validate("test@iana.org", { errorLevel: false });
- * // => true
- * ```
- */
- validate(email: string, options: OptionsWithBool): boolean;
- /**
- * Check that an email address conforms to RFCs 5321, 5322, 6530 and others.
- *
- * ```
- * import * as IsEmail from "isemail";
- *
- * IsEmail.validate("test@iana.org", { errorLevel: true });
- * // => 0
- * IsEmail.validate("test @e.com", { errorLevel: 50 });
- * // => 0
- * IsEmail.validate('test @e.com', { errorLevel: true })
- * // => 49
- * ```
- */
- validate(email: string, options: OptionsWithNumThreshold): number;
- }
- declare const IsEmail: Validator;
- export = IsEmail;
|