Repository URL to install this package:
|
Version:
1.1.0 ▾
|
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var getBasicAnalyticsData = require('./helpers/getBasicAnalyticsData.js');
var getDefaultTrackingFields = require('./helpers/getDefaultTrackingFields.js');
/**
* Async function to push tracking data to Google Analytics' data layer
*
* @param {TrackingDefinitionData} trackingData The data that needs to be tracked
* @param {TrackingDefinitionOptions} [trackingOptions]
* @param {string} [trackingOptions.pageType] - Will be pushed as `page.pageType` to the dataLayer
* @param {string} [trackingOptions.event]
* @param {Object} [trackingOptions.env]
* @return {Promise<boolean>}
*/
const trackGa = (trackingData, {
pageType,
event,
env: {
DOODLE_ENV,
NODE_ENV
} = {}
} = {}) => new Promise((resolve, reject) => {
try {
const destinationData = { ...getBasicAnalyticsData.getBasicAnalyticsData(pageType, {
DOODLE_ENV,
NODE_ENV
}),
...getDefaultTrackingFields.getDefaultTrackingFields(event),
...trackingData
};
return window.dataLayer.push(destinationData, resolve);
} catch (e) {
console.error('Error calling trackGa');
reject(e);
}
});
exports.trackGa = trackGa;
//# sourceMappingURL=index.js.map