@atlaskit/editor-plugin-extension
Version:
editor-plugin-extension plugin for @atlaskit/editor-core
33 lines (32 loc) • 1.71 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withExtensionManifest = withExtensionManifest;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _useStateFromPromise3 = require("./use-state-from-promise");
var _excluded = ["extensionKey", "extensionProvider", "extensionType"];
function withExtensionManifest(WrappedComponent) {
return function WithExtensionManifest(props) {
var extensionKey = props.extensionKey,
extensionProvider = props.extensionProvider,
extensionType = props.extensionType,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var _useStateFromPromise = (0, _useStateFromPromise3.useStateFromPromise)(function () {
return extensionProvider.getExtension(extensionType, extensionKey);
}, [extensionProvider, extensionType, extensionKey]),
_useStateFromPromise2 = (0, _slicedToArray2.default)(_useStateFromPromise, 1),
extensionManifest = _useStateFromPromise2[0];
return extensionManifest ?
/*#__PURE__*/
// Ignored via go/ees005
// eslint-disable-next-line @typescript-eslint/no-explicit-any, react/jsx-props-no-spreading
_react.default.createElement(WrappedComponent, (0, _extends2.default)({
extensionManifest: extensionManifest
}, restProps)) : null;
};
}