UNPKG

docutils-ts

Version:

Port of the Python Docutils library to TypeScript

37 lines (36 loc) 1.42 kB
import { newDocument } from './newDocument'; import newReporter from './newReporter'; import { defaultPublisherOptions } from '../src/constants'; import { getDefaultSettings } from './settingsHelper'; import { Publisher } from './publisher'; import StateFactory from './parsers/rst/stateFactory'; import RSTStateMachine from './parsers/rst/rstStateMachine'; import { Logger } from './logger'; let _logger; export function createLogger(options) { return new Logger(options); } export function createPublisher() { const publisher = new Publisher({ ...defaultPublisherOptions, logger: createLogger() }); publisher.setComponents(defaultPublisherOptions.readerName, defaultPublisherOptions.parserName, 'xml'); return publisher; } export function createRSTStateMachine(args) { const sm = new RSTStateMachine({ stateFactory: new StateFactory({ logger: args.logger }), initialState: 'Body', debugFn: args.logger.debug.bind(args.logger), debug: true, logger: args.logger, }); return sm; } export function createStateFactory() { return new StateFactory({ logger: createLogger() }); } export function createNewDocument(sourcePath = 'default') { return newDocument({ sourcePath, logger: createLogger() }, getDefaultSettings()); } export function createNewReporter(sourcePath = 'default') { return newReporter({ sourcePath }, getDefaultSettings()); }