analytics-plugin-google-tag-manager
Version:
Google tag manager plugin for 'analytics' module
80 lines (66 loc) • 1.9 kB
JavaScript
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === 'function') {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function (key) {
_defineProperty(target, key, source[key]);
});
}
return target;
}
var config = {};
var NAMESPACE = 'google-tag-manager';
var logMessage = function logMessage() {
console.log("".concat(NAMESPACE, " not available in node.js. Please use the google analytics plugin instead"));
};
/* Export the integration */
function googleTagManager(userConfig) {
// Allow for userland overides of base methods
return {
NAMESPACE: NAMESPACE,
config: _objectSpread({}, config, userConfig),
initialize: function initialize(_ref) {
var config = _ref.config;
logMessage();
},
// page view
page: function page(_ref2) {
var payload = _ref2.payload,
config = _ref2.config;
logMessage();
},
// track event
track: function track(_ref3) {
var payload = _ref3.payload,
config = _ref3.config;
logMessage();
},
// identify user
identify: function identify(_ref4) {
var payload = _ref4.payload;
logMessage();
}
};
}
/* This module will shake out unused code and work in browser and node 🎉 */
var index = googleTagManager;
module.exports = index;
;