1
0
mirror of https://github.com/eleith/emailjs.git synced 2024-07-03 11:38:50 +00:00
emailjs/smtp/error.js
2018-07-06 13:49:06 -07:00

87 lines
1.3 KiB
JavaScript

class SMTPError extends Error {
/**
* @param {string} message the error message
*/
constructor(message) {
super(message);
/**
* @type {number}
*/
this.code = null;
/**
* @type {*}
*/
this.smtp = null;
/**
* @type {Error}
*/
this.previous = null;
}
}
/**
* @param {string} message the error message
* @param {number} code the error code
* @param {Error} [error] an error object
* @param {*} [smtp] smtp
* @returns {SMTPError} an smtp error object
*/
module.exports = function(message, code, error, smtp) {
const err = new SMTPError(
error != null && error.message ? `${message} (${error.message})` : message
);
err.code = code;
err.smtp = smtp;
if (error) {
err.previous = error;
}
return err;
};
/**
* @type {1}
*/
module.exports.COULDNOTCONNECT = 1;
/**
* @type {2}
*/
module.exports.BADRESPONSE = 2;
/**
* @type {3}
*/
module.exports.AUTHFAILED = 3;
/**
* @type {4}
*/
module.exports.TIMEDOUT = 4;
/**
* @type {5}
*/
module.exports.ERROR = 5;
/**
* @type {6}
*/
module.exports.NOCONNECTION = 6;
/**
* @type {7}
*/
module.exports.AUTHNOTSUPPORTED = 7;
/**
* @type {8}
*/
module.exports.CONNECTIONCLOSED = 8;
/**
* @type {9}
*/
module.exports.CONNECTIONENDED = 9;
/**
* @type {10}
*/
module.exports.CONNECTIONAUTH = 10;