UNPKG

@kiwicom/smart-faq

Version:

117 lines (99 loc) 2.8 kB
/*:: import type { CuckooAction, CuckooEvent, CuckooErrorEvent, CuckooError, CuckooProps, Subcategory, CuckooLogger, } from './cuckooTypes';*/ "use strict"; 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;