@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
112 lines (93 loc) • 2.84 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.metricsMiddleware = void 0;
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
var _crisp = require("../actions/crisp");
var _reduxMetrics = _interopRequireDefault(require("@randy.tarampi/redux-metrics"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var metricsMiddleware = function metricsMiddleware() {
return function (next) {
return function (action) {
next(action);
var trackReduxAction = _reduxMetrics["default"] && _reduxMetrics["default"].api && (0, _isFunction2["default"])(_reduxMetrics["default"].api.trackReduxAction) && _reduxMetrics["default"].api.trackReduxAction;
if (!trackReduxAction) {
return;
}
switch (action.type) {
case _crisp.CRISP_CHAT_CLOSED:
trackReduxAction([action, {
crisp: {
chat: "closed"
}
}]);
break;
case _crisp.CRISP_CHAT_OPENED:
trackReduxAction([action, {
crisp: {
chat: "open"
}
}]);
break;
case _crisp.CRISP_SESSION_LOADED:
trackReduxAction([action, {
crisp: {
session_id: action.payload
}
}]);
break;
case _crisp.CRISP_MESSAGE_SENT:
trackReduxAction([action, {
crisp: {
user_id: action.payload.user.user_id
},
user: {
name: action.payload.user.nickname
}
}]);
break;
case _crisp.CRISP_USER_AVATAR_CHANGED:
trackReduxAction([action, {
user: {
avatar: action.payload
}
}]);
break;
case _crisp.CRISP_USER_EMAIL_CHANGED:
trackReduxAction([action, {
user: {
email: action.payload
}
}]);
break;
case _crisp.CRISP_USER_NICKNAME_CHANGED:
trackReduxAction([action, {
user: {
name: action.payload
}
}]);
break;
case _crisp.CRISP_USER_PHONE_CHANGED:
trackReduxAction([action, {
user: {
phone: action.payload
}
}]);
break;
case _crisp.CRISP_WEBSITE_AVAILABILITY_CHANGED:
trackReduxAction([action, {
app: {
availability: action.payload
}
}]);
break;
default:
trackReduxAction([action]);
}
};
};
};
exports.metricsMiddleware = metricsMiddleware;
var _default = metricsMiddleware;
exports["default"] = _default;