@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
24 lines (23 loc) • 1.07 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withFeatureFlaggedComponent = void 0;
var _react = _interopRequireDefault(require("react"));
/**
* This function is used to switch between two components based on a feature flag
* @param ComponentOld
* @param ComponentNext
* @param featureFlagFn function that returns a boolean value to switch to the next component, e.g. () => fg('my_flag_name')
* @returns
*/
var withFeatureFlaggedComponent = exports.withFeatureFlaggedComponent = function withFeatureFlaggedComponent(ComponentOld, ComponentNext, featureFlagFn) {
return function (props) {
// Ignored via go/ees005
// eslint-disable-next-line react/jsx-props-no-spreading
// Ignored via go/ees005
// eslint-disable-next-line react/jsx-props-no-spreading
return featureFlagFn() ? /*#__PURE__*/_react.default.createElement(ComponentNext, props) : /*#__PURE__*/_react.default.createElement(ComponentOld, props);
};
};