Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
38 lines
1.5 KiB
Plaintext
38 lines
1.5 KiB
Plaintext
import { renderChildren } from "../base.js";
|
|
import { renderToReadableStream as renderToReadableStream$1 } from "../streaming.js";
|
|
import dom_default from "./index.js";
|
|
//#region src/jsx/dom/server.ts
|
|
const prepareRoot = (element) => typeof element === "string" || Array.isArray(element) ? renderChildren([element]) : element;
|
|
/**
|
|
* Render JSX element to string.
|
|
* @param element JSX element to render.
|
|
* @param options Options for rendering.
|
|
* @returns Rendered string.
|
|
*/
|
|
const renderToString = (element, options = {}) => {
|
|
if (Object.keys(options).length > 0) console.warn("options are not supported yet");
|
|
element = prepareRoot(element);
|
|
const res = element instanceof Promise ? element : element?.toString() ?? "";
|
|
if (typeof res !== "string") throw new Error("Async component is not supported in renderToString");
|
|
return res;
|
|
};
|
|
/**
|
|
* Render JSX element to readable stream.
|
|
* @param element JSX element to render.
|
|
* @param options Options for rendering.
|
|
* @returns Rendered readable stream.
|
|
*/
|
|
const renderToReadableStream = async (element, options = {}) => {
|
|
if (Object.keys(options).some((key) => key !== "onError")) console.warn("options are not supported yet, except onError");
|
|
element = prepareRoot(element);
|
|
if (!element || typeof element !== "object") element = element?.toString() ?? "";
|
|
return renderToReadableStream$1(element, options.onError);
|
|
};
|
|
var server_default = {
|
|
renderToString,
|
|
renderToReadableStream,
|
|
version: dom_default
|
|
};
|
|
//#endregion
|
|
export { server_default as default, renderToReadableStream, renderToString, dom_default as version };
|