enzyme-adapter-utils
Version:
JavaScript Testing utilities for React
177 lines (172 loc) • 31.2 kB
JavaScript
;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = createMountWrapper;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _airbnbPropTypes = require("airbnb-prop-types");
var _RootFinder = _interopRequireDefault(require("./RootFinder"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
/* eslint react/forbid-prop-types: 0 */
var stringOrFunction = _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].string]);
var makeValidElementType = function makeValidElementType(adapter) {
if (!adapter) {
return stringOrFunction;
}
function validElementTypeRequired(props, propName) {
if (!adapter.isValidElementType) {
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
return stringOrFunction.isRequired.apply(stringOrFunction, [props, propName].concat(args));
}
var propValue = props[propName]; // eslint-disable-line react/destructuring-assignment
if (adapter.isValidElementType(propValue)) {
return null;
}
return new TypeError("".concat(propName, " must be a valid element type!"));
}
function validElementType(props, propName) {
var propValue = props[propName];
if (propValue == null) {
return null;
}
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
args[_key2 - 2] = arguments[_key2];
}
return validElementTypeRequired.apply(void 0, [props, propName].concat(args));
}
validElementType.isRequired = validElementTypeRequired;
return validElementType;
};
/**
* This is a utility component to wrap around the nodes we are
* passing in to `mount()`. Theoretically, you could do everything
* we are doing without this, but this makes it easier since
* `renderIntoDocument()` doesn't really pass back a reference to
* the DOM node it rendered to, so we can't really "re-render" to
* pass new props in.
*/
function createMountWrapper(node) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var adapter = options.adapter,
WrappingComponent = options.wrappingComponent;
var WrapperComponent = /*#__PURE__*/function (_React$Component) {
_inherits(WrapperComponent, _React$Component);
function WrapperComponent() {
var _this;
_classCallCheck(this, WrapperComponent);
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
_this = _callSuper(this, WrapperComponent, [].concat(args));
var _this$props = _this.props,
props = _this$props.props,
wrappingComponentProps = _this$props.wrappingComponentProps,
context = _this$props.context;
_this.state = {
mount: true,
props: props,
wrappingComponentProps: wrappingComponentProps,
context: context
};
return _this;
}
// eslint-disable-next-line react/no-unused-class-component-methods
_createClass(WrapperComponent, [{
key: "setChildProps",
value: function setChildProps(newProps, newContext) {
var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
var _this$state = this.state,
oldProps = _this$state.props,
oldContext = _this$state.context;
var props = _objectSpread(_objectSpread({}, oldProps), newProps);
var context = _objectSpread(_objectSpread({}, oldContext), newContext);
this.setState({
props: props,
context: context
}, callback);
}
// eslint-disable-next-line react/no-unused-class-component-methods
}, {
key: "setWrappingComponentProps",
value: function setWrappingComponentProps(props) {
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
this.setState({
wrappingComponentProps: props
}, callback);
}
}, {
key: "render",
value: function render() {
var _this$props2 = this.props,
Component = _this$props2.Component,
refProp = _this$props2.refProp;
var _this$state2 = this.state,
mount = _this$state2.mount,
props = _this$state2.props,
wrappingComponentProps = _this$state2.wrappingComponentProps;
if (!mount) return null;
// eslint-disable-next-line react/jsx-props-no-spreading
var component = /*#__PURE__*/_react["default"].createElement(Component, _extends({
ref: refProp
}, props));
if (WrappingComponent) {
return (
/*#__PURE__*/
// eslint-disable-next-line react/jsx-props-no-spreading
_react["default"].createElement(WrappingComponent, wrappingComponentProps, /*#__PURE__*/_react["default"].createElement(_RootFinder["default"], null, component))
);
}
return component;
}
}]);
return WrapperComponent;
}(_react["default"].Component);
WrapperComponent.propTypes = {
Component: makeValidElementType(adapter).isRequired,
refProp: _propTypes["default"].oneOfType([_propTypes["default"].string, (0, _airbnbPropTypes.ref)()]),
props: _propTypes["default"].object.isRequired,
wrappingComponentProps: _propTypes["default"].object,
context: _propTypes["default"].object
};
WrapperComponent.defaultProps = {
refProp: null,
context: null,
wrappingComponentProps: null
};
if (options.context && (node.type.contextTypes || options.childContextTypes)) {
// For full rendering, we are using this wrapper component to provide context if it is
// specified in both the options AND the child component defines `contextTypes` statically
// OR the merged context types for all children (the node component or deeper children) are
// specified in options parameter under childContextTypes.
// In that case, we define both a `getChildContext()` function and a `childContextTypes` prop.
var childContextTypes = _objectSpread(_objectSpread({}, node.type.contextTypes), options.childContextTypes);
WrapperComponent.prototype.getChildContext = function getChildContext() {
return this.state.context;
};
WrapperComponent.childContextTypes = childContextTypes;
}
return WrapperComponent;
}
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfYWlyYm5iUHJvcFR5cGVzIiwiX1Jvb3RGaW5kZXIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX2V4dGVuZHMiLCJPYmplY3QiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImFwcGx5Iiwib3duS2V5cyIsImUiLCJyIiwidCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIkNvbnN0cnVjdG9yIiwiVHlwZUVycm9yIiwiX2RlZmluZVByb3BlcnRpZXMiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJfY3JlYXRlQ2xhc3MiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJfdG9QcmltaXRpdmUiLCJfdHlwZW9mIiwiU3RyaW5nIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJOdW1iZXIiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwic2VsZiIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsImNyZWF0ZSIsIl9zZXRQcm90b3R5cGVPZiIsInAiLCJzdHJpbmdPckZ1bmN0aW9uIiwiUHJvcFR5cGVzIiwib25lT2ZUeXBlIiwiZnVuYyIsInN0cmluZyIsIm1ha2VWYWxpZEVsZW1lbnRUeXBlIiwiYWRhcHRlciIsInZhbGlkRWxlbWVudFR5cGVSZXF1aXJlZCIsInByb3BOYW1lIiwiaXNWYWxpZEVsZW1lbnRUeXBlIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJpc1JlcXVpcmVkIiwiY29uY2F0IiwicHJvcFZhbHVlIiwidmFsaWRFbGVtZW50VHlwZSIsIl9sZW4yIiwiX2tleTIiLCJjcmVhdGVNb3VudFdyYXBwZXIiLCJub2RlIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsIldyYXBwaW5nQ29tcG9uZW50Iiwid3JhcHBpbmdDb21wb25lbnQiLCJXcmFwcGVyQ29tcG9uZW50IiwiX1JlYWN0JENvbXBvbmVudCIsIl90aGlzIiwiX2xlbjMiLCJfa2V5MyIsIl90aGlzJHByb3BzIiwid3JhcHBpbmdDb21wb25lbnRQcm9wcyIsImNvbnRleHQiLCJzdGF0ZSIsIm1vdW50Iiwic2V0Q2hpbGRQcm9wcyIsIm5ld1Byb3BzIiwibmV3Q29udGV4dCIsImNhbGxiYWNrIiwiX3RoaXMkc3RhdGUiLCJvbGRQcm9wcyIsIm9sZENvbnRleHQiLCJzZXRTdGF0ZSIsInNldFdyYXBwaW5nQ29tcG9uZW50UHJvcHMiLCJyZW5kZXIiLCJfdGhpcyRwcm9wczIiLCJDb21wb25lbnQiLCJyZWZQcm9wIiwiX3RoaXMkc3RhdGUyIiwiY29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsInJlZiIsIlJlYWN0IiwicHJvcFR5cGVzIiwib2JqZWN0IiwiZGVmYXVsdFByb3BzIiwidHlwZSIsImNvbnRleHRUeXBlcyIsImNoaWxkQ29udGV4dFR5cGVzIiwiZ2V0Q2hpbGRDb250ZXh0IiwibW9kdWxlIiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlTW91bnRXcmFwcGVyLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2FpcmJuYi1wcm9wLXR5cGVzJztcbmltcG9ydCBSb290RmluZGVyIGZyb20gJy4vUm9vdEZpbmRlcic7XG5cbi8qIGVzbGludCByZWFjdC9mb3JiaWQtcHJvcC10eXBlczogMCAqL1xuXG5jb25zdCBzdHJpbmdPckZ1bmN0aW9uID0gUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5zdHJpbmddKTtcbmNvbnN0IG1ha2VWYWxpZEVsZW1lbnRUeXBlID0gKGFkYXB0ZXIpID0+IHtcbiAgaWYgKCFhZGFwdGVyKSB7XG4gICAgcmV0dXJuIHN0cmluZ09yRnVuY3Rpb247XG4gIH1cblxuICBmdW5jdGlvbiB2YWxpZEVsZW1lbnRUeXBlUmVxdWlyZWQocHJvcHMsIHByb3BOYW1lLCAuLi5hcmdzKSB7XG4gICAgaWYgKCFhZGFwdGVyLmlzVmFsaWRFbGVtZW50VHlwZSkge1xuICAgICAgcmV0dXJuIHN0cmluZ09yRnVuY3Rpb24uaXNSZXF1aXJlZChwcm9wcywgcHJvcE5hbWUsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBjb25zdCBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50XG4gICAgaWYgKGFkYXB0ZXIuaXNWYWxpZEVsZW1lbnRUeXBlKHByb3BWYWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFR5cGVFcnJvcihgJHtwcm9wTmFtZX0gbXVzdCBiZSBhIHZhbGlkIGVsZW1lbnQgdHlwZSFgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHZhbGlkRWxlbWVudFR5cGUocHJvcHMsIHByb3BOYW1lLCAuLi5hcmdzKSB7XG4gICAgY29uc3QgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgIGlmIChwcm9wVmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZEVsZW1lbnRUeXBlUmVxdWlyZWQocHJvcHMsIHByb3BOYW1lLCAuLi5hcmdzKTtcbiAgfVxuICB2YWxpZEVsZW1lbnRUeXBlLmlzUmVxdWlyZWQgPSB2YWxpZEVsZW1lbnRUeXBlUmVxdWlyZWQ7XG5cbiAgcmV0dXJuIHZhbGlkRWxlbWVudFR5cGU7XG59O1xuXG4vKipcbiAqIFRoaXMgaXMgYSB1dGlsaXR5IGNvbXBvbmVudCB0byB3cmFwIGFyb3VuZCB0aGUgbm9kZXMgd2UgYXJlXG4gKiBwYXNzaW5nIGluIHRvIGBtb3VudCgpYC4gVGhlb3JldGljYWxseSwgeW91IGNvdWxkIGRvIGV2ZXJ5dGhpbmdcbiAqIHdlIGFyZSBkb2luZyB3aXRob3V0IHRoaXMsIGJ1dCB0aGlzIG1ha2VzIGl0IGVhc2llciBzaW5jZVxuICogYHJlbmRlckludG9Eb2N1bWVudCgpYCBkb2Vzbid0IHJlYWxseSBwYXNzIGJhY2sgYSByZWZlcmVuY2UgdG9cbiAqIHRoZSBET00gbm9kZSBpdCByZW5kZXJlZCB0bywgc28gd2UgY2FuJ3QgcmVhbGx5IFwicmUtcmVuZGVyXCIgdG9cbiAqIHBhc3MgbmV3IHByb3BzIGluLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVNb3VudFdyYXBwZXIobm9kZSwgb3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHsgYWRhcHRlciwgd3JhcHBpbmdDb21wb25lbnQ6IFdyYXBwaW5nQ29tcG9uZW50IH0gPSBvcHRpb25zO1xuXG4gIGNsYXNzIFdyYXBwZXJDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgY29uc3QgeyBwcm9wcywgd3JhcHBpbmdDb21wb25lbnRQcm9wcywgY29udGV4dCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgIG1vdW50OiB0cnVlLFxuICAgICAgICBwcm9wcyxcbiAgICAgICAgd3JhcHBpbmdDb21wb25lbnRQcm9wcyxcbiAgICAgICAgY29udGV4dCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVudXNlZC1jbGFzcy1jb21wb25lbnQtbWV0aG9kc1xuICAgIHNldENoaWxkUHJvcHMobmV3UHJvcHMsIG5ld0NvbnRleHQsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCB7IHByb3BzOiBvbGRQcm9wcywgY29udGV4dDogb2xkQ29udGV4dCB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHByb3BzID0geyAuLi5vbGRQcm9wcywgLi4ubmV3UHJvcHMgfTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLm9sZENvbnRleHQsIC4uLm5ld0NvbnRleHQgfTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBwcm9wcywgY29udGV4dCB9LCBjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVudXNlZC1jbGFzcy1jb21wb25lbnQtbWV0aG9kc1xuICAgIHNldFdyYXBwaW5nQ29tcG9uZW50UHJvcHMocHJvcHMsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd3JhcHBpbmdDb21wb25lbnRQcm9wczogcHJvcHMgfSwgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgQ29tcG9uZW50LCByZWZQcm9wIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBtb3VudCwgcHJvcHMsIHdyYXBwaW5nQ29tcG9uZW50UHJvcHMgfSA9IHRoaXMuc3RhdGU7XG4gICAgICBpZiAoIW1vdW50KSByZXR1cm4gbnVsbDtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICBjb25zdCBjb21wb25lbnQgPSA8Q29tcG9uZW50IHJlZj17cmVmUHJvcH0gey4uLnByb3BzfSAvPjtcbiAgICAgIGlmIChXcmFwcGluZ0NvbXBvbmVudCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgPFdyYXBwaW5nQ29tcG9uZW50IHsuLi53cmFwcGluZ0NvbXBvbmVudFByb3BzfT5cbiAgICAgICAgICAgIDxSb290RmluZGVyPntjb21wb25lbnR9PC9Sb290RmluZGVyPlxuICAgICAgICAgIDwvV3JhcHBpbmdDb21wb25lbnQ+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgIH1cbiAgfVxuICBXcmFwcGVyQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICBDb21wb25lbnQ6IG1ha2VWYWxpZEVsZW1lbnRUeXBlKGFkYXB0ZXIpLmlzUmVxdWlyZWQsXG4gICAgcmVmUHJvcDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgcmVmKCldKSxcbiAgICBwcm9wczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHdyYXBwaW5nQ29tcG9uZW50UHJvcHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY29udGV4dDogUHJvcFR5cGVzLm9iamVjdCxcbiAgfTtcbiAgV3JhcHBlckNvbXBvbmVudC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgcmVmUHJvcDogbnVsbCxcbiAgICBjb250ZXh0OiBudWxsLFxuICAgIHdyYXBwaW5nQ29tcG9uZW50UHJvcHM6IG51bGwsXG4gIH07XG5cbiAgaWYgKG9wdGlvbnMuY29udGV4dCAmJiAobm9kZS50eXBlLmNvbnRleHRUeXBlcyB8fCBvcHRpb25zLmNoaWxkQ29udGV4dFR5cGVzKSkge1xuICAgIC8vIEZvciBmdWxsIHJlbmRlcmluZywgd2UgYXJlIHVzaW5nIHRoaXMgd3JhcHBlciBjb21wb25lbnQgdG8gcHJvdmlkZSBjb250ZXh0IGlmIGl0IGlzXG4gICAgLy8gc3BlY2lmaWVkIGluIGJvdGggdGhlIG9wdGlvbnMgQU5EIHRoZSBjaGlsZCBjb21wb25lbnQgZGVmaW5lcyBgY29udGV4dFR5cGVzYCBzdGF0aWNhbGx5XG4gICAgLy8gT1IgdGhlIG1lcmdlZCBjb250ZXh0IHR5cGVzIGZvciBhbGwgY2hpbGRyZW4gKHRoZSBub2RlIGNvbXBvbmVudCBvciBkZWVwZXIgY2hpbGRyZW4pIGFyZVxuICAgIC8vIHNwZWNpZmllZCBpbiBvcHRpb25zIHBhcmFtZXRlciB1bmRlciBjaGlsZENvbnRleHRUeXBlcy5cbiAgICAvLyBJbiB0aGF0IGNhc2UsIHdlIGRlZmluZSBib3RoIGEgYGdldENoaWxkQ29udGV4dCgpYCBmdW5jdGlvbiBhbmQgYSBgY2hpbGRDb250ZXh0VHlwZXNgIHByb3AuXG4gICAgY29uc3QgY2hpbGRDb250ZXh0VHlwZXMgPSB7XG4gICAgICAuLi5ub2RlLnR5cGUuY29udGV4dFR5cGVzLFxuICAgICAgLi4ub3B0aW9ucy5jaGlsZENvbnRleHRUeXBlcyxcbiAgICB9O1xuXG4gICAgV3JhcHBlckNvbXBvbmVudC5wcm90b3R5cGUuZ2V0Q2hpbGRDb250ZXh0ID0gZnVuY3Rpb24gZ2V0Q2hpbGRDb250ZXh0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuY29udGV4dDtcbiAgICB9O1xuICAgIFdyYXBwZXJDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMgPSBjaGlsZENvbnRleHRUeXBlcztcbiAgfVxuICByZXR1cm4gV3Jh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
//# sourceMappingURL=createMountWrapper.js.map