From 1913da9da6247e775482673fb2f57f888e7b910f Mon Sep 17 00:00:00 2001 From: Peter Lejeck Date: Mon, 28 Apr 2014 20:52:18 -0700 Subject: Genericize defaults function into merge utility We're gonna use this shortly for the data field --- js/cheesesteak.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'js/cheesesteak.js') diff --git a/js/cheesesteak.js b/js/cheesesteak.js index 378c6e8..a822623 100644 --- a/js/cheesesteak.js +++ b/js/cheesesteak.js @@ -94,10 +94,13 @@ })*/ // b gets merged as defaults for a - var defaults = function (a, b) { - var out = {} - for (var key in b) { - out[key] = (a[key] === void 0) ? b[key] : a[key] + var merge = function merge (base, overlay) { + var out = base + for (var key in overlay) { + if (typeof overlay[key] === 'object') + out[key] = merge(base[key], overlay[key]); + else + out[key] = overlay[key] } return out } @@ -108,10 +111,11 @@ opts = opts || {} - this.opts = defaults(opts, { + this.opts = merge({ 'field': 'files[]', - 'method': 'POST' - }) + 'method': 'POST' + 'data': {} + }, opts) } FileListUploader.prototype = Object.create(EventEmitter.prototype) FileListUploader.prototype.upload = function (cb) { -- cgit v1.2.3