UNPKG

aio-analytics

Version:

[Victor Tran](https://stackoverflow.com/users/11862231/victor-tran)

57 lines (56 loc) 1.79 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_ga_1 = __importDefault(require("react-ga")); var isInit = false; var initGA = function (gaId) { if (gaId) { react_ga_1.default.initialize(gaId); isInit = true; } else { isInit = false; } }; var logPageView = function (url) { if (!isInit) return; react_ga_1.default.set({ page: url }); react_ga_1.default.pageview(url); }; // args often contain category and action, value should be an valid object var logEvent = function (args, value) { if (!isInit) return; if (args && value) { var params = Object.values(value).reduce(function (pre, current) { if (typeof pre === 'string' || typeof pre === 'number') { return [pre, current]; } return __spreadArray(__spreadArray([], pre), [current]); }); react_ga_1.default.event(args, params); } }; var logException = function (description, fatal) { if (description === void 0) { description = ''; } if (fatal === void 0) { fatal = false; } if (!isInit) return; if (description) { react_ga_1.default.exception({ description: description, fatal: fatal }); } }; exports.default = { initGA: initGA, logPageView: logPageView, logEvent: logEvent, logException: logException };