feat(mailgun-js) specify validation options

This commit is contained in:
Andi Pätzold
2018-11-20 22:06:08 +01:00
parent 91af0af039
commit 35bca8038a
2 changed files with 19 additions and 8 deletions
+15 -4
View File
@@ -128,6 +128,15 @@ declare namespace Mailgun {
type ValidationCallback = (error: Error, body: ValidateResponse) => void;
interface ValidationOptionsPublic {
api_key?: string;
mailbox_verification?: boolean | "true" | "false";
}
interface ValidationOptionsPrivate {
mailbox_verification?: boolean | "true" | "false";
}
interface ValidateResponse {
address: string;
did_you_mean: string | null;
@@ -156,13 +165,15 @@ declare namespace Mailgun {
parse(addressList: string[], callback?: validation.ValidationCallback): Promise<validation.ParseResponse>;
validate(address: string, callback: validation.ValidationCallback): void;
validate(address: string, opts: { [key: string]: any }, callback: validation.ValidationCallback): void;
validate(address: string, opts: validation.ValidationOptionsPublic, callback: validation.ValidationCallback): void;
// tslint:disable-next-line unified-signatures
validate(address: string, isPrivate: boolean, callback: validation.ValidationCallback): void;
validate(address: string, isPrivate: boolean, opts: { [key: string]: any }, callback: validation.ValidationCallback): void;
validate(address: string, isPrivate: false, opts: validation.ValidationOptionsPublic, callback: validation.ValidationCallback): void;
validate(address: string, isPrivate: true, opts: validation.ValidationOptionsPrivate, callback: validation.ValidationCallback): void;
validate(address: string, isPrivate?: boolean, opts?: { [key: string]: any }): Promise<validation.ValidateResponse>;
validate(address: string, opts: { [key: string]: any }): Promise<validation.ValidateResponse>;
validate(address: string, opts?: validation.ValidationOptionsPublic): Promise<validation.ValidateResponse>;
validate(address: string, isPrivate: false, opts?: validation.ValidationOptionsPublic): Promise<validation.ValidateResponse>;
validate(address: string, isPrivate: true, opts?: validation.ValidationOptionsPrivate): Promise<validation.ValidateResponse>;
}
interface Lists {
+4 -4
View File
@@ -33,12 +33,12 @@ mailgun.messages().send(exampleSendData, (err, body) => {});
let validationResultPromise: Promise<mailgunFactory.validation.ValidateResponse>;
validationResultPromise = mailgun.validate("foo@mailgun.net");
validationResultPromise = mailgun.validate("foo@mailgun.net", true);
validationResultPromise = mailgun.validate("foo@mailgun.net", true, { option: "option" });
validationResultPromise = mailgun.validate("foo@mailgun.net", { option: "option" });
validationResultPromise = mailgun.validate("foo@mailgun.net", true, { mailbox_verification: true });
validationResultPromise = mailgun.validate("foo@mailgun.net", { mailbox_verification: false, api_key: "..." });
mailgun.validate("foo@mailgun.net", (error, body) => {});
mailgun.validate("foo@mailgun.net", true, (error, body) => {});
mailgun.validate("foo@mailgun.net", true, { option: "option" }, (error, body) => {});
mailgun.validate("foo@mailgun.net", { option: "option" }, (error, body) => {});
mailgun.validate("foo@mailgun.net", true, { mailbox_verification: true }, (error, body) => {});
mailgun.validate("foo@mailgun.net", { mailbox_verification: false, api_key: "..." }, (error, body) => {});
const validationResult6: mailgunFactory.validation.ValidateResponse = {
address: "foo@mailgun.net",