diff options
author | 2022-04-11 11:19:41 -0700 | |
---|---|---|
committer | 2022-04-11 11:19:41 -0700 | |
commit | 771127ea294fb297c080b2bb3e74b433043b90f4 (patch) | |
tree | d0c80721164a81592e328d22d4ecb9af932c727f /packages/renderers/renderer-react/server.js | |
parent | 6c6e9477402e9d30659f56488b1027f7179cd43b (diff) | |
download | astro-771127ea294fb297c080b2bb3e74b433043b90f4.tar.gz astro-771127ea294fb297c080b2bb3e74b433043b90f4.tar.zst astro-771127ea294fb297c080b2bb3e74b433043b90f4.zip |
remove unused renderers (#3063)
Diffstat (limited to 'packages/renderers/renderer-react/server.js')
-rw-r--r-- | packages/renderers/renderer-react/server.js | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/packages/renderers/renderer-react/server.js b/packages/renderers/renderer-react/server.js deleted file mode 100644 index b48d7b6f4..000000000 --- a/packages/renderers/renderer-react/server.js +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/server.js'; -import StaticHtml from './static-html.js'; - -const reactTypeof = Symbol.for('react.element'); - -function errorIsComingFromPreactComponent(err) { - return ( - err.message && - (err.message.startsWith("Cannot read property '__H'") || - err.message.includes("(reading '__H')")) - ); -} - -function check(Component, props, children) { - // Note: there are packages that do some unholy things to create "components". - // Checking the $$typeof property catches most of these patterns. - if (typeof Component === 'object') { - const $$typeof = Component['$$typeof']; - return $$typeof && $$typeof.toString().slice('Symbol('.length).startsWith('react'); - } - if (typeof Component !== 'function') return false; - - if (Component.prototype != null && typeof Component.prototype.render === 'function') { - return React.Component.isPrototypeOf(Component) || React.PureComponent.isPrototypeOf(Component); - } - - let error = null; - let isReactComponent = false; - function Tester(...args) { - try { - const vnode = Component(...args); - if (vnode && vnode['$$typeof'] === reactTypeof) { - isReactComponent = true; - } - } catch (err) { - if (!errorIsComingFromPreactComponent(err)) { - error = err; - } - } - - return React.createElement('div'); - } - - renderToStaticMarkup(Tester, props, children, {}); - - if (error) { - throw error; - } - return isReactComponent; -} - -function renderToStaticMarkup(Component, props, children, metadata) { - delete props['class']; - const vnode = React.createElement(Component, { - ...props, - children: children != null ? React.createElement(StaticHtml, { value: children }) : undefined, - }); - let html; - if (metadata && metadata.hydrate) { - html = ReactDOM.renderToString(vnode); - } else { - html = ReactDOM.renderToStaticMarkup(vnode); - } - return { html }; -} - -export default { - check, - renderToStaticMarkup, -}; |