storybook-addon-react-renders
Version:
Storybook addon for renders analysis of React components.
44 lines (30 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withRenders = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _addons = require("@storybook/addons");
var _addons2 = _interopRequireDefault(_addons);
var _whyDidYouUpdate = require("why-did-you-update");
var _constants = require("./constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var notifier = function notifier(groupByComponent, collapseComponentGroups, displayName, diffs) {
_addons2.default.getChannel().emit(_constants.EVENTS.EVENTS, diffs);
};
(0, _whyDidYouUpdate.whyDidYouUpdate)(_react2.default, { notifier: notifier });
var withRenders = exports.withRenders = (0, _addons.makeDecorator)({
name: "withRenders",
parameterName: "renders",
skipIfNoParametersOrOptions: false,
wrapper: function wrapper(getStory, context, _ref) {
var options = _ref.options,
parameters = _ref.parameters;
var channel = _addons2.default.getChannel();
var rendersOptions = _extends({}, options, parameters);
channel.emit(_constants.EVENTS.INITIALIZATION, rendersOptions);
return getStory(context);
}
});