@@ -0,0 +1 @@
+{"version":3,"sources":["../src/ReactSixteenAdapter.js"],"names":["is164","TestUtils","Simulate","touchStart","is165","auxClick","is166","React","unstable_AsyncMode","is168","act","hasShouldComponentUpdateBug","semver","satisfies","testRendererVersion","FiberTags","nodeAndSiblingsArray","nodeWithSibling","array","node","push","sibling","flatten","arr","result","stack","i","length","n","pop","el","Array","isArray","nodeTypeFromType","type","Portal","elementToTree","children","containerInfo","props","nodeType","key","ref","instance","rendered","toTree","vnode","tag","HostRoot","childrenToTree","child","HostPortal","stateNode","memoizedProps","ClassComponent","FunctionalComponent","MemoClass","elementType","MemoSFC","renderedNodes","map","HostComponent","HostText","Fragment","Mode","ContextProvider","ContextConsumer","Profiler","ForwardRef","pendingProps","Error","nodeToHostNode","_node","mapper","item","ReactDOM","findDOMNode","eventOptions","animation","pointerEvents","getEmptyStateValue","EmptyState","Component","testRenderer","ShallowRenderer","render","createElement","_instance","state","wrapAct","fn","returnVal","getProviderDefaultValue","Provider","_context","_defaultValue","_currentValue","makeFakeElement","$$typeof","Element","ReactSixteenAdapter","lifecycles","options","enableComponentDidUpdateOnSetState","legacyContextMode","componentDidUpdate","onSetState","getDerivedStateFromProps","getSnapshotBeforeUpdate","setState","skipsComponentDidUpdateOnNullish","getChildContext","calledByRenderer","getDerivedStateFromError","attachTo","hydrateIn","wrappingComponentProps","domNode","global","document","adapter","context","callback","wrapperProps","ReactWrapperComponent","wrappedEl","hydrate","setChildProps","unmount","unmountComponentAtNode","getNode","isCustomComponent","_reactInternalFiber","simulateError","nodeHierarchy","rootNode","error","isErrorBoundary","elInstance","componentDidCatch","find","catchingInstance","catchingType","displayNameOfNode","undefined","simulateEvent","event","mock","mappedEvent","eventFn","TypeError","batchedUpdates","getWrappingComponentRenderer","inst","getMountWrapperInstance","renderer","isDOM","cachedNode","lastComponent","wrappedComponent","wrapFunctionalComponent","unmaskedContext","providerValues","Map","set","value","MockProvider","getProviderFromConsumer","has","get","MockConsumer","isStateful","prototype","isReactComponent","__reactAutoBindPairs","contextTypes","InnerComp","emptyStateValue","Object","defineProperty","configurable","enumerable","writable","output","getRenderOutput","concat","args","handler","checkPropTypes","typeSpecs","values","location","hierarchy","childContextTypes","ContextWrapper","ReactDOMServer","renderToStaticMarkup","mode","EnzymeAdapter","MODES","MOUNT","createMountRenderer","SHALLOW","createShallowRenderer","STRING","createStringRenderer","element","supportsArray","nodes","ConcurrentMode","AsyncMode","NaN","StrictMode","$$typeofType","Memo","displayName","name","object","fragment","fakeElement","isValidElement","Consumer","RootFinder","module","exports"],"mappings":"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","file":"ReactSixteenAdapter.js","sourcesContent":["/* eslint no-use-before-define: 0 */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n// eslint-disable-next-line import/no-unresolved\nimport ReactDOMServer from 'react-dom/server';\n// eslint-disable-next-line import/no-unresolved\nimport ShallowRenderer from 'react-test-renderer/shallow';\nimport { version as testRendererVersion } from 'react-test-renderer/package.json';\n// eslint-disable-next-line import/no-unresolved\nimport TestUtils from 'react-dom/test-utils';\nimport semver from 'semver';\nimport checkPropTypes from 'prop-types/checkPropTypes';\nimport {\n AsyncMode,\n ConcurrentMode,\n ContextConsumer,\n ContextProvider,\n Element,\n ForwardRef,\n Fragment,\n isContextConsumer,\n isContextProvider,\n isElement,\n isForwardRef,\n isMemo,\n isPortal,\n isValidElementType,\n Memo,\n Portal,\n Profiler,\n StrictMode,\n} from 'react-is';\nimport { EnzymeAdapter } from 'enzyme';\nimport { typeOfNode } from 'enzyme/build/Utils';\nimport {\n displayNameOfNode,\n elementToTree as utilElementToTree,\n nodeTypeFromType as utilNodeTypeFromType,\n mapNativeEventNames,\n propFromEvent,\n assertDomAvailable,\n withSetStateAllowed,\n createRenderWrapper,\n createMountWrapper,\n propsWithKeysAndRef,\n ensureKeyOrUndefined,\n simulateError,\n wrap,\n getMaskedContext,\n getComponentStack,\n RootFinder,\n getNodeFromRootFinder,\n wrapWithWrappingComponent,\n getWrappingComponentMountRenderer,\n} from 'enzyme-adapter-utils';\nimport findCurrentFiberUsingSlowPath from './findCurrentFiberUsingSlowPath';\nimport detectFiberTags from './detectFiberTags';\n\nconst is164 = !!TestUtils.Simulate.touchStart; // 16.4+\nconst is165 = !!TestUtils.Simulate.auxClick; // 16.5+\nconst is166 = is165 && !React.unstable_AsyncMode; // 16.6+\nconst is168 = is166 && typeof TestUtils.act === 'function';\n\nconst hasShouldComponentUpdateBug = semver.satisfies(testRendererVersion, '< 16.8');\n\n// Lazily populated if DOM is available.\nlet FiberTags = null;\n\nfunction nodeAndSiblingsArray(nodeWithSibling) {\n const array = [];\n let node = nodeWithSibling;\n while (node != null) {\n array.push(node);\n node = node.sibling;\n }\n return array;\n}\n\nfunction flatten(arr) {\n const result = [];\n const stack = [{ i: 0, array: arr }];\n while (stack.length) {\n const n = stack.pop();\n while (n.i < n.array.length) {\n const el = n.array[n.i];\n n.i += 1;\n if (Array.isArray(el)) {\n stack.push(n);\n stack.push({ i: 0, array: el });\n break;\n }\n result.push(el);\n }\n }\n return result;\n}\n\nfunction nodeTypeFromType(type) {\n if (type === Portal) {\n return 'portal';\n }\n\n return utilNodeTypeFromType(type);\n}\n\nfunction elementToTree(el) {\n if (!isPortal(el)) {\n return utilElementToTree(el, elementToTree);\n }\n\n const { children, containerInfo } = el;\n const props = { children, containerInfo };\n\n return {\n nodeType: 'portal',\n type: Portal,\n props,\n key: ensureKeyOrUndefined(el.key),\n ref: el.ref || null,\n instance: null,\n rendered: elementToTree(el.children),\n };\n}\n\nfunction toTree(vnode) {\n if (vnode == null) {\n return null;\n }\n // TODO(lmr): I'm not really sure I understand whether or not this is what\n // i should be doing, or if this is a hack for something i'm doing wrong\n // somewhere else. Should talk to sebastian about this perhaps\n const node = findCurrentFiberUsingSlowPath(vnode);\n switch (node.tag) {\n case FiberTags.HostRoot:\n return childrenToTree(node.child);\n case FiberTags.HostPortal: {\n const {\n stateNode: { containerInfo },\n memoizedProps: children,\n } = node;\n const props = { containerInfo, children };\n return {\n nodeType: 'portal',\n type: Portal,\n props,\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n }\n case FiberTags.ClassComponent:\n return {\n nodeType: 'class',\n type: node.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: node.stateNode,\n rendered: childrenToTree(node.child),\n };\n case FiberTags.FunctionalComponent:\n return {\n nodeType: 'function',\n type: node.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n case FiberTags.MemoClass:\n return {\n nodeType: 'class',\n type: node.elementType.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: node.stateNode,\n rendered: childrenToTree(node.child.child),\n };\n case FiberTags.MemoSFC: {\n let renderedNodes = flatten(nodeAndSiblingsArray(node.child).map(toTree));\n if (renderedNodes.length === 0) {\n renderedNodes = [node.memoizedProps.children];\n }\n return {\n nodeType: 'function',\n type: node.elementType,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: renderedNodes,\n };\n }\n case FiberTags.HostComponent: {\n let renderedNodes = flatten(nodeAndSiblingsArray(node.child).map(toTree));\n if (renderedNodes.length === 0) {\n renderedNodes = [node.memoizedProps.children];\n }\n return {\n nodeType: 'host',\n type: node.type,\n props: { ...node.memoizedProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: node.stateNode,\n rendered: renderedNodes,\n };\n }\n case FiberTags.HostText:\n return node.memoizedProps;\n case FiberTags.Fragment:\n case FiberTags.Mode:\n case FiberTags.ContextProvider:\n case FiberTags.ContextConsumer:\n return childrenToTree(node.child);\n case FiberTags.Profiler:\n case FiberTags.ForwardRef: {\n return {\n nodeType: 'function',\n type: node.type,\n props: { ...node.pendingProps },\n key: ensureKeyOrUndefined(node.key),\n ref: node.ref,\n instance: null,\n rendered: childrenToTree(node.child),\n };\n }\n default:\n throw new Error(`Enzyme Internal Error: unknown node with tag ${node.tag}`);\n }\n}\n\nfunction childrenToTree(node) {\n if (!node) {\n return null;\n }\n const children = nodeAndSiblingsArray(node);\n if (children.length === 0) {\n return null;\n }\n if (children.length === 1) {\n return toTree(children[0]);\n }\n return flatten(children.map(toTree));\n}\n\nfunction nodeToHostNode(_node) {\n // NOTE(lmr): node could be a function component\n // which wont have an instance prop, but we can get the\n // host node associated with its return value at that point.\n // Although this breaks down if the return value is an array,\n // as is possible with React 16.\n let node = _node;\n while (node && !Array.isArray(node) && node.instance === null) {\n node = node.rendered;\n }\n // if the SFC returned null effectively, there is no host node.\n if (!node) {\n return null;\n }\n\n const mapper = (item) => {\n if (item && item.instance) return ReactDOM.findDOMNode(item.instance);\n return null;\n };\n if (Array.isArray(node)) {\n return node.map(mapper);\n }\n if (Array.isArray(node.rendered) && node.nodeType === 'class') {\n return node.rendered.map(mapper);\n }\n return mapper(node);\n}\n\nconst eventOptions = {\n animation: true,\n pointerEvents: is164,\n auxClick: is165,\n};\n\nfunction getEmptyStateValue() {\n // this handles a bug in React 16.0 - 16.2\n // see https://github.com/facebook/react/commit/39be83565c65f9c522150e52375167568a2a1459\n // also see https://github.com/facebook/react/pull/11965\n\n // eslint-disable-next-line react/prefer-stateless-function\n class EmptyState extends React.Component {\n render() {\n return null;\n }\n }\n const testRenderer = new ShallowRenderer();\n testRenderer.render(React.createElement(EmptyState));\n return testRenderer._instance.state;\n}\n\nfunction wrapAct(fn) {\n if (!is168) {\n return fn();\n }\n let returnVal;\n TestUtils.act(() => { returnVal = fn(); });\n return returnVal;\n}\n\nfunction getProviderDefaultValue(Provider) {\n // React stores references to the Provider's defaultValue differently across versions.\n if ('_defaultValue' in Provider._context) {\n return Provider._context._defaultValue;\n }\n if ('_currentValue' in Provider._context) {\n return Provider._context._currentValue;\n }\n throw new Error('Enzyme Internal Error: can’t figure out how to get Provider’s default value');\n}\n\nfunction makeFakeElement(type) {\n return { $$typeof: Element, type };\n}\n\nclass ReactSixteenAdapter extends EnzymeAdapter {\n constructor() {\n super();\n const { lifecycles } = this.options;\n this.options = {\n ...this.options,\n enableComponentDidUpdateOnSetState: true, // TODO: remove, semver-major\n legacyContextMode: 'parent',\n lifecycles: {\n ...lifecycles,\n componentDidUpdate: {\n onSetState: true,\n },\n getDerivedStateFromProps: {\n hasShouldComponentUpdateBug,\n },\n getSnapshotBeforeUpdate: true,\n setState: {\n skipsComponentDidUpdateOnNullish: true,\n },\n getChildContext: {\n calledByRenderer: false,\n },\n getDerivedStateFromError: is166,\n },\n };\n }\n\n createMountRenderer(options) {\n assertDomAvailable('mount');\n if (FiberTags === null) {\n // Requires DOM.\n FiberTags = detectFiberTags();\n }\n const { attachTo, hydrateIn, wrappingComponentProps } = options;\n const domNode = hydrateIn || attachTo || global.document.createElement('div');\n let instance = null;\n const adapter = this;\n return {\n render(el, context, callback) {\n return wrapAct(() => {\n if (instance === null) {\n const { type, props, ref } = el;\n const wrapperProps = {\n Component: type,\n props,\n wrappingComponentProps,\n context,\n ...(ref && { ref }),\n };\n const ReactWrapperComponent = createMountWrapper(el, { ...options, adapter });\n const wrappedEl = React.createElement(ReactWrapperComponent, wrapperProps);\n instance = hydrateIn\n ? ReactDOM.hydrate(wrappedEl, domNode)\n : ReactDOM.render(wrappedEl, domNode);\n if (typeof callback === 'function') {\n callback();\n }\n } else {\n instance.setChildProps(el.props, context, callback);\n }\n });\n },\n unmount() {\n ReactDOM.unmountComponentAtNode(domNode);\n instance = null;\n },\n getNode() {\n if (!instance) {\n return null;\n }\n return getNodeFromRootFinder(\n adapter.isCustomComponent,\n toTree(instance._reactInternalFiber),\n options,\n );\n },\n simulateError(nodeHierarchy, rootNode, error) {\n const isErrorBoundary = ({ instance: elInstance, type }) => {\n if (is166 && type && type.getDerivedStateFromError) {\n return true;\n }\n return elInstance && elInstance.componentDidCatch;\n };\n\n const {\n instance: catchingInstance,\n type: catchingType,\n } = nodeHierarchy.find(isErrorBoundary) || {};\n\n simulateError(\n error,\n catchingInstance,\n rootNode,\n nodeHierarchy,\n nodeTypeFromType,\n adapter.displayNameOfNode,\n is166 ? catchingType : undefined,\n );\n },\n simulateEvent(node, event, mock) {\n const mappedEvent = mapNativeEventNames(event, eventOptions);\n const eventFn = TestUtils.Simulate[mappedEvent];\n if (!eventFn) {\n throw new TypeError(`ReactWrapper::simulate() event '${event}' does not exist`);\n }\n eventFn(nodeToHostNode(node), mock);\n },\n batchedUpdates(fn) {\n return fn();\n // return ReactDOM.unstable_batchedUpdates(fn);\n },\n getWrappingComponentRenderer() {\n return {\n ...this,\n ...getWrappingComponentMountRenderer({\n toTree: inst => toTree(inst._reactInternalFiber),\n getMountWrapperInstance: () => instance,\n }),\n };\n },\n };\n }\n\n createShallowRenderer(/* options */) {\n const adapter = this;\n const renderer = new ShallowRenderer();\n let isDOM = false;\n let cachedNode = null;\n\n let lastComponent = null;\n let wrappedComponent = null;\n\n // Wrap functional components on versions prior to 16.5,\n // to avoid inadvertently pass a `this` instance to it.\n const wrapFunctionalComponent = (Component) => {\n if (is165) {\n return Component;\n }\n\n if (lastComponent !== Component) {\n wrappedComponent = Object.assign(\n (...args) => Component(...args), // eslint-disable-line new-cap\n Component,\n );\n lastComponent = Component;\n }\n return wrappedComponent;\n };\n\n return {\n render(el, unmaskedContext, {\n providerValues = new Map(),\n } = {}) {\n cachedNode = el;\n /* eslint consistent-return: 0 */\n if (typeof el.type === 'string') {\n isDOM = true;\n } else if (isContextProvider(el)) {\n providerValues.set(el.type, el.props.value);\n const MockProvider = Object.assign(\n props => props.children,\n el.type,\n );\n return withSetStateAllowed(() => renderer.render({ ...el, type: MockProvider }));\n } else if (isContextConsumer(el)) {\n const Provider = adapter.getProviderFromConsumer(el.type);\n const value = providerValues.has(Provider)\n ? providerValues.get(Provider)\n : getProviderDefaultValue(Provider);\n const MockConsumer = Object.assign(\n props => props.children(value),\n el.type,\n );\n return withSetStateAllowed(() => renderer.render({ ...el, type: MockConsumer }));\n } else {\n isDOM = false;\n const { type: Component } = el;\n\n const isStateful = Component.prototype && (\n Component.prototype.isReactComponent\n || Array.isArray(Component.__reactAutoBindPairs) // fallback for createClass components\n );\n\n const context = getMaskedContext(Component.contextTypes, unmaskedContext);\n\n if (!isStateful && isMemo(el.type)) {\n const InnerComp = el.type.type;\n return withSetStateAllowed(() => renderer.render(\n { ...el, type: wrapFunctionalComponent(InnerComp) },\n context,\n ));\n }\n\n if (!isStateful && typeof Component === 'function') {\n return withSetStateAllowed(() => renderer.render(\n { ...el, type: wrapFunctionalComponent(Component) },\n context,\n ));\n }\n\n if (isStateful) {\n // fix react bug; see implementation of `getEmptyStateValue`\n const emptyStateValue = getEmptyStateValue();\n if (emptyStateValue) {\n Object.defineProperty(Component.prototype, 'state', {\n configurable: true,\n enumerable: true,\n get() {\n return null;\n },\n set(value) {\n if (value !== emptyStateValue) {\n Object.defineProperty(this, 'state', {\n configurable: true,\n enumerable: true,\n value,\n writable: true,\n });\n }\n return true;\n },\n });\n }\n }\n return withSetStateAllowed(() => renderer.render(el, context));\n }\n },\n unmount() {\n renderer.unmount();\n },\n getNode() {\n if (isDOM) {\n return elementToTree(cachedNode);\n }\n const output = renderer.getRenderOutput();\n return {\n nodeType: nodeTypeFromType(cachedNode.type),\n type: cachedNode.type,\n props: cachedNode.props,\n key: ensureKeyOrUndefined(cachedNode.key),\n ref: cachedNode.ref,\n instance: renderer._instance,\n rendered: Array.isArray(output)\n ? flatten(output).map(el => elementToTree(el))\n : elementToTree(output),\n };\n },\n simulateError(nodeHierarchy, rootNode, error) {\n simulateError(\n error,\n renderer._instance,\n cachedNode,\n nodeHierarchy.concat(cachedNode),\n nodeTypeFromType,\n adapter.displayNameOfNode,\n is166 ? cachedNode.type : undefined,\n );\n },\n simulateEvent(node, event, ...args) {\n const handler = node.props[propFromEvent(event, eventOptions)];\n if (handler) {\n withSetStateAllowed(() => {\n // TODO(lmr): create/use synthetic events\n // TODO(lmr): emulate React's event propagation\n // ReactDOM.unstable_batchedUpdates(() => {\n handler(...args);\n // });\n });\n }\n },\n batchedUpdates(fn) {\n return fn();\n // return ReactDOM.unstable_batchedUpdates(fn);\n },\n checkPropTypes(typeSpecs, values, location, hierarchy) {\n return checkPropTypes(\n typeSpecs,\n values,\n location,\n displayNameOfNode(cachedNode),\n () => getComponentStack(hierarchy.concat([cachedNode])),\n );\n },\n };\n }\n\n createStringRenderer(options) {\n return {\n render(el, context) {\n if (options.context && (el.type.contextTypes || options.childContextTypes)) {\n const childContextTypes = {\n ...(el.type.contextTypes || {}),\n ...options.childContextTypes,\n };\n const ContextWrapper = createRenderWrapper(el, context, childContextTypes);\n return ReactDOMServer.renderToStaticMarkup(React.createElement(ContextWrapper));\n }\n return ReactDOMServer.renderToStaticMarkup(el);\n },\n };\n }\n\n // Provided a bag of options, return an `EnzymeRenderer`. Some options can be implementation\n // specific, like `attach` etc. for React, but not part of this interface explicitly.\n // eslint-disable-next-line class-methods-use-this\n createRenderer(options) {\n switch (options.mode) {\n case EnzymeAdapter.MODES.MOUNT: return this.createMountRenderer(options);\n case EnzymeAdapter.MODES.SHALLOW: return this.createShallowRenderer(options);\n case EnzymeAdapter.MODES.STRING: return this.createStringRenderer(options);\n default:\n throw new Error(`Enzyme Internal Error: Unrecognized mode: ${options.mode}`);\n }\n }\n\n wrap(element) {\n return wrap(element);\n }\n\n // converts an RSTNode to the corresponding JSX Pragma Element. This will be needed\n // in order to implement the `Wrapper.mount()` and `Wrapper.shallow()` methods, but should\n // be pretty straightforward for people to implement.\n // eslint-disable-next-line class-methods-use-this\n nodeToElement(node) {\n if (!node || typeof node !== 'object') return null;\n return React.createElement(node.type, propsWithKeysAndRef(node));\n }\n\n elementToNode(element) {\n return elementToTree(element);\n }\n\n nodeToHostNode(node, supportsArray = false) {\n const nodes = nodeToHostNode(node);\n if (Array.isArray(nodes) && !supportsArray) {\n return nodes[0];\n }\n return nodes;\n }\n\n displayNameOfNode(node) {\n if (!node) return null;\n const { type, $$typeof } = node;\n\n const nodeType = type || $$typeof;\n\n // newer node types may be undefined, so only test if the nodeType exists\n if (nodeType) {\n switch (nodeType) {\n case (is166 ? ConcurrentMode : AsyncMode) || NaN: return is166 ? 'ConcurrentMode' : 'AsyncMode';\n case Fragment || NaN: return 'Fragment';\n case StrictMode || NaN: return 'StrictMode';\n case Profiler || NaN: return 'Profiler';\n case Portal || NaN: return 'Portal';\n default:\n }\n }\n\n const $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case ContextConsumer || NaN: return 'ContextConsumer';\n case ContextProvider || NaN: return 'ContextProvider';\n case Memo || NaN: return displayNameOfNode(type);\n case ForwardRef || NaN: {\n if (type.displayName) {\n return type.displayName;\n }\n const name = displayNameOfNode({ type: type.render });\n return name ? `ForwardRef(${name})` : 'ForwardRef';\n }\n default: return displayNameOfNode(node);\n }\n }\n\n isValidElement(element) {\n return isElement(element);\n }\n\n isValidElementType(object) {\n return !!object && isValidElementType(object);\n }\n\n isFragment(fragment) {\n return typeOfNode(fragment) === Fragment;\n }\n\n isCustomComponent(type) {\n const fakeElement = makeFakeElement(type);\n return !!type && (\n typeof type === 'function'\n || isForwardRef(fakeElement)\n || isContextProvider(fakeElement)\n || isContextConsumer(fakeElement)\n );\n }\n\n isContextConsumer(type) {\n return !!type && isContextConsumer(makeFakeElement(type));\n }\n\n isCustomComponentElement(inst) {\n if (!inst || !this.isValidElement(inst)) {\n return false;\n }\n return this.isCustomComponent(inst.type);\n }\n\n getProviderFromConsumer(Consumer) {\n // React stores references to the Provider on a Consumer differently across versions.\n if (Consumer) {\n let Provider;\n if (Consumer.Provider) {\n ({ Provider } = Consumer);\n } else if (Consumer._context) {\n ({ Provider } = Consumer._context);\n }\n if (Provider) {\n return Provider;\n }\n }\n throw new Error('Enzyme Internal Error: can’t figure out how to get Provider from Consumer');\n }\n\n createElement(...args) {\n return React.createElement(...args);\n }\n\n wrapWithWrappingComponent(node, options) {\n return {\n RootFinder,\n node: wrapWithWrappingComponent(React.createElement, node, options),\n };\n }\n}\n\nmodule.exports = ReactSixteenAdapter;\n"]}
\ No newline at end of file