UNPKG

vite-plugin-react-server

Version:
54 lines 2.29 kB
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