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.

88 lines (84 loc) 2.82 kB
"use client"; 'use strict'; var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js'); var React = require('react'); var PropTypes = require('prop-types'); var Provider = require('./Provider.js'); var RollbarContext = /*#__PURE__*/function (_Component) { _rollupPluginBabelHelpers.inherits(RollbarContext, _Component); function RollbarContext(props) { var _this; _rollupPluginBabelHelpers.classCallCheck(this, RollbarContext); _this = _rollupPluginBabelHelpers.callSuper(this, RollbarContext, [props]); _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "firstRender", true); _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "changeContext", function () { var storePrevious = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; var rollbar = Provider.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; } _rollupPluginBabelHelpers.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 = Provider.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; }(React.Component); _rollupPluginBabelHelpers.defineProperty(RollbarContext, "propTypes", { context: PropTypes.string.isRequired, onRender: PropTypes.bool, children: PropTypes.node }); _rollupPluginBabelHelpers.defineProperty(RollbarContext, "defaultProps", { onRender: false }); _rollupPluginBabelHelpers.defineProperty(RollbarContext, "contextType", Provider.Context); exports.RollbarContext = RollbarContext; //# sourceMappingURL=RollbarContext.js.map