@odata2ts/odata2ts
Version:
Flexible generator to produce various TypeScript artefacts (from simple model interfaces to complete odata clients) from OData metadata files
50 lines (49 loc) • 1.31 kB
TypeScript
import { ManipulationSettings } from "ts-morph";
import { FileFormatter } from "./FileFormatter.js";
/**
* Abstract formatter.
*
* @export
* @abstract
* @class Formatter
*/
export declare abstract class BaseFormatter implements FileFormatter {
/**
* Path of the output file.
*
* @protected
* @type {string}
* @memberof Formatter
*/
protected output: string;
/**
* Initialized ts-morph manipulation settings for project creation.
*
* @protected
* @type {Partial<ManipulationSettings>}
* @memberof Formatter
*/
protected settings: Partial<ManipulationSettings>;
/**
* Default constructor
* @param {string} output Path of the output file
* @memberof Formatter
*/
constructor(output: string);
/**
* Initializes the formatter.
*
* @abstract
* @returns {Promise<BaseFormatter>} Initialized formatter
* @memberof Formatter
*/
abstract init(): Promise<BaseFormatter>;
/**
* Returns initialized ts-morph manipuation settings.
*
* @returns {Promise<Partial<ManipulationSettings>>} ts-morph manipulation settings
* @memberof Formatter
*/
getSettings(): Partial<ManipulationSettings>;
abstract format(source: string): Promise<string>;
}