legal-markdown-js
Version:
Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version
96 lines • 3.34 kB
TypeScript
/**
* Pipeline Configuration for Legal Markdown Processing
*
* This module provides the default pipeline configuration and factory functions
* for creating Legal Markdown processing pipelines. It connects existing processors
* with the new pipeline management system while maintaining full backward compatibility.
*
* Features:
* - Default pipeline configuration matching current processing order
* - Processor wrapper classes implementing BaseProcessor interface
* - Factory functions for different processing contexts (HTML, PDF, markdown)
* - Configuration validation and error handling
* - Support for custom pipeline configurations
* - Integration with existing Legal Markdown processors
*
* @example
* ```typescript
* import { createDefaultPipeline, createHtmlPipeline } from './pipeline-config';
*
* // Create standard pipeline
* const pipeline = createDefaultPipeline();
*
* // Create pipeline optimized for HTML generation
* const htmlPipeline = createHtmlPipeline({
* enableFieldTracking: true,
* includeHighlighting: true
* });
*
* // Execute processing
* const result = await pipeline.execute(content, metadata, options);
* ```
*
* @module
*/
import { BaseProcessor } from '../../core/index';
import { PipelineManager } from './pipeline-manager';
import { PipelineConfig } from './types';
import { ConsolePipelineLogger } from './pipeline-logger';
/**
* Create the default Legal Markdown processing pipeline
*
* This pipeline matches the exact order and behavior of the current processing
* system, ensuring 100% backward compatibility.
*
* @param logger - Optional custom logger
* @returns Configured pipeline manager
* @example
* ```typescript
* const pipeline = createDefaultPipeline();
* const result = await pipeline.execute(content, metadata, {
* legalMarkdownOptions: { enableFieldTracking: true }
* });
* ```
*/
export declare function createDefaultPipeline(logger?: ConsolePipelineLogger): PipelineManager;
/**
* Create a pipeline optimized for HTML generation
*
* @param options - HTML generation options
* @returns Configured pipeline manager
*/
export declare function createHtmlPipeline(options?: {
enableFieldTracking?: boolean;
includeHighlighting?: boolean;
}): PipelineManager;
/**
* Create a pipeline optimized for PDF generation
*
* @param options - PDF generation options
* @returns Configured pipeline manager
*/
export declare function createPdfPipeline(options?: {
enableFieldTracking?: boolean;
includeHighlighting?: boolean;
}): PipelineManager;
/**
* Create a minimal pipeline for basic markdown processing
*
* @returns Configured pipeline manager with only essential steps
*/
export declare function createMinimalPipeline(): PipelineManager;
/**
* Validate a pipeline configuration
*
* @param config - Pipeline configuration to validate
* @returns Array of validation errors (empty if valid)
*/
export declare function validatePipelineConfig(config: PipelineConfig): string[];
/**
* Get processor instance by name for testing or custom configurations
*
* @param processorName - Name of the processor to get
* @returns Processor instance or undefined if not found
*/
export declare function getProcessorByName(processorName: string): BaseProcessor | undefined;
//# sourceMappingURL=pipeline-config.d.ts.map