vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
26 lines (24 loc) • 1.05 kB
text/typescript
import type { HtmlComponentType, RootComponentType } from "../types.js";
import type { React } from "../vendor/vendor.server.js";
import { Html as DefaultHtml } from "../components/html.js";
import { Root as DefaultRoot } from "../components/root.js";
/**
* Resolves components with appropriate fallbacks
*
* This helper can be used in both client and server environments to ensure
* that RootComponent and HtmlComponent are always defined, falling back to
* default components when needed.
*
* @param RootComponent - The root component to use, or undefined to use default
* @param HtmlComponent - The HTML component to use, or undefined to use default
* @returns Object containing resolved RootComponent and HtmlComponent
*/
export function resolveWithDefaultRootAndHtml(
RootComponent?: RootComponentType | typeof React.Fragment | undefined,
HtmlComponent?: HtmlComponentType | typeof React.Fragment | undefined
) {
return {
RootComponent: RootComponent || DefaultRoot,
HtmlComponent: HtmlComponent || DefaultHtml,
};
}