@kiwicom/smart-faq
Version:
117 lines (99 loc) • 2.8 kB
JavaScript
/*:: import type {
CuckooAction,
CuckooEvent,
CuckooErrorEvent,
CuckooError,
CuckooProps,
Subcategory,
CuckooLogger,
} from './cuckooTypes';*/
;
require("core-js/modules/es.symbol");
require("core-js/modules/es.array.concat");
require("core-js/modules/es.array.filter");
require("core-js/modules/es.object.get-own-property-descriptor");
require("core-js/modules/es.object.keys");
require("core-js/modules/web.dom-collections.for-each");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.track = exports.error = exports.setTracker = void 0;
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; }
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; }
// @flow
/* eslint-disable no-console */
var printEventInfo = function printEventInfo(event, props) {
if (process.env.NODE_ENV === 'test') return;
console.info(event.subcategory, event.action, props);
};
var tracker = {
track: function track(event
/*: CuckooEvent*/
, props
/*: ?CuckooProps*/
) {
printEventInfo(event, props);
},
warning: function warning(event
/*: CuckooEvent*/
, props
/*: ?CuckooProps*/
) {
printEventInfo(event, props);
},
error: function error(event
/*: CuckooErrorEvent*/
, props
/*: ?CuckooProps*/
) {
printEventInfo(event, props);
}
};
var setTracker = function setTracker(cuckoo
/*: CuckooLogger*/
) {
tracker = cuckoo;
};
exports.setTracker = setTracker;
var error = function error(errorType
/*: CuckooError*/
, _error
/*: ?Error*/
, props
/*: ?CuckooProps*/
) {
return tracker.error({
category: 'smartFAQ',
subcategory: 'Error',
action: errorType,
destinations: {
logmole: true,
exponea: false,
ga: false,
bigQuery: true
}
}, _objectSpread({}, props || {}, {
originalError: _error
}));
};
exports.error = error;
var track = function track(subcategory
/*: Subcategory*/
, action
/*: CuckooAction*/
, props
/*: ?CuckooProps*/
) {
tracker.track({
category: 'smartFAQ',
subcategory: subcategory,
action: action,
destinations: {
logmole: false,
exponea: true,
ga: false,
bigQuery: true
}
}, props);
};
exports.track = track;