diff options
author | Kyle Partridge <partkyle@gmail.com> | 2012-01-11 18:47:52 -0800 |
---|---|---|
committer | Kyle Partridge <partkyle@gmail.com> | 2012-01-11 18:47:52 -0800 |
commit | f996e4a8fd9a6c1e08f269b98aebca7869783f8c (patch) | |
tree | 2bb2360e00b22d97909ec178d9d672184ac91e33 /lib/smtpapi_headers.js | |
parent | 1791d2686414c6f67a836846f3492b7800cd27c6 (diff) | |
parent | 375433adccd97dd2100936020557efcfb1164619 (diff) | |
download | sendgrid-nodejs-f996e4a8fd9a6c1e08f269b98aebca7869783f8c.zip sendgrid-nodejs-f996e4a8fd9a6c1e08f269b98aebca7869783f8c.tar.gz sendgrid-nodejs-f996e4a8fd9a6c1e08f269b98aebca7869783f8c.tar.bz2 |
Merge remote-tracking branch 'siyegen/x-smtpapi' into x-smtpapi
Diffstat (limited to 'lib/smtpapi_headers.js')
-rw-r--r-- | lib/smtpapi_headers.js | 60 |
1 files changed, 35 insertions, 25 deletions
diff --git a/lib/smtpapi_headers.js b/lib/smtpapi_headers.js index 574fd69..c9fb679 100644 --- a/lib/smtpapi_headers.js +++ b/lib/smtpapi_headers.js @@ -1,57 +1,67 @@ +var _ = require('underscore'); + function SmtpapiHeaders() { - this.data = {}; + this.to = []; + this.sub = {}; + this.unique_args = {}; + this.category = []; + this.filters = {}; } SmtpapiHeaders.prototype.addTo = function(to) { - if (!this.data['to']) { - this.data['to'] = []; - } - if (typeof to == 'object') { - this.data['to'] = this.data['to'].concat(to); + if (_.isArray(to)) { + this.to = this.to.concat(to); } else { - this.data['to'].push(to); + this.to.push(to); } } SmtpapiHeaders.prototype.addSubVal = function(key, val) { - if (!this.data['sub']) { - this.data['sub'] = {}; - } - if (typeof val == 'object') { - this.data['sub'][key] = val; + if (_.isArray(val)) { + this.sub[key] = val; } else { - this.data['sub'][key] = [val]; + this.sub[key] = [val]; } } SmtpapiHeaders.prototype.setUniqueArgs = function(val) { - if (typeof val == 'object') { - this.data['unique_args'] = val; + if (_.isObject(val)) { + this.unique_args = val; + } +} + +SmtpapiHeaders.prototype.addUniqueArgs = function(val) { + if (_.isObject(val)) { + _.extend(this.unique_args, val); } } SmtpapiHeaders.prototype.setCategory = function(val) { - this.data['category'] = val; + this.category = val; } -SmtpapiHeaders.prototype.addFilterSetting = function(filter, setting, val) { - if (!this.data['filters']) { - this.data['filters'] = {}; +SmtpapiHeaders.prototype.addCategory = function(val) { + if (_.isArray(val)) { + this.category.concat(val); + } else { + this.category.push(val); } +} - if (!this.data['filters'][filter]) { - this.data['filters'][filter] = {}; +SmtpapiHeaders.prototype.addFilterSetting = function(filter, setting, val) { + if (!this.filters[filter]) { + this.filters[filter] = {}; } - if (!this.data['filters'][filter]['settings']) { - this.data['filters'][filter]['settings'] = {}; + if (!this.filters[filter]['settings']) { + this.filters[filter]['settings'] = {}; } - this.data['filters'][filter]['settings'][setting] = val; + this.filters[filter]['settings'][setting] = val; } SmtpapiHeaders.prototype.toJson = function() { - var json = JSON.stringify(this.data); + var json = JSON.stringify(this); return json.replace(/(["\]}])([,:])(["\[{])/, '$1$2 $3'); } |