@rollbar/react
Version:
Effortlessly track and debug errors in your React applications with Rollbar. This package includes advanced error tracking features and a set of React-specific enhancements to help you identify and fix issues more quickly.
37 lines (34 loc) • 1.56 kB
JavaScript
import { typeof as _typeof } from './_virtual/_rollupPluginBabelHelpers.js';
import Rollbar from 'rollbar';
import invariant from './external/tiny-invariant/dist/esm/tiny-invariant.js';
function historyContext(rollbar) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
formatter = _ref.formatter,
filter = _ref.filter;
invariant(rollbar instanceof Rollbar, 'historyContext must have an instance of Rollbar');
invariant(formatter == null || typeof formatter === 'function', "formatter option must be a function, received ".concat(_typeof(formatter), " instead"));
invariant(filter == null || typeof filter === 'function', "filter option must be a function, received ".concat(_typeof(filter), " instead"));
// v4 of history.listen callback signature is (location, action)
// v5 of history.listen callback signature is ({ location, action })
// this implementation translates it to work for both
return function (v4location, v4action) {
var action = v4location.action,
location = v4location.location;
if (v4action) {
action = v4action;
location = v4location;
}
if (filter && !filter(location, action)) {
return;
}
var context = formatter ? formatter(location, action) : location.pathname;
invariant(typeof context === 'string', 'formatter must return a string value to set the context');
rollbar.configure({
payload: {
context: context
}
});
};
}
export { historyContext };
//# sourceMappingURL=historyContext.js.map