UNPKG

@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.

86 lines (83 loc) 2.68 kB
"use client"; import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js'; import { Component } from 'react'; import PropTypes from 'prop-types'; import { Context, getRollbarFromContext } from './Provider.js'; var RollbarContext = /*#__PURE__*/function (_Component) { _inherits(RollbarContext, _Component); function RollbarContext(props) { var _this; _classCallCheck(this, RollbarContext); _this = _callSuper(this, RollbarContext, [props]); _defineProperty(_assertThisInitialized(_this), "firstRender", true); _defineProperty(_assertThisInitialized(_this), "changeContext", function () { var storePrevious = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; var rollbar = getRollbarFromContext(_this.context); var context = _this.props.context; if (storePrevious) { _this.setState({ previousContext: rollbar.options.payload.context }); } rollbar.configure({ payload: { context: context } }); }); _this.state = { previousContext: null }; return _this; } _createClass(RollbarContext, [{ key: "componentDidMount", value: function componentDidMount() { var onRender = this.props.onRender; if (!onRender) { this.changeContext(true); } } }, { key: "componentDidUpdate", value: function componentDidUpdate() { var onRender = this.props.onRender; if (!onRender) { this.changeContext(false); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { var rollbar = getRollbarFromContext(this.context); var previousContext = this.state.previousContext; rollbar.configure({ payload: { context: previousContext } }); } }, { key: "render", value: function render() { var onRender = this.props.onRender; if (onRender && this.firstRender) { this.changeContext(true); } this.firstRender = false; return this.props.children; } }]); return RollbarContext; }(Component); _defineProperty(RollbarContext, "propTypes", { context: PropTypes.string.isRequired, onRender: PropTypes.bool, children: PropTypes.node }); _defineProperty(RollbarContext, "defaultProps", { onRender: false }); _defineProperty(RollbarContext, "contextType", Context); export { RollbarContext }; //# sourceMappingURL=RollbarContext.js.map