python2igcse
Version:
Convert Python code to IGCSE Pseudocode format
71 lines • 2.11 kB
TypeScript
import { BaseEmitter } from './base-emitter';
import { EmitterOptions, OutputFormat, MarkdownConfig } from '../types/emitter';
/**
* Emitter factory configuration
*/
export interface EmitterFactoryOptions {
/** Output format */
format: OutputFormat;
/** Emitter options */
options?: Partial<EmitterOptions>;
/** Markdown-specific configuration */
markdownConfig?: Partial<MarkdownConfig>;
}
/**
* Emitter factory class
*/
export declare class EmitterFactory {
/**
* Create emitter
*/
static create(config: EmitterFactoryOptions): BaseEmitter;
/**
* Get list of supported formats
*/
static getSupportedFormats(): OutputFormat[];
/**
* Check if format is supported
*/
static isSupported(format: OutputFormat): boolean;
/**
* Create emitter with default settings
*/
static createDefault(format?: OutputFormat): BaseEmitter;
/**
* Create emitter with beautified settings
*/
static createBeautified(format?: OutputFormat): BaseEmitter;
/**
* Create emitter with compact settings
*/
static createCompact(format?: OutputFormat): BaseEmitter;
/**
* Create emitter with debug settings
*/
static createDebug(format?: OutputFormat): BaseEmitter;
}
/**
* Utility function: Create emitter
*/
export declare function createEmitter(format?: OutputFormat, options?: Partial<EmitterOptions>): BaseEmitter;
/**
* Utility function: Create emitter with preset settings
*/
export declare function createPresetEmitter(preset: 'default' | 'beautified' | 'compact' | 'debug', format?: OutputFormat): BaseEmitter;
/**
* Get format-specific configuration
*/
export declare function getFormatSpecificOptions(format: OutputFormat): {
recommendedOptions: Partial<EmitterOptions>;
description: string;
fileExtension: string;
};
/**
* エミッターの能力を取得
*/
export declare function getEmitterCapabilities(format: OutputFormat): {
supportedFeatures: string[];
limitations: string[];
bestUseCase: string;
};
//# sourceMappingURL=factory.d.ts.map