Skip to content

Commit

Permalink
Remove defaults in favor of assign
Browse files Browse the repository at this point in the history
  • Loading branch information
philipwalton committed May 15, 2016
1 parent f79c9e4 commit b65e34c
Show file tree
Hide file tree
Showing 9 changed files with 24 additions and 48 deletions.
7 changes: 3 additions & 4 deletions lib/plugins/clean-url-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@
* limitations under the License.
*/


var assign = require('object-assign');
var parseUrl = require('dom-utils/lib/parse-url');
var constants = require('../constants');
var provide = require('../provide');
var defaults = require('../utilities').defaults;


/**
Expand All @@ -32,12 +31,12 @@ var defaults = require('../utilities').defaults;
*/
function CleanUrlTracker(tracker, opts) {

this.opts = defaults(opts, {
this.opts = assign({
stripQuery: true,
queryDimensionIndex: null,
indexFilename: null,
trailingSlash: null
});
}, opts);

this.tracker = tracker;

Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/event-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
*/


var assign = require('object-assign');
var delegate = require('dom-utils/lib/delegate');
var getAttributes = require('dom-utils/lib/get-attributes');
var provide = require('../provide');
var camelCase = require('../utilities').camelCase;
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;


/**
Expand All @@ -34,12 +34,12 @@ function EventTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!window.addEventListener) return;

this.opts = defaults(opts, {
this.opts = assign({
events: ['click'],
attributePrefix: 'ga-',
fieldsObj: null,
hitFilter: null
});
}, opts);

this.tracker = tracker;

Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/media-query-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
*/


var assign = require('object-assign');
var debounce = require('debounce');
var constants = require('../constants');
var provide = require('../provide');
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;
var isObject = require('../utilities').isObject;
var toArray = require('../utilities').toArray;

Expand All @@ -41,13 +41,13 @@ function MediaQueryTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!window.matchMedia) return;

this.opts = defaults(opts, {
this.opts = assign({
definitions: false,
changeTemplate: this.changeTemplate,
changeTimeout: 1000,
fieldsObj: null,
hitFilter: null
});
}, opts);

// Exits early if media query data doesn't exist.
if (!isObject(this.opts.definitions)) return;
Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/outbound-form-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
*/


var assign = require('object-assign');
var delegate = require('dom-utils/lib/delegate');
var parseUrl = require('dom-utils/lib/parse-url');
var provide = require('../provide');
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;
var withTimeout = require('../utilities').withTimeout;


Expand All @@ -34,12 +34,12 @@ function OutboundFormTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!window.addEventListener) return;

this.opts = defaults(opts, {
this.opts = assign({
formSelector: 'form',
shouldTrackOutboundForm: this.shouldTrackOutboundForm,
fieldsObj: null,
hitFilter: null
});
}, opts);

this.tracker = tracker;

Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/outbound-link-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
*/


var assign = require('object-assign');
var delegate = require('dom-utils/lib/delegate');
var parseUrl = require('dom-utils/lib/parse-url');
var provide = require('../provide');
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;


/**
Expand All @@ -33,12 +33,12 @@ function OutboundLinkTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!window.addEventListener) return;

this.opts = defaults(opts, {
this.opts = assign({
linkSelector: 'a',
shouldTrackOutboundLink: this.shouldTrackOutboundLink,
fieldsObj: null,
hitFilter: null
});
}, opts);

this.tracker = tracker;

Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/page-visibility-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
*/


var assign = require('object-assign');
var provide = require('../provide');
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;
var isObject = require('../utilities').isObject;


Expand All @@ -35,14 +35,14 @@ function PageVisibilityTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!window.addEventListener) return;

this.opts = defaults(opts, {
this.opts = assign({
visibleMetricIndex: null,
hiddenMetricIndex: null,
sessionTimeout: DEFAULT_SESSION_TIMEOUT,
changeTemplate: this.changeTemplate,
fieldsObj: null,
hitFilter: null
});
}, opts);

this.tracker = tracker;
this.visibilityState = document.visibilityState;
Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/social-widget-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
/* global FB, twttr */


var assign = require('object-assign');
var provide = require('../provide');
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;


/**
Expand All @@ -36,10 +36,10 @@ function SocialWidgetTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!window.addEventListener) return;

this.opts = defaults(opts, {
this.opts = assign({
fieldsObj: null,
hitFilter: null
});
}, opts);

this.tracker = tracker;

Expand Down
6 changes: 3 additions & 3 deletions lib/plugins/url-change-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
*/


var assign = require('object-assign');
var provide = require('../provide');
var createFieldsObj = require('../utilities').createFieldsObj;
var defaults = require('../utilities').defaults;
var isObject = require('../utilities').isObject;


Expand All @@ -32,11 +32,11 @@ function UrlChangeTracker(tracker, opts) {
// Feature detects to prevent errors in unsupporting browsers.
if (!history.pushState || !window.addEventListener) return;

this.opts = defaults(opts, {
this.opts = assign({
shouldTrackUrlChange: this.shouldTrackUrlChange,
fieldsObj: null,
hitFilter: null
});
}, opts);

this.tracker = tracker;

Expand Down
23 changes: 0 additions & 23 deletions lib/utilities.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,29 +90,6 @@ var utilities = {
},


/**
* Accepts an object of overrides and defaults and returns a new object
* with the values merged. For each key in defaults, if there's a
* corresponding value in overrides, it gets used.
* @param {Object} overrides The object with properties to override.
* @param {?Object} defaults The object with properties to use as defaults.
* @return {Object} The final, merged object.
*/
defaults: function(overrides, defaults) {
var result = {};
if (!utilities.isObject(overrides)) overrides = {};
if (!utilities.isObject(defaults)) defaults = {};

for (var key in defaults) {
if (defaults.hasOwnProperty(key)) {
result[key] = overrides.hasOwnProperty(key) ?
overrides[key] : defaults[key];
}
}
return result;
},


camelCase: function(str) {
return str.replace(/[\-\_]+(\w?)/g, function(match, p1) {
return p1.toUpperCase();
Expand Down

0 comments on commit b65e34c

Please sign in to comment.