UNPKG

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
/** * 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