@grafana/faro-react
Version:
Faro package that enables easier integration in projects built with React.
44 lines • 2.3 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createReactRouterV5Options = exports.createReactRouterV4Options = exports.initializeReactRouterV4V5Instrumentation = void 0;
var hoist_non_react_statics_1 = __importDefault(require("hoist-non-react-statics"));
var faro_web_sdk_1 = require("@grafana/faro-web-sdk");
var types_1 = require("../types");
var activeEvent_1 = require("./activeEvent");
var FaroRoute_1 = require("./FaroRoute");
var routerDependencies_1 = require("./routerDependencies");
function initializeReactRouterV4V5Instrumentation(dependencies) {
var _a, _b, _c, _d;
var Route = dependencies.Route;
var componentDisplayName = (_a = Route.displayName) !== null && _a !== void 0 ? _a : Route.name;
FaroRoute_1.FaroRoute.displayName = "faroRoute(".concat(componentDisplayName, ")");
(0, hoist_non_react_statics_1.default)(FaroRoute_1.FaroRoute, Route);
(0, routerDependencies_1.setReactRouterV4V5Dependencies)(dependencies);
(0, activeEvent_1.createNewActiveEvent)((_b = faro_web_sdk_1.globalObject.location) === null || _b === void 0 ? void 0 : _b.href);
(_d = (_c = dependencies.history).listen) === null || _d === void 0 ? void 0 : _d.call(_c, function (_location, action) {
var _a;
if (action === types_1.NavigationType.Push || action === types_1.NavigationType.Pop) {
(0, activeEvent_1.sendActiveEvent)();
(0, activeEvent_1.createNewActiveEvent)((_a = faro_web_sdk_1.globalObject.location) === null || _a === void 0 ? void 0 : _a.href);
}
});
}
exports.initializeReactRouterV4V5Instrumentation = initializeReactRouterV4V5Instrumentation;
function createReactRouterV4Options(dependencies) {
return {
version: types_1.ReactRouterVersion.V4,
dependencies: dependencies,
};
}
exports.createReactRouterV4Options = createReactRouterV4Options;
function createReactRouterV5Options(dependencies) {
return {
version: types_1.ReactRouterVersion.V5,
dependencies: dependencies,
};
}
exports.createReactRouterV5Options = createReactRouterV5Options;
//# sourceMappingURL=initialize.js.map
;