docutils-ts
Version:
Port of the Python Docutils library to TypeScript
96 lines (95 loc) • 3.41 kB
TypeScript
import { OptionParser } from "./frontend.js";
import SettingsSpec from './settingsSpec.js';
import { Settings } from "./settings.js";
import Parser from "./parser.js";
import Writer from "./writer.js";
import Reader from "./reader.js";
import Output from "./io/output.js";
import Input from "./io/input.js";
import { DebugFunction, Document, InputConstructor, LoggerType, OutputConstructor } from "./types.js";
export interface SetupOptionParserArgs {
usage?: string;
description?: string;
settingsSpec?: SettingsSpec;
configSection?: string;
defaults?: {};
}
export interface ProcessCommandLineArgs {
argv: string[];
usage?: string;
description?: string;
settingsSpec?: SettingsSpec;
configSection?: string;
settingsOverrides?: {};
}
export interface PublisherArgs {
reader?: Reader;
parser?: Parser;
writer?: Writer;
source?: Input;
sourceClass?: InputConstructor;
destination?: Output<any>;
destinationClass?: OutputConstructor<any>;
settings?: Settings;
debugFn?: DebugFunction;
debug?: boolean;
logger: LoggerType;
}
/**
* A facade encapsulating the high-level logic of a Docutils system.
*/
export declare class Publisher {
get document(): Document | undefined;
private sourceClass?;
settings?: Settings;
private debugFn;
private reader?;
private _document;
private parser?;
private writer?;
private source?;
private destination?;
private destinationClass?;
private debug;
/**
* Create a publisher instance.
* @param {Object} args - arguments
* @param {Reader} args.reader - instance of StandaloneReader
* @param {Parser} args.parser - instance of Parser
* @param {Writer} args.writer - instance of Writer
* @param {Source} args.source - instance of Source
* @param {function} args.sourceClass - class for source, mutually exclusive with souce paramter
* @param {Destination} args.destination - where the output should be written
* @param {function} args.destinationClass - Class for destination, mutually
* exclusive with destination paramter.
* @param {object} args.settings - Settings for docutils engine.
* @param {function} args.debugFn - Debug function.
*/
private logger;
constructor(args: PublisherArgs);
setReader(readerName: string | undefined, parser?: Parser, parserName?: string): void;
setWriter(writerName: string | undefined): void;
setComponents(readerName?: string, parserName?: string, writerName?: string): void;
setupOptionParser(args: SetupOptionParserArgs): OptionParser;
process_programmatic_settings(settings_spec: any, settings_overrides: Record<string, any> | null, configSection?: string): void;
get_settings(options: {
usage?: string;
description?: string;
settingsSpec?: any;
configSection?: string;
[key: string]: any;
}): any;
processCommandLine(args: ProcessCommandLineArgs): void;
setIO(sourcePath?: string, destinationPath?: string): void;
setSource(args: {
source?: {};
sourcePath?: string;
}): void;
setDestination(args: {
destination?: Output<{}>;
destinationPath?: string;
}): void;
applyTransforms(): void;
publish(args: any): Promise<any>;
debuggingDumps(): void;
}