Repository URL to install this package:
|
Version:
2.0.3 ▾
|
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
var fetch = require('./fetch.js');
var constants = require('../constants.js');
/**
* Factory that produces an async dispatcher configured for a specific tracking command
*
* @private
* @param {TRACKING_CMDS} trackingCommand - The tracking command to be sent
* @return {function} - A configured dispatcher
*/
var sendToDoodleDataLayer = function sendToDoodleDataLayer(trackingCommand) {
return (
/*#__PURE__*/
/**
* Sends a request to appropriate svc-data-layer endpoint according to trackingCommand
*
* @param {TrackingDefinitionData} destinationData - The tracking data formatted to the Doodle Data Layer API
* @param {TrackingApiOptions} options - The API client's options
* @return {Promise.<undefined|Object>}
*/
function () {
var _sendToDoodleDataLayerInner = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(destinationData, _ref) {
var clientId, svcDataLayerApi, headers, data;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
clientId = _ref.clientId, svcDataLayerApi = _ref.env.svcDataLayerApi;
headers = {
'Content-Type': 'application/json'
};
_context.next = 4;
return fetch.fetchApi({
headers: headers,
url: "".concat(svcDataLayerApi, "/").concat(trackingCommand, "?client_id=").concat(clientId),
method: 'POST',
body: JSON.stringify(destinationData),
asBeacon: true
});
case 4:
data = _context.sent;
return _context.abrupt("return", data);
case 6:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function sendToDoodleDataLayerInner(_x, _x2) {
return _sendToDoodleDataLayerInner.apply(this, arguments);
}
return sendToDoodleDataLayerInner;
}()
);
};
/** @async */
var trackDoodleDataLayer = sendToDoodleDataLayer(constants.TRACKING_CMDS.TRACK);
/** @async */
var identifyDoodleDataLayer = sendToDoodleDataLayer(constants.TRACKING_CMDS.IDENTIFY);
/** @async */
var pageDoodleDataLayer = sendToDoodleDataLayer(constants.TRACKING_CMDS.PAGE);
exports.identifyDoodleDataLayer = identifyDoodleDataLayer;
exports.pageDoodleDataLayer = pageDoodleDataLayer;
exports.sendToDoodleDataLayer = sendToDoodleDataLayer;
exports.trackDoodleDataLayer = trackDoodleDataLayer;
//# sourceMappingURL=doodleDataLayer.js.map