fix(mailgun-js) fix validate return value for callbacks

This commit is contained in:
Andi Pätzold
2018-11-20 21:54:08 +01:00
parent 95930ad595
commit 91af0af039
2 changed files with 20 additions and 35 deletions
+11 -25
View File
@@ -126,6 +126,8 @@ declare namespace Mailgun {
unparseable: string[];
}
type ValidationCallback = (error: Error, body: ValidateResponse) => void;
interface ValidateResponse {
address: string;
did_you_mean: string | null;
@@ -151,32 +153,16 @@ declare namespace Mailgun {
bodySignature: string
): boolean;
parse(
addressList: string[],
callback?: (error: Error, body: validation.ValidateResponse) => void
): Promise<validation.ParseResponse>;
parse(addressList: string[], callback?: validation.ValidationCallback): Promise<validation.ParseResponse>;
validate(
address: string,
callback?: (error: Error, body: validation.ValidateResponse) => void
): Promise<validation.ValidateResponse>;
validate(
address: string,
isPrivate: boolean,
callback?: (error: Error, body: validation.ValidateResponse) => void
): Promise<validation.ValidateResponse>;
validate(
address: string,
// tslint:disable-next-line unified-signatures
opts: { [key: string]: any },
callback?: (error: Error, body: validation.ValidateResponse) => void
): Promise<validation.ValidateResponse>;
validate(
address: string,
isPrivate: boolean,
opts: { [key: string]: any },
callback?: (error: Error, body: validation.ValidateResponse) => void
): Promise<validation.ValidateResponse>;
validate(address: string, callback: validation.ValidationCallback): void;
validate(address: string, opts: { [key: string]: any }, 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?: boolean, opts?: { [key: string]: any }): Promise<validation.ValidateResponse>;
validate(address: string, opts: { [key: string]: any }): Promise<validation.ValidateResponse>;
}
interface Lists {
+9 -10
View File
@@ -30,16 +30,15 @@ const exampleSendData: mailgunFactory.messages.SendData = {
mailgun.messages().send(exampleSendData, (err, body) => {});
const validationResult1: Promise<mailgunFactory.validation.ValidateResponse> =
mailgun.validate("foo@mailgun.net");
const validationResult2: Promise<mailgunFactory.validation.ValidateResponse> =
mailgun.validate("foo@mailgun.net", (error, body) => {});
const validationResult3: Promise<mailgunFactory.validation.ValidateResponse> =
mailgun.validate("foo@mailgun.net", true);
const validationResult4: Promise<mailgunFactory.validation.ValidateResponse> =
mailgun.validate("foo@mailgun.net", true, (error, body) => {});
const validationResult5: Promise<mailgunFactory.validation.ValidateResponse> =
mailgun.validate("foo@mailgun.net", true, { option: "option" }, (error, 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" });
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) => {});
const validationResult6: mailgunFactory.validation.ValidateResponse = {
address: "foo@mailgun.net",