UNPKG

@obarlik/streaming-pipeline-core

Version:

🔄 Memory-efficient circular buffer streaming pipeline with universal processing - by Codechu

37 lines (36 loc) • 1.47 kB
import { IProcessor, IRenderer, ASTNode, ParseResult, ProcessingContext, IPipelineOrchestrator } from '../framework/core-interfaces'; import { ILogger, IMetrics, IContainer } from '../framework/services'; import { TraceContext, FeatureFlags } from '../framework/observability'; export interface PipelineOptions { preserveAST?: boolean; enableValidation?: boolean; transformers?: any[]; } /** * Clean AST-first pipeline orchestrator * No backward compatibility - modern design only */ export declare class Pipeline implements IPipelineOrchestrator { private processors; private renderers; private logger; private metrics; private container?; private featureFlags; constructor(logger?: ILogger, metrics?: IMetrics, container?: IContainer, featureFlags?: Partial<FeatureFlags>); registerProcessor(processor: IProcessor): void; registerRenderer(renderer: IRenderer): void; /** * Parse content to AST only */ parseToAST(content: string, context?: ProcessingContext, traceContext?: TraceContext): Promise<ParseResult>; /** * Render from pre-built AST */ renderFromAST(ast: ASTNode, format: string, traceContext?: TraceContext): Promise<string>; /** * Complete pipeline: parse to AST then render */ process(content: string, format: string, context?: ProcessingContext, traceContext?: TraceContext, options?: PipelineOptions): Promise<string>; private findProcessor; }