legal-markdown-js
Version:
Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version
66 lines • 2.73 kB
TypeScript
/**
* Service integration for Interactive CLI
*
* This module provides the bridge between the interactive CLI configuration
* and the existing CliService, translating user selections into appropriate
* CLI options and orchestrating the document processing workflow.
*/
import { InteractiveConfig, ProcessingResult } from './types.js';
/**
* Interactive service for processing documents with user-selected configuration
*
* This class serves as an adapter between the interactive CLI configuration
* collected from user prompts and the existing CliService infrastructure,
* ensuring seamless integration with the established processing pipeline.
*/
export declare class InteractiveService {
private config;
/**
* Initialize the interactive service with user configuration
*
* @param config Complete interactive configuration collected from user prompts
*/
constructor(config: InteractiveConfig);
/**
* Map interactive configuration to CLI service options
*
* Translates the structured interactive configuration into the format
* expected by the existing CliService, ensuring all user selections
* are properly represented in the processing options.
*
* @param config Interactive configuration to convert
* @returns CLI service options with all necessary flags and paths configured
*/
private mapToCliOptions;
/**
* Process the input file and generate all requested outputs
*
* Coordinates the processing of the selected input file according to the
* user's configuration, generating output files in all requested formats
* and writing them to the configured output directory.
*
* @param inputFile Absolute path to the input document to process
* @returns Promise resolving to processing result with output files and archive info
* @throws Error when processing fails for any requested format
*/
processFile(inputFile: string): Promise<ProcessingResult>;
/**
* Handle archiving of source file using already-processed content
*
* This method reuses the processed content from Phase 2 instead of
* re-processing the file, eliminating duplicate processing.
*
* @param inputFile Path to the source file to archive
* @param originalContent Original file content
* @param processedContent Already-processed content from Phase 2
* @returns Archive operation result information
*/
private handleArchivingWithProcessedContent;
/**
* Get the current configuration
*
* @returns The interactive configuration used to initialize this service
*/
private getConfig;
}
//# sourceMappingURL=service.d.ts.map