mirror of https://github.com/explosion/spaCy.git
22 lines
820 B
JavaScript
22 lines
820 B
JavaScript
/**
|
|
* Temporary hack to prevent this issue:
|
|
* https://github.com/ChristopherBiscardi/gatsby-mdx/issues/244
|
|
*/
|
|
|
|
import React from 'react'
|
|
import { MDXTag } from '@mdx-js/tag'
|
|
import { withMDXComponents } from '@mdx-js/tag/dist/mdx-provider'
|
|
import { withMDXScope } from 'gatsby-mdx/context'
|
|
|
|
const WrappedComponent = React.memo(({ scope = {}, components = {}, children, ...props }) => {
|
|
if (!children) return null
|
|
const fullScope = { React, MDXTag, ...scope }
|
|
const keys = Object.keys(fullScope)
|
|
const values = keys.map(key => fullScope[key])
|
|
const fn = new Function('_fn', ...keys, `${children}`) // eslint-disable-line no-new-func
|
|
const End = fn({}, ...values)
|
|
return React.createElement(End, { components, ...props })
|
|
})
|
|
|
|
export default withMDXScope(withMDXComponents(WrappedComponent))
|