@obarlik/streaming-pipeline-core
Version:
🔄 Memory-efficient circular buffer streaming pipeline with universal processing - by Codechu
37 lines (36 loc) • 1.47 kB
TypeScript
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;
}