@grafana/faro-react 1.0.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +112 -0
- package/dist/cjs/errorBoundary/FaroErrorBoundary.d.ts +14 -0
- package/dist/cjs/errorBoundary/FaroErrorBoundary.js +85 -0
- package/dist/cjs/errorBoundary/FaroErrorBoundary.js.map +1 -0
- package/dist/cjs/errorBoundary/const.d.ts +2 -0
- package/dist/cjs/errorBoundary/const.js +8 -0
- package/dist/cjs/errorBoundary/const.js.map +1 -0
- package/dist/cjs/errorBoundary/index.d.ts +4 -0
- package/dist/cjs/errorBoundary/index.js +10 -0
- package/dist/cjs/errorBoundary/index.js.map +1 -0
- package/dist/cjs/errorBoundary/types.d.ts +19 -0
- package/dist/cjs/errorBoundary/types.js +3 -0
- package/dist/cjs/errorBoundary/types.js.map +1 -0
- package/dist/cjs/errorBoundary/withFaroErrorBoundary.d.ts +3 -0
- package/dist/cjs/errorBoundary/withFaroErrorBoundary.js +31 -0
- package/dist/cjs/errorBoundary/withFaroErrorBoundary.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.js +101 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/instrumentation.d.ts +9 -0
- package/dist/cjs/instrumentation.js +37 -0
- package/dist/cjs/instrumentation.js.map +1 -0
- package/dist/cjs/profiler/FaroProfiler.d.ts +24 -0
- package/dist/cjs/profiler/FaroProfiler.js +135 -0
- package/dist/cjs/profiler/FaroProfiler.js.map +1 -0
- package/dist/cjs/profiler/index.d.ts +3 -0
- package/dist/cjs/profiler/index.js +8 -0
- package/dist/cjs/profiler/index.js.map +1 -0
- package/dist/cjs/profiler/withFaroProfiler.d.ts +3 -0
- package/dist/cjs/profiler/withFaroProfiler.js +31 -0
- package/dist/cjs/profiler/withFaroProfiler.js.map +1 -0
- package/dist/cjs/router/index.d.ts +7 -0
- package/dist/cjs/router/index.js +15 -0
- package/dist/cjs/router/index.js.map +1 -0
- package/dist/cjs/router/initialize.d.ts +3 -0
- package/dist/cjs/router/initialize.js +24 -0
- package/dist/cjs/router/initialize.js.map +1 -0
- package/dist/cjs/router/types.d.ts +21 -0
- package/dist/cjs/router/types.js +16 -0
- package/dist/cjs/router/types.js.map +1 -0
- package/dist/cjs/router/v4v5/FaroRoute.d.ts +3 -0
- package/dist/cjs/router/v4v5/FaroRoute.js +26 -0
- package/dist/cjs/router/v4v5/FaroRoute.js.map +1 -0
- package/dist/cjs/router/v4v5/activeEvent.d.ts +5 -0
- package/dist/cjs/router/v4v5/activeEvent.js +25 -0
- package/dist/cjs/router/v4v5/activeEvent.js.map +1 -0
- package/dist/cjs/router/v4v5/dependencies.d.ts +9 -0
- package/dist/cjs/router/v4v5/dependencies.js +16 -0
- package/dist/cjs/router/v4v5/dependencies.js.map +1 -0
- package/dist/cjs/router/v4v5/index.d.ts +4 -0
- package/dist/cjs/router/v4v5/index.js +10 -0
- package/dist/cjs/router/v4v5/index.js.map +1 -0
- package/dist/cjs/router/v4v5/initialize.d.ts +3 -0
- package/dist/cjs/router/v4v5/initialize.js +30 -0
- package/dist/cjs/router/v4v5/initialize.js.map +1 -0
- package/dist/cjs/router/v4v5/types.d.ts +16 -0
- package/dist/cjs/router/v4v5/types.js +3 -0
- package/dist/cjs/router/v4v5/types.js.map +1 -0
- package/dist/cjs/router/v6/FaroRoutes.d.ts +3 -0
- package/dist/cjs/router/v6/FaroRoutes.js +39 -0
- package/dist/cjs/router/v6/FaroRoutes.js.map +1 -0
- package/dist/cjs/router/v6/dependencies.d.ts +11 -0
- package/dist/cjs/router/v6/dependencies.js +19 -0
- package/dist/cjs/router/v6/dependencies.js.map +1 -0
- package/dist/cjs/router/v6/index.d.ts +4 -0
- package/dist/cjs/router/v6/index.js +10 -0
- package/dist/cjs/router/v6/index.js.map +1 -0
- package/dist/cjs/router/v6/initialize.d.ts +3 -0
- package/dist/cjs/router/v6/initialize.js +15 -0
- package/dist/cjs/router/v6/initialize.js.map +1 -0
- package/dist/cjs/router/v6/types.d.ts +35 -0
- package/dist/cjs/router/v6/types.js +3 -0
- package/dist/cjs/router/v6/types.js.map +1 -0
- package/dist/cjs/router/v6/utils.d.ts +4 -0
- package/dist/cjs/router/v6/utils.js +40 -0
- package/dist/cjs/router/v6/utils.js.map +1 -0
- package/dist/cjs/types.d.ts +12 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/const.d.ts +1 -0
- package/dist/cjs/utils/const.js +5 -0
- package/dist/cjs/utils/const.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.js +14 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/reactVersion.d.ts +7 -0
- package/dist/cjs/utils/reactVersion.js +24 -0
- package/dist/cjs/utils/reactVersion.js.map +1 -0
- package/dist/esm/errorBoundary/FaroErrorBoundary.d.ts +14 -0
- package/dist/esm/errorBoundary/FaroErrorBoundary.js +63 -0
- package/dist/esm/errorBoundary/FaroErrorBoundary.js.map +1 -0
- package/dist/esm/errorBoundary/const.d.ts +2 -0
- package/dist/esm/errorBoundary/const.js +5 -0
- package/dist/esm/errorBoundary/const.js.map +1 -0
- package/dist/esm/errorBoundary/index.d.ts +4 -0
- package/dist/esm/errorBoundary/index.js +4 -0
- package/dist/esm/errorBoundary/index.js.map +1 -0
- package/dist/esm/errorBoundary/types.d.ts +19 -0
- package/dist/esm/errorBoundary/types.js +2 -0
- package/dist/esm/errorBoundary/types.js.map +1 -0
- package/dist/esm/errorBoundary/withFaroErrorBoundary.d.ts +3 -0
- package/dist/esm/errorBoundary/withFaroErrorBoundary.js +13 -0
- package/dist/esm/errorBoundary/withFaroErrorBoundary.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instrumentation.d.ts +9 -0
- package/dist/esm/instrumentation.js +14 -0
- package/dist/esm/instrumentation.js.map +1 -0
- package/dist/esm/profiler/FaroProfiler.d.ts +24 -0
- package/dist/esm/profiler/FaroProfiler.js +86 -0
- package/dist/esm/profiler/FaroProfiler.js.map +1 -0
- package/dist/esm/profiler/index.d.ts +3 -0
- package/dist/esm/profiler/index.js +3 -0
- package/dist/esm/profiler/index.js.map +1 -0
- package/dist/esm/profiler/withFaroProfiler.d.ts +3 -0
- package/dist/esm/profiler/withFaroProfiler.js +13 -0
- package/dist/esm/profiler/withFaroProfiler.js.map +1 -0
- package/dist/esm/router/index.d.ts +7 -0
- package/dist/esm/router/index.js +5 -0
- package/dist/esm/router/index.js.map +1 -0
- package/dist/esm/router/initialize.d.ts +3 -0
- package/dist/esm/router/initialize.js +20 -0
- package/dist/esm/router/initialize.js.map +1 -0
- package/dist/esm/router/types.d.ts +21 -0
- package/dist/esm/router/types.js +13 -0
- package/dist/esm/router/types.js.map +1 -0
- package/dist/esm/router/v4v5/FaroRoute.d.ts +3 -0
- package/dist/esm/router/v4v5/FaroRoute.js +11 -0
- package/dist/esm/router/v4v5/FaroRoute.js.map +1 -0
- package/dist/esm/router/v4v5/activeEvent.d.ts +5 -0
- package/dist/esm/router/v4v5/activeEvent.js +19 -0
- package/dist/esm/router/v4v5/activeEvent.js.map +1 -0
- package/dist/esm/router/v4v5/dependencies.d.ts +9 -0
- package/dist/esm/router/v4v5/dependencies.js +14 -0
- package/dist/esm/router/v4v5/dependencies.js.map +1 -0
- package/dist/esm/router/v4v5/index.d.ts +4 -0
- package/dist/esm/router/v4v5/index.js +4 -0
- package/dist/esm/router/v4v5/index.js.map +1 -0
- package/dist/esm/router/v4v5/initialize.d.ts +3 -0
- package/dist/esm/router/v4v5/initialize.js +23 -0
- package/dist/esm/router/v4v5/initialize.js.map +1 -0
- package/dist/esm/router/v4v5/types.d.ts +16 -0
- package/dist/esm/router/v4v5/types.js +2 -0
- package/dist/esm/router/v4v5/types.js.map +1 -0
- package/dist/esm/router/v6/FaroRoutes.d.ts +3 -0
- package/dist/esm/router/v6/FaroRoutes.js +24 -0
- package/dist/esm/router/v6/FaroRoutes.js.map +1 -0
- package/dist/esm/router/v6/dependencies.d.ts +11 -0
- package/dist/esm/router/v6/dependencies.js +20 -0
- package/dist/esm/router/v6/dependencies.js.map +1 -0
- package/dist/esm/router/v6/index.d.ts +4 -0
- package/dist/esm/router/v6/index.js +4 -0
- package/dist/esm/router/v6/index.js.map +1 -0
- package/dist/esm/router/v6/initialize.d.ts +3 -0
- package/dist/esm/router/v6/initialize.js +8 -0
- package/dist/esm/router/v6/initialize.js.map +1 -0
- package/dist/esm/router/v6/types.d.ts +35 -0
- package/dist/esm/router/v6/types.js +2 -0
- package/dist/esm/router/v6/types.js.map +1 -0
- package/dist/esm/router/v6/utils.d.ts +4 -0
- package/dist/esm/router/v6/utils.js +35 -0
- package/dist/esm/router/v6/utils.js.map +1 -0
- package/dist/esm/types.d.ts +12 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/const.d.ts +1 -0
- package/dist/esm/utils/const.js +2 -0
- package/dist/esm/utils/const.js.map +1 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/reactVersion.d.ts +7 -0
- package/dist/esm/utils/reactVersion.js +19 -0
- package/dist/esm/utils/reactVersion.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeReactRouterV4V5Instrumentation = exports.FaroRoute = exports.setReactRouterV4V5SSRDependencies = void 0;
|
|
4
|
+
var dependencies_1 = require("./dependencies");
|
|
5
|
+
Object.defineProperty(exports, "setReactRouterV4V5SSRDependencies", { enumerable: true, get: function () { return dependencies_1.setReactRouterV4V5SSRDependencies; } });
|
|
6
|
+
var FaroRoute_1 = require("./FaroRoute");
|
|
7
|
+
Object.defineProperty(exports, "FaroRoute", { enumerable: true, get: function () { return FaroRoute_1.FaroRoute; } });
|
|
8
|
+
var initialize_1 = require("./initialize");
|
|
9
|
+
Object.defineProperty(exports, "initializeReactRouterV4V5Instrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterV4V5Instrumentation; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v4v5/index.ts"],"names":[],"mappings":";;;AAAA,+CAAmE;AAA1D,iIAAA,iCAAiC,OAAA;AAE1C,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,2CAAwE;AAA/D,sIAAA,wCAAwC,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.initializeReactRouterV4V5Instrumentation = void 0;
|
|
7
|
+
var hoist_non_react_statics_1 = __importDefault(require("hoist-non-react-statics"));
|
|
8
|
+
var faro_web_sdk_1 = require("@grafana/faro-web-sdk");
|
|
9
|
+
var types_1 = require("../types");
|
|
10
|
+
var activeEvent_1 = require("./activeEvent");
|
|
11
|
+
var dependencies_1 = require("./dependencies");
|
|
12
|
+
var FaroRoute_1 = require("./FaroRoute");
|
|
13
|
+
function initializeReactRouterV4V5Instrumentation(dependencies, faro) {
|
|
14
|
+
var _a, _b, _c, _d;
|
|
15
|
+
var Route = dependencies.Route;
|
|
16
|
+
var componentDisplayName = (_a = Route.displayName) !== null && _a !== void 0 ? _a : Route.name;
|
|
17
|
+
FaroRoute_1.FaroRoute.displayName = "faroRoute(".concat(componentDisplayName, ")");
|
|
18
|
+
(0, hoist_non_react_statics_1.default)(FaroRoute_1.FaroRoute, Route);
|
|
19
|
+
(0, dependencies_1.setDependencies)(dependencies, faro);
|
|
20
|
+
(0, activeEvent_1.createNewActiveEvent)((_b = faro_web_sdk_1.globalObject.location) === null || _b === void 0 ? void 0 : _b.href);
|
|
21
|
+
(_d = (_c = dependencies.history).listen) === null || _d === void 0 ? void 0 : _d.call(_c, function (_location, action) {
|
|
22
|
+
var _a;
|
|
23
|
+
if (action === types_1.NavigationType.Push || action === types_1.NavigationType.Pop) {
|
|
24
|
+
(0, activeEvent_1.sendActiveEvent)();
|
|
25
|
+
(0, activeEvent_1.createNewActiveEvent)((_a = faro_web_sdk_1.globalObject.location) === null || _a === void 0 ? void 0 : _a.href);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
exports.initializeReactRouterV4V5Instrumentation = initializeReactRouterV4V5Instrumentation;
|
|
30
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v4v5/initialize.ts"],"names":[],"mappings":";;;;;;AAAA,oFAA2D;AAG3D,sDAAqD;AAGrD,kCAA0C;AAC1C,6CAAsE;AACtE,+CAAiD;AACjD,yCAAwC;AAGxC,SAAgB,wCAAwC,CAAC,YAAyC,EAAE,IAAU;;IAC5G,IAAM,KAAK,GAAG,YAAY,CAAC,KAA0B,CAAC;IACtD,IAAM,oBAAoB,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,KAAK,CAAC,IAAI,CAAC;IAC5D,qBAA+B,CAAC,WAAW,GAAG,oBAAa,oBAAoB,MAAG,CAAC;IACpF,IAAA,iCAAoB,EAAC,qBAAS,EAAE,KAAK,CAAC,CAAC;IAEvC,IAAA,8BAAe,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEpC,IAAA,kCAAoB,EAAC,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC;IAElD,MAAA,MAAA,YAAY,CAAC,OAAO,EAAC,MAAM,mDAAG,UAAC,SAAS,EAAE,MAAM;;QAC9C,IAAI,MAAM,KAAK,sBAAc,CAAC,IAAI,IAAI,MAAM,KAAK,sBAAc,CAAC,GAAG,EAAE;YACnE,IAAA,6BAAe,GAAE,CAAC;YAElB,IAAA,kCAAoB,EAAC,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC;SACnD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjBD,4FAiBC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactRouterHistory } from '../types';
|
|
2
|
+
export declare type ReactRouterV4V5RouteShape = any;
|
|
3
|
+
export interface ReactRouterV4V5RouteProps extends Record<string, any> {
|
|
4
|
+
computedMatch?: {
|
|
5
|
+
isExact: boolean;
|
|
6
|
+
path: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export interface ReactRouterV4V5Dependencies {
|
|
10
|
+
history: ReactRouterHistory;
|
|
11
|
+
Route: ReactRouterV4V5RouteShape;
|
|
12
|
+
}
|
|
13
|
+
export interface ReactRouterV4V5ActiveEvent extends Record<string, string> {
|
|
14
|
+
url: string;
|
|
15
|
+
route: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v4v5/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.FaroRoutes = void 0;
|
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
|
+
var react_1 = require("react");
|
|
17
|
+
var faro_web_sdk_1 = require("@grafana/faro-web-sdk");
|
|
18
|
+
var types_1 = require("../types");
|
|
19
|
+
var dependencies_1 = require("./dependencies");
|
|
20
|
+
var utils_1 = require("./utils");
|
|
21
|
+
function FaroRoutes(props) {
|
|
22
|
+
var _a;
|
|
23
|
+
var location = dependencies_1.useLocation === null || dependencies_1.useLocation === void 0 ? void 0 : (0, dependencies_1.useLocation)();
|
|
24
|
+
var navigationType = dependencies_1.useNavigationType === null || dependencies_1.useNavigationType === void 0 ? void 0 : (0, dependencies_1.useNavigationType)();
|
|
25
|
+
var routes = (0, react_1.useMemo)(function () { var _a; return (_a = dependencies_1.createRoutesFromChildren === null || dependencies_1.createRoutesFromChildren === void 0 ? void 0 : (0, dependencies_1.createRoutesFromChildren)(props.children)) !== null && _a !== void 0 ? _a : []; }, [props.children]);
|
|
26
|
+
(0, react_1.useEffect)(function () {
|
|
27
|
+
var _a;
|
|
28
|
+
if (dependencies_1.isInitialized && (navigationType === types_1.NavigationType.Push || navigationType === types_1.NavigationType.Pop)) {
|
|
29
|
+
dependencies_1.faro.api.pushEvent('routeChange', {
|
|
30
|
+
url: (_a = faro_web_sdk_1.globalObject.location) === null || _a === void 0 ? void 0 : _a.href,
|
|
31
|
+
route: (0, utils_1.getRouteFromLocation)(routes, location),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}, [location, navigationType, routes]);
|
|
35
|
+
var ActualRoutes = (_a = props.routesComponent) !== null && _a !== void 0 ? _a : dependencies_1.Routes;
|
|
36
|
+
return (0, jsx_runtime_1.jsx)(ActualRoutes, __assign({}, props));
|
|
37
|
+
}
|
|
38
|
+
exports.FaroRoutes = FaroRoutes;
|
|
39
|
+
//# sourceMappingURL=FaroRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6/FaroRoutes.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA2C;AAE3C,sDAAqD;AAErD,kCAA0C;AAC1C,+CAAuH;AAEvH,iCAA+C;AAE/C,SAAgB,UAAU,CAAC,KAA+B;;IACxD,IAAM,QAAQ,GAAG,0BAAW,aAAX,0BAAW,2BAAX,0BAAW,GAAI,CAAC;IACjC,IAAM,cAAc,GAAG,gCAAiB,aAAjB,gCAAiB,2BAAjB,gCAAiB,GAAI,CAAC;IAE7C,IAAM,MAAM,GAAG,IAAA,eAAO,EAAC,sBAAM,OAAA,MAAA,uCAAwB,aAAxB,uCAAwB,2BAAxB,uCAAwB,EAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,IAAA,iBAAS,EAAC;;QACR,IAAI,4BAAa,IAAI,CAAC,cAAc,KAAK,sBAAc,CAAC,IAAI,IAAI,cAAc,KAAK,sBAAc,CAAC,GAAG,CAAC,EAAE;YACtG,mBAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE;gBAChC,GAAG,EAAE,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI;gBAChC,KAAK,EAAE,IAAA,4BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC;aAC9C,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,qBAAM,CAAC;IAErD,OAAO,uBAAC,YAAY,eAAK,KAAK,EAAI,CAAC;AACrC,CAAC;AAlBD,gCAkBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Faro } from '@grafana/faro-web-sdk';
|
|
2
|
+
import type { ReactRouterV6CreateRoutesFromChildren, ReactRouterV6Dependencies, ReactRouterV6MatchRoutes, ReactRouterV6RoutesShape, ReactRouterV6UseLocation, ReactRouterV6UseNavigationType } from './types';
|
|
3
|
+
export declare let isInitialized: boolean;
|
|
4
|
+
export declare let faro: Faro;
|
|
5
|
+
export declare let createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;
|
|
6
|
+
export declare let matchRoutes: ReactRouterV6MatchRoutes;
|
|
7
|
+
export declare let Routes: ReactRouterV6RoutesShape;
|
|
8
|
+
export declare let useLocation: ReactRouterV6UseLocation;
|
|
9
|
+
export declare let useNavigationType: ReactRouterV6UseNavigationType;
|
|
10
|
+
export declare function setDependencies(newDependencies: ReactRouterV6Dependencies, newFaro: Faro): void;
|
|
11
|
+
export declare function setReactRouterV6SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setReactRouterV6SSRDependencies = exports.setDependencies = exports.useNavigationType = exports.useLocation = exports.Routes = exports.matchRoutes = exports.createRoutesFromChildren = exports.faro = exports.isInitialized = void 0;
|
|
4
|
+
exports.isInitialized = false;
|
|
5
|
+
function setDependencies(newDependencies, newFaro) {
|
|
6
|
+
exports.isInitialized = true;
|
|
7
|
+
exports.faro = newFaro;
|
|
8
|
+
exports.createRoutesFromChildren = newDependencies.createRoutesFromChildren;
|
|
9
|
+
exports.matchRoutes = newDependencies.matchRoutes;
|
|
10
|
+
exports.Routes = newDependencies.Routes;
|
|
11
|
+
exports.useLocation = newDependencies.useLocation;
|
|
12
|
+
exports.useNavigationType = newDependencies.useNavigationType;
|
|
13
|
+
}
|
|
14
|
+
exports.setDependencies = setDependencies;
|
|
15
|
+
function setReactRouterV6SSRDependencies(newDependencies) {
|
|
16
|
+
exports.Routes = newDependencies.Routes;
|
|
17
|
+
}
|
|
18
|
+
exports.setReactRouterV6SSRDependencies = setReactRouterV6SSRDependencies;
|
|
19
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/router/v6/dependencies.ts"],"names":[],"mappings":";;;AAWW,QAAA,aAAa,GAAG,KAAK,CAAC;AAQjC,SAAgB,eAAe,CAAC,eAA0C,EAAE,OAAa;IACvF,qBAAa,GAAG,IAAI,CAAC;IAErB,YAAI,GAAG,OAAO,CAAC;IACf,gCAAwB,GAAG,eAAe,CAAC,wBAAwB,CAAC;IACpE,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAChC,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,yBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;AACxD,CAAC;AATD,0CASC;AAED,SAAgB,+BAA+B,CAAC,eAA0D;IACxG,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC;AAFD,0EAEC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { setReactRouterV6SSRDependencies } from './dependencies';
|
|
2
|
+
export { FaroRoutes } from './FaroRoutes';
|
|
3
|
+
export { initializeReactRouterV6Instrumentation } from './initialize';
|
|
4
|
+
export type { ReactRouterV6CreateRoutesFromChildren, ReactRouterV6Dependencies, ReactRouterV6MatchRoutes, ReactRouterV6Params, ReactRouterV6RouteMatch, ReactRouterV6RouteObject, ReactRouterV6RoutesProps, ReactRouterV6RoutesShape, ReactRouterV6UseLocation, ReactRouterV6UseNavigationType, } from './types';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeReactRouterV6Instrumentation = exports.FaroRoutes = exports.setReactRouterV6SSRDependencies = void 0;
|
|
4
|
+
var dependencies_1 = require("./dependencies");
|
|
5
|
+
Object.defineProperty(exports, "setReactRouterV6SSRDependencies", { enumerable: true, get: function () { return dependencies_1.setReactRouterV6SSRDependencies; } });
|
|
6
|
+
var FaroRoutes_1 = require("./FaroRoutes");
|
|
7
|
+
Object.defineProperty(exports, "FaroRoutes", { enumerable: true, get: function () { return FaroRoutes_1.FaroRoutes; } });
|
|
8
|
+
var initialize_1 = require("./initialize");
|
|
9
|
+
Object.defineProperty(exports, "initializeReactRouterV6Instrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterV6Instrumentation; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6/index.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAAxD,+HAAA,+BAA+B,OAAA;AAExC,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,2CAAsE;AAA7D,oIAAA,sCAAsC,OAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.initializeReactRouterV6Instrumentation = void 0;
|
|
7
|
+
var hoist_non_react_statics_1 = __importDefault(require("hoist-non-react-statics"));
|
|
8
|
+
var dependencies_1 = require("./dependencies");
|
|
9
|
+
var FaroRoutes_1 = require("./FaroRoutes");
|
|
10
|
+
function initializeReactRouterV6Instrumentation(dependencies, faro) {
|
|
11
|
+
(0, hoist_non_react_statics_1.default)(FaroRoutes_1.FaroRoutes, dependencies.Routes);
|
|
12
|
+
(0, dependencies_1.setDependencies)(dependencies, faro);
|
|
13
|
+
}
|
|
14
|
+
exports.initializeReactRouterV6Instrumentation = initializeReactRouterV6Instrumentation;
|
|
15
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6/initialize.ts"],"names":[],"mappings":";;;;;;AAAA,oFAA2D;AAI3D,+CAAiD;AACjD,2CAA0C;AAG1C,SAAgB,sCAAsC,CAAC,YAAuC,EAAE,IAAU;IACxG,IAAA,iCAAoB,EAAC,uBAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAA,8BAAe,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAJD,wFAIC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { ReactRouterLocation } from '../types';
|
|
3
|
+
export interface ReactRouterV6RouteObject {
|
|
4
|
+
caseSensitive?: boolean;
|
|
5
|
+
children?: ReactRouterV6RouteObject[];
|
|
6
|
+
element?: ReactNode;
|
|
7
|
+
index?: boolean;
|
|
8
|
+
path?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ReactRouterV6RoutesProps {
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
location?: Partial<ReactRouterLocation> | string;
|
|
13
|
+
routesComponent?: ReactRouterV6RoutesShape;
|
|
14
|
+
}
|
|
15
|
+
export declare type ReactRouterV6Params<Key extends string = string> = {
|
|
16
|
+
readonly [key in Key]: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
export interface ReactRouterV6RouteMatch<ParamKey extends string = string> {
|
|
19
|
+
params: ReactRouterV6Params<ParamKey>;
|
|
20
|
+
pathname: string;
|
|
21
|
+
pathnameBase: string;
|
|
22
|
+
route: ReactRouterV6RouteObject;
|
|
23
|
+
}
|
|
24
|
+
export declare type ReactRouterV6CreateRoutesFromChildren = (children: ReactNode) => ReactRouterV6RouteObject[];
|
|
25
|
+
export declare type ReactRouterV6MatchRoutes = (routes: ReactRouterV6RouteObject[], location: Partial<ReactRouterLocation> | string, basename?: string) => ReactRouterV6RouteMatch[] | null;
|
|
26
|
+
export declare type ReactRouterV6RoutesShape = (props: ReactRouterV6RoutesProps) => ReactElement | null;
|
|
27
|
+
export declare type ReactRouterV6UseLocation = () => ReactRouterLocation;
|
|
28
|
+
export declare type ReactRouterV6UseNavigationType = () => 'POP' | 'PUSH' | 'REPLACE';
|
|
29
|
+
export interface ReactRouterV6Dependencies {
|
|
30
|
+
createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;
|
|
31
|
+
matchRoutes: ReactRouterV6MatchRoutes;
|
|
32
|
+
Routes: ReactRouterV6RoutesShape;
|
|
33
|
+
useLocation: ReactRouterV6UseLocation;
|
|
34
|
+
useNavigationType: ReactRouterV6UseNavigationType;
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v6/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ReactRouterLocation } from '../types';
|
|
2
|
+
import type { ReactRouterV6RouteObject } from './types';
|
|
3
|
+
export declare function getNumberOfUrlSegments(url: string): number;
|
|
4
|
+
export declare function getRouteFromLocation(routes: ReactRouterV6RouteObject[], location: ReactRouterLocation): string;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRouteFromLocation = exports.getNumberOfUrlSegments = void 0;
|
|
4
|
+
var dependencies_1 = require("./dependencies");
|
|
5
|
+
function getNumberOfUrlSegments(url) {
|
|
6
|
+
return url.split(/\\?\//).filter(function (currentSegment) { return currentSegment.length > 0 && currentSegment !== ','; }).length;
|
|
7
|
+
}
|
|
8
|
+
exports.getNumberOfUrlSegments = getNumberOfUrlSegments;
|
|
9
|
+
function getRouteFromLocation(routes, location) {
|
|
10
|
+
if (!routes || routes.length === 0) {
|
|
11
|
+
return location.pathname;
|
|
12
|
+
}
|
|
13
|
+
var matchedRoutes = (0, dependencies_1.matchRoutes)(routes, location);
|
|
14
|
+
var pathBuilder = '';
|
|
15
|
+
if (matchedRoutes) {
|
|
16
|
+
for (var x = 0; x < matchedRoutes.length; x++) {
|
|
17
|
+
var branch = matchedRoutes[x];
|
|
18
|
+
var route = branch.route;
|
|
19
|
+
if (route) {
|
|
20
|
+
if (route.index) {
|
|
21
|
+
return branch.pathname;
|
|
22
|
+
}
|
|
23
|
+
var path = route.path;
|
|
24
|
+
if (path) {
|
|
25
|
+
path = path.startsWith('/') ? path : "/".concat(path);
|
|
26
|
+
pathBuilder += path;
|
|
27
|
+
if (branch.pathname === location.pathname) {
|
|
28
|
+
if (getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname)) {
|
|
29
|
+
return path;
|
|
30
|
+
}
|
|
31
|
+
return pathBuilder;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return location.pathname;
|
|
38
|
+
}
|
|
39
|
+
exports.getRouteFromLocation = getRouteFromLocation;
|
|
40
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/router/v6/utils.ts"],"names":[],"mappings":";;;AACA,+CAA6C;AAG7C,SAAgB,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAC,cAAc,IAAK,OAAA,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,KAAK,GAAG,EAAnD,CAAmD,CAAC,CAAC,MAAM,CAAC;AACnH,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,MAAkC,EAAE,QAA6B;IACpG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,OAAO,QAAQ,CAAC,QAAQ,CAAC;KAC1B;IAED,IAAM,aAAa,GAAG,IAAA,0BAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,IAAI,aAAa,EAAE;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;YACjC,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,IAAI,KAAK,EAAE;gBACT,IAAI,KAAK,CAAC,KAAK,EAAE;oBACf,OAAO,MAAM,CAAC,QAAQ,CAAC;iBACxB;gBAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAEtB,IAAI,IAAI,EAAE;oBACR,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAI,IAAI,CAAE,CAAC;oBAEhD,WAAW,IAAI,IAAI,CAAC;oBAEpB,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;wBACzC,IAAI,sBAAsB,CAAC,WAAW,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;4BACnF,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,WAAW,CAAC;qBACpB;iBACF;aACF;SACF;KACF;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;AAC3B,CAAC;AAvCD,oDAuCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ReactRouterV4V5Dependencies, ReactRouterV6Dependencies, ReactRouterVersion } from './router';
|
|
2
|
+
export interface ReactRouterV4V5Config {
|
|
3
|
+
version: ReactRouterVersion.V4 | ReactRouterVersion.V5;
|
|
4
|
+
dependencies: ReactRouterV4V5Dependencies;
|
|
5
|
+
}
|
|
6
|
+
export interface ReactRouterV6Config {
|
|
7
|
+
version: ReactRouterVersion.V6;
|
|
8
|
+
dependencies: ReactRouterV6Dependencies;
|
|
9
|
+
}
|
|
10
|
+
export interface ReactIntegrationConfig {
|
|
11
|
+
router?: ReactRouterV4V5Config | ReactRouterV6Config;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const unknownString = "unknown";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/utils/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reactVersionMajor = exports.reactVersion = exports.isReactVersionAtLeast18 = exports.isReactVersionAtLeast17 = exports.isReactVersionAtLeast16 = exports.isReactVersionAtLeast = exports.getMajorReactVersion = exports.unknownString = void 0;
|
|
4
|
+
var const_1 = require("./const");
|
|
5
|
+
Object.defineProperty(exports, "unknownString", { enumerable: true, get: function () { return const_1.unknownString; } });
|
|
6
|
+
var reactVersion_1 = require("./reactVersion");
|
|
7
|
+
Object.defineProperty(exports, "getMajorReactVersion", { enumerable: true, get: function () { return reactVersion_1.getMajorReactVersion; } });
|
|
8
|
+
Object.defineProperty(exports, "isReactVersionAtLeast", { enumerable: true, get: function () { return reactVersion_1.isReactVersionAtLeast; } });
|
|
9
|
+
Object.defineProperty(exports, "isReactVersionAtLeast16", { enumerable: true, get: function () { return reactVersion_1.isReactVersionAtLeast16; } });
|
|
10
|
+
Object.defineProperty(exports, "isReactVersionAtLeast17", { enumerable: true, get: function () { return reactVersion_1.isReactVersionAtLeast17; } });
|
|
11
|
+
Object.defineProperty(exports, "isReactVersionAtLeast18", { enumerable: true, get: function () { return reactVersion_1.isReactVersionAtLeast18; } });
|
|
12
|
+
Object.defineProperty(exports, "reactVersion", { enumerable: true, get: function () { return reactVersion_1.reactVersion; } });
|
|
13
|
+
Object.defineProperty(exports, "reactVersionMajor", { enumerable: true, get: function () { return reactVersion_1.reactVersionMajor; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAEtB,+CAQwB;AAPtB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA;AACvB,4GAAA,YAAY,OAAA;AACZ,iHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const reactVersion: string;
|
|
2
|
+
export declare const reactVersionMajor: number | null;
|
|
3
|
+
export declare const isReactVersionAtLeast18: boolean;
|
|
4
|
+
export declare const isReactVersionAtLeast17: boolean;
|
|
5
|
+
export declare const isReactVersionAtLeast16: boolean;
|
|
6
|
+
export declare function getMajorReactVersion(): number | null;
|
|
7
|
+
export declare function isReactVersionAtLeast(version: number): boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isReactVersionAtLeast = exports.getMajorReactVersion = exports.isReactVersionAtLeast16 = exports.isReactVersionAtLeast17 = exports.isReactVersionAtLeast18 = exports.reactVersionMajor = exports.reactVersion = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
exports.reactVersion = react_1.version;
|
|
6
|
+
exports.reactVersionMajor = getMajorReactVersion();
|
|
7
|
+
exports.isReactVersionAtLeast18 = isReactVersionAtLeast(18);
|
|
8
|
+
exports.isReactVersionAtLeast17 = isReactVersionAtLeast(17);
|
|
9
|
+
exports.isReactVersionAtLeast16 = isReactVersionAtLeast(16);
|
|
10
|
+
function getMajorReactVersion() {
|
|
11
|
+
var major = exports.reactVersion.split('.');
|
|
12
|
+
try {
|
|
13
|
+
return major[0] ? parseInt(major[0], 10) : null;
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.getMajorReactVersion = getMajorReactVersion;
|
|
20
|
+
function isReactVersionAtLeast(version) {
|
|
21
|
+
return exports.reactVersionMajor === null ? false : exports.reactVersionMajor >= version;
|
|
22
|
+
}
|
|
23
|
+
exports.isReactVersionAtLeast = isReactVersionAtLeast;
|
|
24
|
+
//# sourceMappingURL=reactVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactVersion.js","sourceRoot":"","sources":["../../../src/utils/reactVersion.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAEnB,QAAA,YAAY,GAAG,eAAO,CAAC;AACvB,QAAA,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;AAC3C,QAAA,uBAAuB,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACpD,QAAA,uBAAuB,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACpD,QAAA,uBAAuB,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAEjE,SAAgB,oBAAoB;IAClC,IAAM,KAAK,GAAG,oBAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI;QACF,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjD;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AARD,oDAQC;AAED,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,yBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAiB,IAAI,OAAO,CAAC;AAC3E,CAAC;AAFD,sDAEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import type { ErrorInfo, ReactNode } from 'react';
|
|
3
|
+
import type { FaroErrorBoundaryProps, FaroErrorBoundaryState } from './types';
|
|
4
|
+
export declare class FaroErrorBoundary extends Component<FaroErrorBoundaryProps, FaroErrorBoundaryState> {
|
|
5
|
+
state: FaroErrorBoundaryState;
|
|
6
|
+
constructor(props: FaroErrorBoundaryProps);
|
|
7
|
+
getErrorWithComponentStack(error: Error, errorInfo: ErrorInfo): Error;
|
|
8
|
+
static getDerivedStateFromError(error: Error): FaroErrorBoundaryState;
|
|
9
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
10
|
+
componentDidMount(): void;
|
|
11
|
+
componentWillUnmount(): void;
|
|
12
|
+
resetErrorBoundary(): void;
|
|
13
|
+
render(): ReactNode;
|
|
14
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Component, isValidElement } from 'react';
|
|
2
|
+
import { faro, isFunction } from '@grafana/faro-web-sdk';
|
|
3
|
+
import { isReactVersionAtLeast17 } from '../utils';
|
|
4
|
+
import { faroErrorBoundaryInitialState } from './const';
|
|
5
|
+
export class FaroErrorBoundary extends Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.state = faroErrorBoundaryInitialState;
|
|
9
|
+
this.resetErrorBoundary = this.resetErrorBoundary.bind(this);
|
|
10
|
+
}
|
|
11
|
+
getErrorWithComponentStack(error, errorInfo) {
|
|
12
|
+
if (!isReactVersionAtLeast17 || !errorInfo.componentStack) {
|
|
13
|
+
return error;
|
|
14
|
+
}
|
|
15
|
+
const newError = new Error(error.message);
|
|
16
|
+
newError.name = `React ErrorBoundary ${error.name}`;
|
|
17
|
+
newError.stack = errorInfo.componentStack;
|
|
18
|
+
return newError;
|
|
19
|
+
}
|
|
20
|
+
static getDerivedStateFromError(error) {
|
|
21
|
+
return {
|
|
22
|
+
hasError: true,
|
|
23
|
+
error,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
componentDidCatch(error, errorInfo) {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
28
|
+
const errorWithComponentStack = this.getErrorWithComponentStack(error, errorInfo);
|
|
29
|
+
(_b = (_a = this.props).beforeCapture) === null || _b === void 0 ? void 0 : _b.call(_a, errorWithComponentStack);
|
|
30
|
+
faro.api.pushError(errorWithComponentStack);
|
|
31
|
+
(_d = (_c = this.props).onError) === null || _d === void 0 ? void 0 : _d.call(_c, errorWithComponentStack);
|
|
32
|
+
this.setState({ hasError: true, error });
|
|
33
|
+
}
|
|
34
|
+
componentDidMount() {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
(_b = (_a = this.props).onMount) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
37
|
+
}
|
|
38
|
+
componentWillUnmount() {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
(_b = (_a = this.props).onUnmount) === null || _b === void 0 ? void 0 : _b.call(_a, this.state.error);
|
|
41
|
+
}
|
|
42
|
+
resetErrorBoundary() {
|
|
43
|
+
var _a, _b;
|
|
44
|
+
(_b = (_a = this.props).onReset) === null || _b === void 0 ? void 0 : _b.call(_a, this.state.error);
|
|
45
|
+
this.setState(faroErrorBoundaryInitialState);
|
|
46
|
+
}
|
|
47
|
+
render() {
|
|
48
|
+
if (!this.state.hasError) {
|
|
49
|
+
return isFunction(this.props.children) ? this.props.children() : this.props.children;
|
|
50
|
+
}
|
|
51
|
+
const element = !isFunction(this.props.fallback)
|
|
52
|
+
? this.props.fallback
|
|
53
|
+
: this.props.fallback(this.state.error, this.resetErrorBoundary);
|
|
54
|
+
if (isValidElement(element)) {
|
|
55
|
+
return element;
|
|
56
|
+
}
|
|
57
|
+
if (this.props.fallback) {
|
|
58
|
+
faro.internalLogger.warn('ErrorBoundary\n', 'Cannot get a valid ReactElement from "fallback"');
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=FaroErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FaroErrorBoundary.js","sourceRoot":"","sources":["../../../src/errorBoundary/FaroErrorBoundary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/errorBoundary/const.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,6BAA6B,GAA2B;IACnE,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,IAAI;CACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { faroErrorBoundaryInitialState } from './const';
|
|
2
|
+
export { FaroErrorBoundary } from './FaroErrorBoundary';
|
|
3
|
+
export type { FaroErrorBoundaryFallbackRender, FaroErrorBoundaryProps, FaroErrorBoundaryState, ReactNodeRender, ReactProps, } from './types';
|
|
4
|
+
export { withFaroErrorBoundary } from './withFaroErrorBoundary';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errorBoundary/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { Faro } from '@grafana/faro-web-sdk';
|
|
3
|
+
export declare type ReactNodeRender = () => ReactNode;
|
|
4
|
+
export declare type ReactProps = Record<string, any>;
|
|
5
|
+
export declare type FaroErrorBoundaryFallbackRender = (error: Error, resetError: VoidFunction) => ReactElement;
|
|
6
|
+
export interface FaroErrorBoundaryProps {
|
|
7
|
+
faro?: Faro;
|
|
8
|
+
beforeCapture?: (error: Error | null) => void;
|
|
9
|
+
children?: ReactNode | ReactNodeRender;
|
|
10
|
+
fallback?: ReactElement | FaroErrorBoundaryFallbackRender;
|
|
11
|
+
onError?: (error: Error) => void;
|
|
12
|
+
onMount?: VoidFunction;
|
|
13
|
+
onReset?: (error: Error | null) => void;
|
|
14
|
+
onUnmount?: (error: Error | null) => void;
|
|
15
|
+
}
|
|
16
|
+
export interface FaroErrorBoundaryState {
|
|
17
|
+
hasError: boolean;
|
|
18
|
+
error: Error | null;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/errorBoundary/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ComponentType, FC } from 'react';
|
|
2
|
+
import type { FaroErrorBoundaryProps, ReactProps } from './types';
|
|
3
|
+
export declare function withFaroErrorBoundary<P extends ReactProps = {}>(WrappedComponent: ComponentType<P>, errorBoundaryProps: FaroErrorBoundaryProps): FC<P>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
3
|
+
import { unknownString } from '../utils';
|
|
4
|
+
import { FaroErrorBoundary } from './FaroErrorBoundary';
|
|
5
|
+
export function withFaroErrorBoundary(WrappedComponent, errorBoundaryProps) {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
const componentDisplayName = (_b = (_a = WrappedComponent.displayName) !== null && _a !== void 0 ? _a : WrappedComponent.name) !== null && _b !== void 0 ? _b : unknownString;
|
|
8
|
+
const Component = (wrappedComponentProps) => (_jsx(FaroErrorBoundary, Object.assign({}, errorBoundaryProps, { children: _jsx(WrappedComponent, Object.assign({}, wrappedComponentProps)) })));
|
|
9
|
+
Component.displayName = `faroErrorBoundary(${componentDisplayName})`;
|
|
10
|
+
hoistNonReactStatics(Component, WrappedComponent);
|
|
11
|
+
return Component;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=withFaroErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withFaroErrorBoundary.js","sourceRoot":"","sources":["../../../src/errorBoundary/withFaroErrorBoundary.tsx"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,UAAU,qBAAqB,CACnC,gBAAkC,EAClC,kBAA0C;;IAE1C,MAAM,oBAAoB,GAAG,MAAA,MAAA,gBAAgB,CAAC,WAAW,mCAAI,gBAAgB,CAAC,IAAI,mCAAI,aAAa,CAAC;IAEpG,MAAM,SAAS,GAAU,CAAC,qBAAwB,EAAE,EAAE,CAAC,CACrD,KAAC,iBAAiB,oBAAK,kBAAkB,cACvC,KAAC,gBAAgB,oBAAK,qBAAqB,EAAI,IAC7B,CACrB,CAAC;IAEF,SAAS,CAAC,WAAW,GAAG,qBAAqB,oBAAoB,GAAG,CAAC;IAErE,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';
|
|
2
|
+
export type { FaroErrorBoundaryFallbackRender, FaroErrorBoundaryProps, FaroErrorBoundaryState, ReactNodeRender, ReactProps, } from './errorBoundary';
|
|
3
|
+
export { ReactIntegration } from './instrumentation';
|
|
4
|
+
export { FaroProfiler, withFaroProfiler } from './profiler';
|
|
5
|
+
export type { FaroProfilerProps } from './profiler';
|
|
6
|
+
export { FaroRoute, FaroRoutes, NavigationType, ReactRouterVersion, setReactRouterV4V5SSRDependencies, setReactRouterV6SSRDependencies, } from './router';
|
|
7
|
+
export type { ReactRouterHistory, ReactRouterLocation, ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape, ReactRouterV6CreateRoutesFromChildren, ReactRouterV6Dependencies, ReactRouterV6MatchRoutes, ReactRouterV6Params, ReactRouterV6RouteMatch, ReactRouterV6RouteObject, ReactRouterV6RoutesProps, ReactRouterV6RoutesShape, ReactRouterV6UseLocation, ReactRouterV6UseNavigationType, } from './router';
|
|
8
|
+
export type { ReactIntegrationConfig, ReactRouterV4V5Config, ReactRouterV6Config } from './types';
|
|
9
|
+
export { getMajorReactVersion, isReactVersionAtLeast, isReactVersionAtLeast16, isReactVersionAtLeast17, isReactVersionAtLeast18, reactVersion, reactVersionMajor, } from './utils';
|
|
10
|
+
export { faro, allLogLevels, BaseExtension, BaseInstrumentation, BaseTransport, browserMeta, buildStackFrame, ConsoleInstrumentation, ConsoleTransport, Conventions, createInternalLogger, createPromiseBuffer, createSession, deepEqual, defaultExceptionType, defaultEventDomain, defaultGlobalObjectKey, defaultInternalLoggerLevel, defaultLogLevel, defaultMetas, ErrorsInstrumentation, FetchTransport, getCurrentTimestamp, getDataFromSafariExtensions, getInternalFaroFromGlobalObject, getStackFramesFromError, getTransportBody, getWebInstrumentations, globalObject, initializeFaro, internalGlobalObjectKey, isArray, isBoolean, isDomError, isDomException, isElement, isElementDefined, isError, isErrorDefined, isErrorEvent, isEvent, isEventDefined, isFunction, isInstanceOf, isInt, isInternalFaroOnGlobalObject, isMap, isMapDefined, isNull, isNumber, isObject, isPrimitive, isRegExp, isString, isSymbol, isSyntheticEvent, isThenable, isToString, isTypeof, isUndefined, InternalLoggerLevel, LogLevel, makeCoreConfig, noop, pageMeta, parseStacktrace, setInternalFaroOnGlobalObject, TransportItemType, transportItemTypeToBodyKey, VERSION, WebVitalsInstrumentation, } from '@grafana/faro-web-sdk';
|
|
11
|
+
export type { Faro, API, APIEvent, BaseObject, BaseObjectKey, BaseObjectPrimitiveValue, BaseObjectValue, BeforeSendHook, BrowserConfig, Config, ConsoleInstrumentationOptions, ConsoleTransportOptions, ErrorEvent, ExceptionEvent, ExceptionStackFrame, ExceptionsAPI, ExtendedError, ExtendedPromiseRejectionEvent, FetchTransportOptions, FetchTransportRequestOptions, GlobalObject, Instrumentation, InstrumentationLibrarySpan, Instrumentations, InternalLogger, LogContext, LogEvent, LogsAPI, MeasurementEvent, MeasurementsAPI, Meta, MetaAPI, MetaApp, MetaAttributes, MetaBrowser, MetaGetter, MetaItem, MetaPage, Metas, MetaSDK, MetaSDKIntegration, MetaSession, MetaUser, OTELApi, Patterns, PushErrorOptions, PushLogOptions, PushMeasurementOptions, ResourceSpan, Stacktrace, StacktraceParser, TraceContext, TraceEvent, TracesAPI, Transport, TransportBody, TransportItem, TransportItemPayload, Transports, UnpatchedConsole, } from '@grafana/faro-web-sdk';
|