vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
37 lines • 1.4 kB
TypeScript
import type { PassThrough, Readable } from "node:stream";
import type { Logger } from "vite";
/**
* Options for creating React elements from RSC streams
*/
export type CreateFromNodeStreamOptions<Env extends "client" | "server" = "client" | "server"> = Env extends "client" ? {
children?: any;
rscStream: PassThrough | Readable;
moduleRootPath?: string;
moduleBasePath?: string;
moduleBaseURL?: string;
logger?: Logger;
verbose?: boolean;
} : {
model: React.ReactElement;
moduleBasePath?: string;
logger?: Logger;
verbose?: boolean;
};
/**
* Result of creating React elements from RSC streams
*/
export interface FromNodeStreamResult {
children: React.ReactElement;
}
/**
* Function type for creating React elements from RSC streams
*/
export type CreateFromNodeStreamFn<Env extends "client" | "server" = "client" | "server"> = <Opt extends CreateFromNodeStreamOptions<Env> = CreateFromNodeStreamOptions<Env>>(options: Opt) => Env extends "client" ? FromNodeStreamResult & {
type: "client";
} : FromNodeStreamResult & {
type: "server";
};
export type CreateNodeStreamOptions = CreateFromNodeStreamOptions;
export type CreateNodeStreamResult = FromNodeStreamResult;
export type CreateNodeStreamFn<Env extends "client" | "server" = "client" | "server"> = CreateFromNodeStreamFn<Env>;
//# sourceMappingURL=createFromNodeStream.types.d.ts.map