backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
198 lines (184 loc) • 4.5 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _utils = _interopRequireDefault(require("../../utils"));
var EmailEnvelope = /*#__PURE__*/function () {
function EmailEnvelope(data) {
(0, _classCallCheck2["default"])(this, EmailEnvelope);
data = data || {};
this.addresses = _utils["default"].castArray(data.addresses);
this.ccAddresses = _utils["default"].castArray(data.ccAddresses);
this.bccAddresses = _utils["default"].castArray(data.bccAddresses);
this.query = data.query || null;
this.uniqueEmails = data.uniqueEmails || false;
}
/**
*
* @param {Array|String} addresses
* @returns {EmailEnvelope}
*/
(0, _createClass2["default"])(EmailEnvelope, [{
key: "setTo",
value: function setTo(addresses) {
this.addresses = _utils["default"].castArray(addresses);
return this;
}
/**
*
* @param {Array|String} addresses
* @returns {EmailEnvelope}
*/
}, {
key: "addTo",
value: function addTo(addresses) {
this.addresses = this.addresses.concat(_utils["default"].castArray(addresses));
return this;
}
/**
*
* @returns {Array} - addresses
*/
}, {
key: "getTo",
value: function getTo() {
return this.addresses;
}
/**
*
* @param {Array|String} addresses
* @returns {EmailEnvelope}
*/
}, {
key: "setCc",
value: function setCc(addresses) {
this.ccAddresses = _utils["default"].castArray(addresses);
return this;
}
/**
*
* @param {Array|String} addresses
* @returns {EmailEnvelope}
*/
}, {
key: "addCc",
value: function addCc(addresses) {
this.ccAddresses = this.ccAddresses.concat(_utils["default"].castArray(addresses));
return this;
}
/**
*
* @returns {Array} - cc-addresses
*/
}, {
key: "getCc",
value: function getCc() {
return this.ccAddresses;
}
/**
*
* @param {Array|String} addresses
* @returns {EmailEnvelope}
*/
}, {
key: "setBcc",
value: function setBcc(addresses) {
this.bccAddresses = _utils["default"].castArray(addresses);
return this;
}
/**
*
* @param {Array|String} addresses
* @returns {EmailEnvelope}
*/
}, {
key: "addBcc",
value: function addBcc(addresses) {
this.bccAddresses = this.bccAddresses.concat(_utils["default"].castArray(addresses));
return this;
}
/**
*
* @returns {Array} - bcc-addresses
*/
}, {
key: "getBcc",
value: function getBcc() {
return this.bccAddresses;
}
/**
*
* @param {String|null} query
* @returns {EmailEnvelope}
*/
}, {
key: "setQuery",
value: function setQuery(query) {
this.query = query;
return this;
}
/**
*
* @returns {String} - query
*/
}, {
key: "getQuery",
value: function getQuery() {
return this.query;
}
/**
* @param {boolean} uniqueEmails
* @returns {EmailEnvelope}
*/
}, {
key: "setUniqueEmails",
value: function setUniqueEmails(uniqueEmails) {
this.uniqueEmails = uniqueEmails;
return this;
}
/**
* @returns {uniqueEmails|boolean}
*/
}, {
key: "getUniqueEmails",
value: function getUniqueEmails() {
return this.uniqueEmails;
}
}, {
key: "toJSON",
value: function toJSON() {
var data = {};
if (this.addresses.length > 0) {
data.addresses = this.addresses;
}
if (this.ccAddresses.length > 0) {
data['cc-addresses'] = this.ccAddresses;
}
if (this.bccAddresses.length > 0) {
data['bcc-addresses'] = this.bccAddresses;
}
if (this.query) {
data.criteria = this.query;
}
data.uniqueEmails = this.uniqueEmails;
return data;
}
}], [{
key: "create",
value:
/**
*
* @param {Object} data
* @returns {EmailEnvelope}
*/
function create(data) {
return new EmailEnvelope(data);
}
}]);
return EmailEnvelope;
}();
exports["default"] = EmailEnvelope;