UNPKG

next-utils

Version:

Collection of handy utility functions for working within a Next.js project.

43 lines (34 loc) 1.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = getDataFromTree; exports.getMarkupFromTree = getMarkupFromTree; var _react = _interopRequireDefault(require("react")); var _RenderPromises = _interopRequireDefault(require("./RenderPromises")); function getDataFromTree(tree, context) { if (context === void 0) { context = {}; } return getMarkupFromTree({ tree: tree, context: context, // If you need to configure this renderFunction, call getMarkupFromTree // directly instead of getDataFromTree. renderFunction: require("react-dom/server").renderToStaticMarkup }); } function getMarkupFromTree(_ref) { var tree = _ref.tree, _ref$context = _ref.context, context = _ref$context === void 0 ? {} : _ref$context, _ref$renderFunction = _ref.renderFunction, renderFunction = _ref$renderFunction === void 0 ? require("react-dom/server").renderToStaticMarkup : _ref$renderFunction; var renderPromises = new _RenderPromises["default"](); function process() { var html = renderFunction( /*#__PURE__*/_react["default"].cloneElement(tree, { renderPromises: renderPromises })); return renderPromises.hasPromises() ? renderPromises.consumeAndAwaitPromises().then(process) : html; } return Promise.resolve().then(process); }