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; }; function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } // weak import { unmountComponentAtNode } from 'react-dom'; import { mount as enzymeMount } from 'enzyme'; // Generate an enhanced mount function. export default function createMount(options1 = {}) { const { mount = enzymeMount } = options1, other1 = _objectWithoutProperties(options1, ['mount']); const attachTo = window.document.createElement('div'); attachTo.className = 'app'; attachTo.setAttribute('id', 'app'); window.document.body.insertBefore(attachTo, window.document.body.firstChild); const mountWithContext = function mountWithContext(node, options2 = {}) { return mount(node, _extends({ attachTo }, other1, options2)); }; mountWithContext.attachTo = attachTo; mountWithContext.cleanUp = () => { unmountComponentAtNode(attachTo); attachTo.parentNode.removeChild(attachTo); }; return mountWithContext; }