vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
54 lines • 2.29 kB
TypeScript
import { createStreamMetrics } from "../helpers/metrics.js";
import type { ClientRscStreamOptions, ServerRscStreamOptions, BaseRscStreamResult } from "./createRscStream.types.js";
import type { PassThrough } from "node:stream";
import { type Logger } from "vite";
/**
* Validates common RSC stream options
*
* @param options - RSC stream options to validate
* @param context - Context for error messages
* @throws Error if validation fails
*/
export declare function validateRscStreamOptions(options: ClientRscStreamOptions | ServerRscStreamOptions, context: string): void;
/**
* Creates common RSC stream result structure
*
* @param rscStream - The RSC stream
* @param elements - React elements
* @param pipe - Pipe function
* @param abort - Abort function
* @param metrics - Stream metrics
* @returns Base RSC stream result
*/
export declare function createBaseRscStreamResult(rscStream: PassThrough, pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable, abort: (reason?: unknown) => void, metrics: ReturnType<typeof createStreamMetrics>, id: string): BaseRscStreamResult;
/**
* Handles RSC stream errors with consistent error handling
*
* @param error - The error that occurred
* @param options - RSC stream options for context
* @param context - Additional context for error handling
* @throws Error if panic threshold is met
*/
export declare function handleRscStreamError(error: unknown, options: ClientRscStreamOptions | ServerRscStreamOptions, context: string): void;
/**
* Creates stream metrics with common setup
*
* @param route - Route for logging context
* @param verbose - Whether to enable verbose logging
* @returns Stream metrics instance
*/
export declare function createRscStreamMetrics(): ReturnType<typeof createStreamMetrics>;
/**
* Sets up common stream event handlers for metrics collection
*
* @param stream - The stream to monitor
* @param metrics - Metrics to update
* @param options - Configuration options
* @returns Cleanup function
*/
export declare function setupRscStreamEventHandlers(stream: PassThrough, metrics: ReturnType<typeof createStreamMetrics>, options: {
route: string;
verbose?: boolean;
logger?: Logger;
}): () => void;
//# sourceMappingURL=createRscStream.utils.d.ts.map